Lead and grow the engineering team for a machine-learning-based SaaS product, combining technical architecture guidance with people management. Oversee project delivery, hiring, and cross-team collaboration with Product and Data Science teams.
Software Engineering Team Lead
Location: [Prague, hybrid] / [South Africa, remote]
About the Role
We are looking for a Software Engineering Team Lead to lead and grow the engineering team behind our machine-learning-based SaaS product for the mining industry. This is a dual role combining technical leadership with people management. You will set the technical direction for how we design, build, and run the product, and you will directly manage, coach, and hire the software engineers on your team.
Responsibilities
Technical leadership & architecture
- Guide system design and architectural decisions for our cloud-based ML platform.
- Establish and maintain coding standards and engineering best practices; lead code reviews and own overall code quality.
- Evaluate and propose new technologies to improve productivity and product quality.
- Manage technical debt and guide refactoring efforts.
- Own the technical feasibility of product requirements.
Team leadership & people management
- Manage a team of backend and fullstack engineers, holding regular 1-1s and being their first point of support.
- Set individual goals, give continuous feedback, and run performance reviews.
- Coach team members and help them develop their careers, skills, and autonomy.
- Build a healthy, collaborative, and psychologically safe team culture, and own team engagement and retention.
Hiring & team building
- Own hiring for the software engineering team: define the roles needed together with the Head of Engineering, and interview candidates to assess technical and behavioral fit.
- Make hiring decisions in partnership with the Head of Engineering and recruitment.
- Onboard new team members.
Delivery & project oversight
- Plan and deliver engineering projects aligned with the product roadmap and business goals.
- Manage technical risks, estimates, dependencies, and stakeholder communication.
- Ensure reliable, predictable delivery, including ownership of customer escalations and production incidents.
Cross-team collaboration
- Work closely with the Product Lead to align the product roadmap with technical capabilities and opportunities.
- Cooperate closely with the Data Science team on ML model deployment, data pipelines, and integrating ML solutions into the product.
- Cooperate with the Platform team on infrastructure, CI/CD, and operational excellence.
- Facilitate communication between the engineering team and other departments.
Requirements
- 8+ years of software engineering experience, including 1+ years leading a team.
- Strong hands-on backend experience with Python and its ecosystem; solid understanding of SQL and relational databases.
- Experience designing and running production systems: architecture, testing, CI/CD, containerized applications (Docker, Kubernetes).
- Working knowledge of modern frontend development (React, TypeScript).
- Experience managing, hiring, and coaching engineers - 1-1s, feedback, performance, and career growth.
- Able to turn business problems into technical solutions and explain them clearly to non-technical colleagues.
- Strong communication and teamwork; comfortable in an agile environment.
- Proficiency in English (both written and spoken).
Nice to haves
- Experience with FastAPI, Airflow, Postgres/TimescaleDB, or Kafka.
- Experience with cloud platforms (Google Cloud, AWS, or Azure).
- Experience working alongside data science / ML teams and deploying ML models to production.
- Background in mining, process engineering, or another industrial domain.
- Bachelor's degree in Computer Science or a related field.