Position Title: Lead Software Engineer
Location: Lusaka, Zambia
Reports to: Tools & Tech Lead
Direct Reports: None
Position Overview
The Lead Software Engineer will be responsible for overseeing the delivery of high-quality software solutions. This role involves a mix of technical expertise, leadership, and project management to ensure the successful execution of software development projects. The ideal candidate will design scalable architectures, review code, mentor junior developers, and collaborate with stakeholders to align technical solutions with business objectives. Additionally, the Lead Software Engineer will play a key role in evaluating new technologies, optimizing performance, managing deployment processes, and promoting continuous improvement within the development team. This position requires strong problem-solving skills, a proactive approach to risk management, and the ability to foster innovation and excellence in software delivery.
Responsibilities:
• Technology Evaluation: Continuously evaluate and integrate new technologies and tools to improve development efficiency and product performance.
• Project Ownership: Plan, execute, and monitor project milestone deliverables
• Risk Management: Identify potential risks and develop mitigation strategies
• Stakeholder Collaboration: Work closely with stakeholders to gather requirements, define project scope, and ensure alignment with business goals.
• Performance Optimization: Oversee the optimization of software systems for performance, scalability, and maintainability.
• Cross-Functional Collaboration: Collaborate with the technical project manager, designers, and other departments to ensure a cohesive product development process.
• Deployment and Release Management: Lead the deployment and release management process, ensuring smooth transitions from development to production.
• Code Reviews: Conduct thorough code reviews to ensure code quality and adherence to best practices.
• DevOps Integration: Work with DevOps teams to integrate CI/CD pipelines, ensuring efficient and automated software delivery.
• Quality Assurance: Collaborate with QA teams to ensure robust testing and validation of software before release.
• Documentation: Ensure comprehensive and clear technical documentation for internal and external use.
• Client Interaction: Occasionally engage with clients or end-users to gather feedback and refine product features.
• Budget and Resource Management: Manage project resources and allocate resources effectively to meet project deadlines and objectives.
• Compliance and Security: Ensure that the software development process adheres to industry standards and complies with relevant security regulations and best practices
• Technical Strategy: Develop and implement technical strategies to improve development processes and product quality.
• Solution Design: Design and architect scalable and robust software solutions
Requirements:
- Bachelor's degree in Computer Science or related field
- 5+ years of software development experience
- Proficiency in multiple prominent programming languages
- In-depth knowledge of software architecture and design patterns
- Strong leadership and communication skills
- Experience with agile methodologies
- Proven track record of successful project delivery