Are you a talented engineer with a passion for concurrency and distributed systems? You know that concurrency is hard, but getting it right is fun. Have you worked on a distributed system, failed and learned how not to do it? You know that cloud platforms fail constantly and it's your job to ensure that no user will notice this. You went through the pain of having not enough information to troubleshoot a distributed system and know how it should be done?
We are looking for a Senior Software Engineer with a broad experience on building systems at scale to join our team. You will be part of a platform that handles millions of requests per day. Continuous integration, auto-scaled rolling releases and cross-service communication are all part of the daily gig.If you think that is for you, write us.
Your responsibilities?
- Gather up-to-date and in-depth understanding of the dubizzle code bases and technology stack and actively contributing to SP product development within a month of joining;
- Gain a detailed understanding of the complete architecture of our products and services and the position of your product stream in it;
- Lead planning sessions around new product features and deliver detailed roll-out/roll-back strategies for releases;
- Develop elegant solutions for complex problems, especially in the area of distributed systems;
- Research and apply industry trends as part of your daily work;
- Write and maintain exemplary code following dubizzle’s programming practices;
- Actively advocate best practices on a companywide level and ensure the cleanup of suboptimal code;
- Create unit and feature tests of your own work and expand existing test for our existing codebase;
- Contribute to the reliability and efficiency of our current code base. Propose optimization and alternative solutions for Service Platform current platforms;
- Define the architecture of your product steam;
- Meet regularly with the Service Platform Team to shape the technical vision for the service platform of dubizzle;
- Actively contribute in post-release maintenance issues;
- Function as a mentor on the fundamentals of distributed systems, concurrency, resilient and scalable systems and other elements of the specialty;
- Code-review all major pull-requests, defining programming standards and providing constructive feedback.