We are looking for an experienced and proactive Backend Developer to join our Setapp Core team.
We expect our future colleague to have a strong technical background. Someone with an architectural background, an experience of interaction with the Ops team and who's not afraid to take responsibility. We are looking for someone, who understands when to use inversion of control, what stateful and stateless modules are, why pass-through in functions could be a marker of bad architecture, how the interface isolation helps to reduce the complexity of the system. If you know about these things and want to share your expertise with others, join our team :)
Setapp is a web+desktop service which lets the user get unlimited access to the library of applications right on their Mac. For a subscription fee, it gives you the opportunity to use all these quality apps you’ve always wanted to try out — without the need to buy and install each app individually.
Currently, we are expanding Setapp Core Team, that is responsible for 2 main directions. The first is a billing system for users, vendors and making payments. The second direction is the general backend infrastructure of Setapp.
You will join the team of 6 members — PO, 3 backend engineers of the similar stack and QA automation engineer and team coach.
All work in a team goes over the internal systems and libraries, so there isn't any frontend. At the same time, there are lots of communications and connections with the developers of other teams. There are also some tasks to recycle old parts of the code and improving existing functionality (for example: generating binary delta updates for applications).
- Setapp core development: backend services ecosystem support, billing, payments processing, shared tools, etc
- Create and assist in a new Setapp features development
- Optimize the platform to make it faster and more efficient
- Improve the existing product, communicate with operations engineers, technical support to resolve code issues
- Take an active part in the technical development of the product by proposing ideas and improvements (like building the system to defend our services from DDOS-attacks, the system for internal events processing)
- Strong knowledge of OOP, Design Patterns, understanding of SOLID principles and their usage
- At least 5 years of development experience with PHP
- Experience with one of RDBMS (PostgreSQL as a plus)
- Experience with Linux as an advanced user
- Experience with message queues (RabbitMQ)
- Be self-organized and detail-oriented
As a Plus
- Experience with Laravel 5, Doctrine ORM, Symfony
- Experience with Python and Tornado
- Experience with cloud computing (AWS), containers (Docker)