Senior Software Engineer Job at Impact
Job Location : Cape Town, Western Cape, South Africa
Application Deadline : February 09, 2026
- This is a high-impact role. The systems you design and build will directly power our revenue growth, unlock new business models, and shape the backbone of how we operate.
- This is not a “business as usual” engineering role. We’re delivering functionality that changes the core of the business, while replacing a legacy monolith with a modern modular monolith – or individual services where it makes sense. While doing this, we strive towards applying best-of-breed technologies and leading-edge methodologies.
- We’re looking for someone who wants to challenge the status quo. Someone who has a strong interest in the latest technologies and engineering practices, and thrives in an environment where curiosity, experimentation, and continuous improvement are part of daily life.
What You’ll Do:
- Take ownership of large, complex problems and design simple, elegant solutions.
- Work with stakeholders across product management, sales, and operations to deeply understand business needs — then deliver technology that meets them.
- Shape our architectural journey: from legacy monolith to modular monolith and event-driven systems, always with pragmatism and best practice.
- Champion domain-driven design (strategic & tactical), hexagonal architecture, test-driven development, and clean code.
- Mentor and guide less experienced engineers, helping the team level up.
- Continuously improve how we work, experimenting with new ideas and raising the bar.
What You Bring:
- BSc in Computer Science or equivalent experience.
- 7+ years’ experience in software development
- Deep foundations in computer science and software engineering (algorithms and data structures, distributed computing, large system design, agile approaches etc.).
- Strong grasp of domain-driven design (strategic & tactical).
- Experience with hexagonal / ports-and-adapters architecture.
- Solid experience with object-oriented and functional programming.
- Passion for simple, clean and readable code.
- Understanding of, and appreciation for, test-driven development.
- Experience designing or working with event-driven architectures.
- A solid understanding of agile and iterative development approaches.
- Grasp of team organisation and dynamics (Conway’s Law, Team Topologies etc.).
- Excellent analytical and communication skills, with the ability to explain complex systems clearly.
- A natural mentor who enjoys helping others grow.
- A true team player — you enjoy close collaboration, value collective code ownership, and believe the best solutions come from working openly with colleagues across disciplines.
- Above all: someone who actively seeks out better ways of building, delivering, and operating software, and isn’t satisfied with “the way things have always been done.”
Our stack:
- Backend: Java / Spring
- Persistence: MySQL
- Frontend: Vue.js (though deep frontend expertise is not required)
- Architecture: Modular Monolith (evolving from legacy monolith), Hexagonal Architecture, Domain-Driven Design, Event-Driven Systems
How to Apply for this job
Interested and Qualified candidates should Click here to Apply Now
Disclaimer: MRjobs.co.za is not an employer and does not directly offer jobs. We share available opportunities from verified sources to help job seekers. Please do your due diligence before applying. We are not responsible for any transactions, interviews, or outcomes from third-party employers.