Hi,
I'm excited to share that one of our clients in South Africa
is hiring for a Senior Python Engineer.
Below are the job details. If you're interested, please send your CV to apply.
Title: Senior Python Engineer
Location: South Africa
Duration: Permanent or 12 months contract
Job Type: fully remote
Your Position
A Senior Engineer delivers robust, testable, reusable, maintainable code to a high standard, whilst contributing to and maintaining the standards agreed across the Engineering Chapter. You would mainly embed within a cross-functional team and provide expertise needed for more junior members. You will coach them and use Extreme Programming techniques to help them do their work. You would be a member of the Engineering Chapter and would typically report to an Engineering Lead
Your Responsibilities
- Building and deployment of back-end services communicating over a range of interfaces
- Implementation of interfaces defined together with an Engineering Lead or Architect
- Estimation and delivery of working code on time and to agreed standards
- Code reviews for other team members
- Mentoring of more junior team members
- Maintaining code standards
- Writing tests (unit tests, BDD tests) and working with QA
- Maintaining CICD pipelines
- Writing of proofs of concept for new architecture, techniques, and technologies
- Taking part in specification workshops where we define functional and non-functional characteristics of our systems
The Ideal Candidate
- 5+ years of writing clean, well-designed, tested, and reusable code
- Using test driven approach to programming: TDD for unit tests and BDD for functional tests
- Use of web frameworks such as Flask, Django, node.js or Ruby on Rails
- Use of SCM i.e Git and platforms such as Github or Gitlab
- Understanding basic architectural patterns, when to apply them and their trade-offs
- Working with microservices communicating over a range of interfaces such as REST, gRPC and event/message based
- Playing a crucial role in every part of the software life-cycle: inception, specification, design, implementation with testing, delivery
The Ideal Skillset
- Write software using all our core languages (Python, ECMAscript, TypeScript)
- Implement interfaces based on OpenAPI
- Apply appropriate testing techniques
- Write asynchronous and parallel software
- Write scalable software
- Understand the concept of cloud based software environment and its trade offs
- Understand the ideas expressed using diagrams and schemas
- Effectively communicate with your peers
- Understand and maintain the Continuous Delivery pipelines
- Prototype solutions defined by Product and following agreed patterns
- Acknowledge and be able to explain the trade offs with any technical decision
- Support and teach junior members of the team
- Be passionate about improving coding and development practices
- Be proactive in highlighting debt/risks within our software and be part of the solution
- Python - expert level
- SQL / Database knowledge is essential, relational and non-relational solutions
- Understands how the web works and REST APIs
- pub/sub, GRPC, AMQP
- Docker - solid competency
- You have experienced monolithic big balls of mud. (So you know what not to do.)
- You have suffered an Us vs Them culture with QA. (So you know what not to do.)
It would be great to see:
- Passion for open-source software and contributing to the community
- Testing using Selenium
- Building and deploying Python projects, Gitlab
- Experience with GCP (Cloud Functions, AppEngine, GKE)
- Async and asyncio
- Experience within the Advertising / Media / Adtech space
- Working with the business sides of Adwords, DS3, DCM, Facebook, Twitter, Linkedin