Senior Python Developer
- Paarden Eiland Rd, Paarden Eiland, Cape Town, 7420, South Africa
Yoyo is on a mission to modernise the in-store buying experience for the masses. The scale of opportunity ahead of us is immense, with new market entry and international expansion firmly in our sights.
From day one, you’ll be rolling up your sleeves and working closely across teams. Our product comprises of iOS and Android apps that talk to a suite of APIs powered by our client platform. We use a service-oriented architecture to support real-time, high-volume transactions that consistently deliver sub-one-second response times at the point-of-sale.
You’ll be working with a backend stack to include, but is not limited to: Python, Django, Event messaging and RESTful APIs, Services Oriented Architecture, PostgreSQL, DynamoDB, RabbitMQ, Celery, Puppet, Fabric, Docker, CircleCI / Continuous Deployment via ChatOps, and is hosted on AWS.
Main duties and responsibilities:
- Supporting the design of our next-generation systems
- Writing Python code which is reusable, testable and efficient
- Collaborating with a cross-functional team of engineers and product managers to plan and estimate the team’s work in a Sprint-Kanban hybrid workflow
- Working in a fast-moving but stable environment in a continuous deployment workflow - testing and QA is very much a part of your role
- Contributing in planning sessions and retrospectives, including your own personal development time
- Mentoring junior developers
- Experience in a role such as Backend Platform Engineer, Platform Engineer, Software Engineer, Full Stack Developer, Full Stack Engineer, Software Development Engineer or similar
- Experience working with Python in an academic or professional setting
- Experience building and maintaining real-world products using continuous integration/deployment to enable engineers to deploy code and configuration from local environments through to production
- Experience building and maintaining APIs via RESTful web services
- A track-record of creating and maintaining automated tests to build high-quality software (unit, acceptance and UI tests)
- Experience with technologies and processes that we use - i.e. Django, PostgreSQL, DynamoDB, RabbitMQ, Nginx, Celery, Puppet, Fabric, Docker, AWS, TDD, GoCD, etc.
- Experience working in a startup
- Coaching and mentoring experience
- Previous exposure of mobile payment or mobile apps
- Be passionate: Spiral up, be positive, bring momentum, and energy to those around you
- Be an owner: Be accountable and take responsibility. Find solutions, learn from your mistakes and own tasks to completion
- Be world class at speed: Delivering world leading solutions at speed
- Be curious and creative: Constantly innovating, exploring, learning, stretching yourself, pushing the boundaries and thinking out of the box
- Be a team player: Leave ego at the door, be teachable, engaged, inclusive, and transparent. Bring the best of yourself and the best out of others, rallying behind a larger team mission