About your Team
You will join our Wroclaw offices and be working on one of our biggest products that support one of the hugest airline providers. The team is from different locations so your day will include a lot of remote collaboration. The product’s stack is comprised of Ruby on Rails and Sinatra services on the backend and Angular application on the frontend. Everything runs under Docker on the development environment - few commands and everything is set up.
In a nutshell, the team loves working closely together and believes in true teamwork, collaboration, meaning that they are not afraid to dig their hands into unknown “territories” where ownership is a must. Their everyday schedule is full of great staff and they have lots of serious technical challenges to crack from scratch.
About your Role
As a Software Engineer, you will be responsible for developing a multi-solution project which requires backend development skills. The project requires a full end-to-end feature development, testing (unit and integration), and maintenance. In this product, we are putting on notice a broad understanding of data flows and strong analytical skills.
In more details:
- Software development of the whole platform with an emphasis on integrations with existing backend systems and external providers.
- Ability to build simple but extensible modules which are easy to monitor and debug.
- Write tools that automate work.
- Help to identify, implement and improve system architecture with input into design and functionality.
- A flexible approach, passion for usability, and performance with attention to detail.
- Collaborating heavily and remotely with other team members
Who we're looking for?
What you need to have:
- 3+ years of professional Ruby/Ruby on Rails experience
- Working with multiple integrations (e.g. mobile clients, data aggregators, etc.) - both SOAP & REST
- Solid understanding of JSON and XML
- Experience with MongoDB
- Hands-on experience with git (we use GitLab)
- Design patterns knowledge - you should know when and how to use them but also when not to in order to achieve a simpler design
- Knowledge and willingness for source code refactoring and introducing improvements
- Ability to spot potential problems before code is deployed, with a focus on long-living applications that are constantly under heavy load
- Ambitious, hardworking, and enthusiastic attitude
- Good communication and organizational skills
- Be fluent in English (spoken and written)
What is nice to have:
- Knowledge of Sinatra/Padrino would be an asset
- Experience in processing a large amount of data
- Knowledge with Docker (e.g. dockerizing the application)
- Knowledge about microservices
- Healthcare package