Lead Software Engineer
Key Responsibilities
- Lead the design, development and delivery of scalable and reliable software solutions.
- Provide technical leadership and guidance to software engineers across projects.
- Design system architecture, APIs, services and technical solutions for complex business requirements.
- Remain hands-on with coding, debugging, testing and technical problem-solving.
- Conduct code and design reviews to ensure high standards of quality, security, performance and maintainability.
- Establish and promote engineering best practices, coding standards and development processes.
- Mentor and coach engineers, supporting their technical development and knowledge sharing.
- Collaborate with Product Managers and other stakeholders to translate business requirements into effective technical solutions.
- Work closely with DevOps, QA, Data and Infrastructure teams throughout the software development lifecycle.
- Drive improvements in CI/CD, automated testing, monitoring and deployment processes.
- Identify technical risks, performance issues and technical debt, and recommend appropriate solutions.
- Troubleshoot complex production issues and support root-cause analysis and continuous improvement.
- Evaluate new technologies and recommend solutions that improve engineering efficiency and product capabilities.
- Contribute to the technical roadmap and long-term architecture of the platform.
Requirements
- Bachelor's degree in Computer Science, Software Engineering, Information Technology or a related field, or equivalent practical experience.
- 7+ years of professional software engineering experience, with demonstrated experience in a technical leadership or Lead Engineer role.
- Strong experience designing and developing scalable software systems.
- Strong knowledge of software architecture, system design, data structures and algorithms.
- Proficiency in at least one modern programming language such as Python, Java, Go, C++, TypeScript or similar.
- Experience with RESTful APIs, microservices and distributed systems.
- Strong understanding of databases, including SQL and/or NoSQL technologies.
- Experience with cloud platforms such as AWS, Azure or GCP.
- Familiarity with Docker, Kubernetes and CI/CD practices.
- Strong understanding of software testing, code quality and engineering best practices.
- Experience mentoring engineers and providing technical guidance.
- Strong communication and stakeholder management skills.
- Ability to work independently, solve complex problems and make sound technical decisions.
Nice to Have
- Experience building AI/ML-enabled products or platforms.
- Experience with LLMs, Generative AI or AI-assisted software development.
- Experience with event-driven architecture, Kafka or similar technologies.
- Experience working in a fast-paced technology or product company.
- Experience working with distributed or international engineering teams.
What Success Looks Like
- High-quality and scalable software is delivered consistently.
- Engineering standards and development practices are continuously improved.
- Engineers receive effective technical guidance and mentorship.
- Technical decisions are aligned with product and business objectives.
- Systems demonstrate strong reliability, security, performance and maintainability.
- Technical risks and issues are identified and addressed proactively.