Job Description
As a Senior Software Engineer (Backend) you will liaises with the other backend and frontend engineers within your product stream, the QA team, the design team and your Tech Team Leads. As a senior member of the team, you will be responsible for advancing our development stack and ensuring scale as we grow to millions of monthly active users across many countries.
In This Role, You Will
- Hit the ground running - Gather up-to-date and in-depth understanding of the dubizzle code base and technologies stack within weeks;
- Lead planning sessions around new product features, deliver detailed roll-out/roll-back strategies for releases.
- Research and apply industry trends as part of your daily work;
- Create unit tests in accordance with our established standards to cover assigned work;
- Write and maintain exemplary code following dubizzle’s programming practices;
- Actively contribute in post-release maintenance issues;
- Develop elegant solutions for complex problems;
- Pioneer reliability and efficiency of our current code base, platforms and/or core systems;
- Impact on the direction and scope of dubizzle’s technical vision within your stream;
- Work in a mentoring capacity within a peer-programming environment and provide guidance on tasks, irrespective of complexity or scale;
- Code review all major pull requests, defining programming standards and providing constructive feedback.
- Design and delivery of multiple REST based APIs and previous exposure to Service Oriented Architecture;
- Capacity to push back requirements when incomplete;
- Handle the entire software development life cycle, end to end;
- Lead product planning meetings and architect solutions within your stream;
- Liaises with the other back end engineers within your product stream, the QA team, design team and your Tech Team Lead;
- Liaise with other tech teams to share innovations from your stream.
Requirements
- 4+ years of professional back-end software engineering experience; Python preferred;
- Experience with Cloud hosted infrastructure and Technologies; AWS preferred;
- Prior experience with Kubernetes & Docker will earn you brownie points;
- Experience working on high-traffic and large-scale web products is preferred;
- Experience with web infrastructure, SOA, distributed systems, performance analysis, search infrastructure;
- Been on at least one “death march” and know exactly why some things are to be avoided;
- Strong understanding of design patterns including asynchronous programming, queuing, logging, security and persistence;
- Mastery of different caching layers and strategies including memcached;
- Good understanding of build process management and continuous integration;
- Mastery of testing methodologies (unit tests, component tests, integration tests, etc.);
- Excellent communication & interpersonal skills; This is an absolute must, we have heated debates around complicated subjects and you will be expected to lead conversations around them.