We are seeking a Team Lead Software Engineer to join our team and deliver high-quality software solutions
while maintaining existing systems. The ideal candidate should aim to provide a best-in-class user experience and contribute to the design, implementation, testing, and maintenance of software applications. The candidate is expected to ensure the on-time delivery of high-quality software projects in accordance with established best practices. They should possess a strong commitment to continuous learning and remain current with the latest technological advancements. Additionally, they are encouraged to actively participate in the recruitment of developers and to continually enhance the recruitment processes. Essential Functions - All Lead the development team with an emphasis on delivery and maintaining team morale. Contribute to setting and upholding development standards and best practices, ensuring compliance among developers. Manage developers directly within their delivery team. Identify individual strengths and weaknesses, supporting skill development through personalised plans. Conduct regular one-on-one meetings, set objectives, and evaluate probation periods. Delegate development tasks to team members. Responsible for safeguarding the integrity of the software, ensuring effective management of technical debt through prevention and resolution whenever feasible. Take ownership of the product and your contributions to its development. Develop services and products that consistently provide high volume, low latency, high availability, robust performance, and security. Emphasise critical details and prioritise incremental releases. Support the design, implementation, and testing of new features. Engage actively in requirements refinement discussions. Review technical specifications and architecture diagrams created by the Architect or Principal. Support change management, capacity planning, and emergency response efforts as an expert in the runtime environment and business logic behaviour. Coach / Mentor junior developers to understand the architecture and technical specifications. Pair program on complex items, minimising risk and enhancing exchange of skills. Write code based on the company`s coding best practices and industry standards. Maintain comprehensive automated testing coverage. Generate unit tests as an integral component of the development process to enhance code quality. Conduct peer code reviews, including group open reviews. Assist in developing and maintaining your team`s CI/CD infrastructure. Participation and ownership were essential for deployment, overseeing the team`s product and alerting requirements, and implementation. Engagement in product support and bug resolution was also required. Active involvement in all agile ceremonies, including sprint refinement, planning, retrospectives, and daily stand-ups, was expected. Additionally, contributing ideas to facilitate the team`s progress was encouraged. Prepare comprehensive code documentation, including API details and data dictionaries. Suggest enhancements and propose innovative ideas and solutions. Communicate findings effectively to leadership. Backend Specific Essential Functions Design and build domain-driven APIs for both internal and external usage. Supports optimal API practices and encourages the adoption of innovative API platforms and technologies. Builds API-driven data flows. Identifies stream and event-driven architecture requirements and implements them where appropriate. Design and develop components utilising Golang and Java, in close collaboration with our backend platforms. Frontend Specific Essential Functions Design and build components in ReactJS, working closely with our frontend platforms.