Position - Associate Tech Lead
An Associate Tech lead (ATL) is expected to provide the technical delivery leadership for a small team of engineers, in addition to the primary development coding role. They are required to review work of their team members and support the team's delivery to the highest level of standards and quality. They are encouraged to support the design of the area of work with the help of the Architects and Senior Tech Leads for more sophisticated matters. ATLs need to have competencies to play a line manager function for a smaller group, especially towards getting prepared to the Tech Lead transition. ATLs are expected to communicate closely with the internal collaborators mostly on the areas of responsibility. They should be prepared to play various SDLC roles including the scrum master role and even the architecture owner role of less complicated software components
- This is a transitioning role from an individual contributor to a Tech Lead. Therefore, whilst most of the responsibilities are still centered around the technical deliveries, certain aspects of the leadership focusing small teams is expected
- Ability to own coding responsibilities of a complicated component/s with the full appreciation of the functional and non-functional requirements
- Assure the quality of software being developed with adequate level of unit, component and end-to-end testing where applicable. A very good knowledge in working with static and dynamic code analysis tools and follow the recommendations. Mentoring juniors on quality aspects is expected
- Ability to perform accurate estimates on implementational changes on the responsible areas
- Guide the team to follow the SDLC practices and standards according to the company policies and guidelines
- Ability to play certain roles in the SDLC such as Scrum master or even Architecture owner in certain less complicated components
- Communicate clearly on the area that they are responsible for with internal collaborators
- Ability to configure and automate and maintain Continues Integration (CI) and Continuous Delivery (CD) pipelines with guidance to support software integration and deployment
- Handle individual project priorities, deadlines, and deliverables
- Bachelor’s degree in computer science/engineering or similar technical field
- Minimum of 5 years’ experience in software industry including hands on software development with java with at least 1 year experience in a lead role responsible for a scrum team.
- Significant knowledge and experience on java language constructs, data structures, concurrent programming, memory management and exceptional handling
- Experience in Linux base operating systems.
- Hands-on experience of a cloud platform, with a track record of building and deploying containerized solution in cloud with Kubernetes/docker or a related technology
- Experience in Mock frameworks such as Mokito, JMokit and Junit,TestNG or a similar unit test framework
- An analytical mind and the ability to learn both the business and technical aspects of financial markets
- Ability to maintain good working relationship with clients and team members
- Interest and skills in automation and DevOps tools
- Being exposed to modern IT trends and cloud technologies is an advantage
- Thorough understanding of the full SDLC and related tools
- Working proficiency and interpersonal skills in verbal and written English