Software Engineer
Summary
Full-stack software engineer in Centurion, South Africa who designs, builds, and supports large-scale applications and APIs, with an emphasis on frontend frameworks (React/Angular/Vue.js), Ruby-style backend work, and Docker/Kubernetes on Linux in Agile teams. Requires 4+ years' development experience and 2+ years of production support.
Key Responsibilities
- Design, develop, test, and maintain scalable software applications and APIs.
- Contribute to full-stack development with a strong emphasis on frontend technologies and user experience.
- Solve complex backend engineering challenges in large-scale environments.
- Collaborate with Product Owners and stakeholders to understand business requirements and deliver innovative solutions.
- Take ownership of features and systems from concept through to production support.
- Continuously identify opportunities to improve processes, systems, and customer experiences.
- Participate in Agile ceremonies and contribute to a culture of continuous improvement.
- Support applications in production and assist with escalated customer-related issues when required.
- Champion software quality through testing, code reviews, automation, and best development practices.
Required Skills & Experience
Software Development
- Minimum of 4+ years' experience in software development.
- Solid experience designing and developing backend software and APIs.
- Strong object-oriented programming skills.
- Experience working with modern frontend frameworks such as:
- React
- Angular
- Vue.js
- Experience programming in languages such as Ruby or similar object-oriented languages.
Infrastructure & Platforms
- Experience developing software in Linux/Unix environments.
- Experience working with containerization technologies such as:
- Docker
- Kubernetes
- Exposure to large-scale applications in a production environment.
- Minimum of 2 years supporting enterprise-scale applications operationally.
Agile & Collaboration
- Experience working in Agile software development environments.
- Understanding of:
- Continuous Integration (CI)
- Automated testing
- Refactoring
- Pair programming
- Team-based development practices
- Strong communication and collaboration skills.
- Ability to work independently while contributing effectively within a team.
Preferred Experience
The following would be advantageous:- Frontend development expertise with modern JavaScript frameworks.
- Container orchestration experience, including:
- Rancher
- Docker Swarm
- Kubernetes
- Similar orchestration platforms
- Database design, administration, and performance tuning experience, including:
- MySQL
- Redis
- Similar database technologies
- DevOps experience within Linux-based environments.
- Linux systems administration experience.
- Knowledge of software security principles and secure development practices.
- A proactive mindset for troubleshooting complex technical challenges.
Qualifications
- Bachelor's Degree in Computer Science or a related field is advantageous.
- Equivalent practical experience and a proven track record of delivering high-quality software solutions will be strongly considered.
Personal Attributes
We're looking for someone who:- Is passionate about software engineering and technology.
- Enjoys solving complex problems and building scalable systems.
- Has a strong sense of ownership and accountability.
- Thrives in an Agile, self-organising team environment.
- Is committed to continuous learning and professional growth.
- Shares ideas freely and embraces innovation.
- Values simplicity, efficiency, and well-designed systems.
Why Join Us?
- Work on large-scale, impactful technology solutions.
- Collaborate with highly skilled engineers in an Agile environment.
- Have the autonomy to innovate and take ownership of your work.
- Contribute to modern engineering practices and continuous improvement initiatives.
- Be part of a culture that values learning, collaboration, and technical excellence.
Apply now!