Software Engineering Manager Opportunity

siyavula foundation company

Subscribe to our Telegram & Twitter Channel

Software Engineering Manager in SOUTH AFRICA

Remote 11 months ago

Title: Software Engineering Manager

Business Unit: Software Development

Line Manager: Chief Product Officer

Direct Reports: Software Development Team

Location: Remote

Start date: As soon as possible

Salary: Market and sector-related, based on experience (R85,000 - R95,000 pm)

Contract Term: As soon as possible - 31 December 2025

Top 3 Competencies required:

● Leadership and people management

● Software architecture, design and development

● Strategic Thinking (balancing business and technical objectives)

About Siyavula

Siyavula Foundation is an NPO in the EdTech space based in Johannesburg, South Africa. Our mission is to champion a love of mathematics and science by creating rich, integrated learning experiences for people everywhere through the use of science and technology.


Our values as a company speak to how we plan to accomplish this mission and the related goals: We want to make a difference that positively impacts millions of lives. For real success this must be done with the utmost integrity and will be extremely hard work, requiring us to be tenacious and entrepreneurial. We embrace this challenge with enthusiasm and openness, accepting our own agency in constantly learning and working in collaboration with all stakeholders, both internal and external.


As our core product; Siyavula Practice is an online Mathematics, Physics and Chemistry practice service for high school learners. The program provides learners with virtually unlimited questions that become progressively more difficult as correct answers are given. Because Siyavula’s practice adapts to the needs of the user by changing the difficulty and sequencing of questions, learners can progress at their own pace. They receive immediate feedback on questions completed, with step-by-step solutions, and errors and misconceptions are corrected in real-time. Siyavula Practice can be used on any internet-connected device.


About Software Development at Siyavula

Join our small, dynamic team of software engineers who collaborate closely with each other, and within the rest of the organisation. Siyavula embraces industry best practices and prioritises professional growth. You will be exposed to automated testing, peer reviews and a culture that promotes continuous learning. Our development process is agile, but is flexible in approach and constantly evolves as our product grows.


We promote a culture of egoless programming and support a pragmatic work ethic. We take a diagnostic approach to problem-solving to ensure solutions resolve core problems and minimise technical debt.


As an Engineering Manager, you will:

  • Lead and mentor the Development team.
  • Provide technical oversight.
  • Strategise and plan with other departments to achieve business objectives.
  • Develop, document and maintain technical processes to improve the efficiency and effectiveness of the Development team.


Our stack includes:

  • Python (Pyramid, Flask, SQLAlchemy, Jinja)
  • PostgreSQL and ClickHouse
  • Redis and Memcached
  • Docker for containerisation and Kubernetes for orchestration.
  • JavaScript and CSS (React, Node.JS, TailwindCSS and Ionic)
  • git (GitHub)


What we are looking for

We are looking for an experienced engineering manager with a strong technical background (at least 6 years as a senior software engineer) who is comfortable leading teams, guiding technical decisions and managing technical projects from conception to delivery. You have experience across the full development life-cycle, are confident in a Linux environment and understand the complexities of system architecture and design. Most importantly, you strongly identify with the following statements:

  • You are passionate about leading and mentoring software engineers to reach their full potential.
  • You can balance technical leadership with project management, ensuring the team is aligned and productive.
  • You are hands-on when needed but trust your team to take ownership of their work.
  • You value technical excellence but you’re pragmatic in your approach to building solutions.
  • You respect the core fundamentals of Computer Science (like design patterns), but you encourage innovative thinking to solve complex problems.
  • You foster a culture of continuous learning and improvement.
  • You are comfortable working in a 100% remote environment.


Key areas of responsibility

As a Software Engineering Manager, you will take ownership of the technical leadership and people management aspects of the team. While not all areas of responsibility will require hands-on technical work, your background and experience in software development will be crucial in guiding your team and ensuring successful project delivery. Your key areas of responsibility will include, but are not limited to:


  • Lead, mentor and develop a high-performing development team, fostering a culture of collaboration and continuous improvement.
  • Collaborate with the development team to design scalable and maintainable software solutions that align with business objectives.
  • Manage the full software development life-cycle, ensuring that projects are delivered on time, within scope and with high quality.
  • Oversee the development and adherence to coding standards, best practices, and processes (e.g. code reviews, testing, documentation).
  • Actively participate in recruiting, interviewing and onboarding new software engineers, ensuring the team maintains a high standard of talent.
  • Work closely with cross-functional teams (e.g. product, EdTech, commercial) to ensure alignment between technical solutions and business needs.
  • Stay up to date with emerging technologies and industry trends and implement improvements to enhance the team's productivity and the quality of solutions.
  • Oversee production systems, ensuring high availability and reliability. Coordinate with the development team to resolve technical issues, including after-hours support if necessary.
  • Foster the professional growth of the development team by identifying areas for upskilling and ensuring access to resources that support learning and development.
  • Liaise with external consultants and clients as a technical representative of the Siyavula Foundation.


If you're passionate about leading teams, solving complex technical challenges and building innovative software solutions, we encourage you to apply.


Minimum requirements
  • Proven experience leading and managing software development teams, including mentoring and coaching engineers.
  • At least 6 years of experience as a senior software engineer, with a solid technical background in development and system architecture.
  • Demonstrated experience in designing, deploying and maintaining scalable software solutions in production environments.
  • Strong problem-solving, analytical and communication skills, with the ability to collaborate effectively with both technical and non-technical stakeholders.
  • Experience working in Linux/Unix environments, with proficiency in monitoring and maintaining production servers.
  • Familiarity with containerisation and orchestration tools (e.g. Docker, Kubernetes), along with continuous integration and delivery practices (e.g. CircleCI).
  • Expertise in Python and experience with web frameworks (e.g. Pyramid, Django, Flask) is highly desirable.
  • Proven track record of working with relational databases (e.g. PostgreSQL) and optimising complex SQL queries.
  • Ability to manage multiple projects and priorities in a fast-paced environment while ensuring high-quality standards.
  • A bachelor's degree in Computer Science, Information Systems, Engineering, or a related field (or equivalent practical experience).


Apply now

Subscribe our newsletter

New Things Will Always Update Regularly