Python Developer (Mid to Senior)
Build and maintain features in Python/Django for Ditto.Work, a recruitment operating system, including AI-driven candidate search, matching and automation over large datasets. Full-stack work with Python, Django, SQL and Vue.js in a small, hands-on Cape Town office team.
- Compensation
- Not disclosed
- Location
- Cape Town, South Africa
- Work setup
- Not specified
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 4+ years
- Category
- Software engineering
- Posted
Skills
Must have
- 4+ years of professional Python development experience
- Strong Django experience
- Solid understanding of software design principles and patterns
- Strong SQL and database design skills
- Front-end experience with HTML, CSS, JavaScript and Vue.js
- Experience working with Docker
- Comfortable working with Git and modern software development workflows
- Good understanding of security best practices
- Ability to work comfortably in an existing, evolving codebase
- Strong problem-solving skills and ability to work with ambiguity
Nice to have
- Hands-on experience using AI coding tools or building with LLMs
Full description
About Ditto
Ditto is a Cape Town-based recruitment technology company building software used by recruiters, hiring teams and job seekers across the world.
At the centre of what we do is Ditto.Work, our recruitment operating system. It gives recruitment teams one place to manage candidates, jobs, clients, communication, reporting, automation and the hundreds of moving parts that go into making a placement.
We've been building recruitment technology since 2016, and today Ditto processes millions of applications and sits behind the day-to-day hiring operations of recruitment agencies and companies across multiple markets.
AI is becoming a fundamental part of how we build our products. We're using it to rethink things like candidate search, matching and automation, particularly the enormous amount of valuable data sitting untouched inside recruitment databases.
We're not a huge corporate with six layers between an idea and something going live. We're a relatively small team building a fairly big product, which means the work you do here actually matters.
You'll see things you build go live, get used by real customers and, occasionally, get told very quickly when you've broken something.
How we build
We use the latest tools, especially in AI. AI coding assistants are part of how we work every day.
If you're curious about what these tools can do, and sceptical enough to know where they can't be trusted, you'll fit right in.
But tools don't solve problems. People do.
We're looking for engineers who enjoy hard problems: messy data, matching the right candidate to the right job at scale, improving large existing systems and making complex workflows feel simple to busy recruiters.
We're less interested in someone who wants to be handed perfectly written tickets all day, and more interested in someone who can understand a problem, ask the right questions and figure out how to solve it.
Our culture
Our office is fast-paced, informal and very hands-on. We work hard, move quickly, laugh a lot and generally don't take ourselves too seriously.
There's very little corporate theatre here. You won't find endless meetings, layers of approval or people hiding behind job titles.
If you have a good idea, say it. If something is broken, fix it. If you need help, ask.
We're ambitious and expect people to take ownership of their work, but the environment itself is relaxed. There's plenty of banter, strong personalities and the occasional bit of organised chaos.
It's probably not the right place for someone looking for a very structured, traditional corporate environment.