About the Role
If you have excellent programming skills, a passion for developing/improving applications utilizing cutting edge technologies, and strong leadership skills, then we would like to meet you.
Reports to: Group Chief Executive Officer
Tech Lead Officer Responsibilities:
System Design
Database design – Identifying key entities, their responsibilities and relationships to develop and document well-structured databases.
Application architecture – Design and document the architecture of various software components and how they interact with each other.
Infrastructure – Assess capacity needs, identify red flags that may cause system degradation and scale the system accordingly. Develop a CI/CD pipeline (automated tests & deployments).
Establish Engineering Best Practices
Implement static code analysis tools, encourage code reviews and use of computer science fundamentals to ensure the code is of high quality, maintainable, reusable and performant.
Implement unit, integration & e-2-e tests to ensure key software components work as expected and meet the customer’s needs.
Create/maintain a playbook that documents engineering best practices, the product development process, various workflows, system architecture, engineering values and expectations.
Product Development
Capture requirements from the product managers, assess the scope of work, help in overall design direction and define implementation strategies and effort estimates.
Break down the requirements into actionable tasks that the engineering team will take up.
Assign tasks, keep track of progress, resolve blockers to facilitate continuous iterations of product features on time, spec and quality in agile development cycles.
Talent & Mentorship
Lead in the recruitment of top talent to support the business as it grows.
Provide feedback on work done and highlight areas to improve on.
Impart knowledge to the team through tech discussions and coaching sessions.
Delegate more complex problems to facilitate growth, creating a challenging and fulfilling work environment.
Software Development
Jump in and write code where necessary.
Budgeting
Technical Debt Management
Identify problematic applications, document and develop long-term solutions to fix them.
In every iteration (sprint) allocate time to debt-related tasks.
Responsibilities
Strong focus on Code Quality thorough conducting project code reviews on a frequent basis and integrating the needed optimizations and changes.
Own and shape our technical best practices & processes and improve/optimize them to ensure they are up to standards.
Ensure our best development practices are being followed by the dev team and take full responsibility for any findings or red flags.
Own the technical implementation of all technical work and ensure deliveries are on track, deadlines are met, and progress/bottlenecks are resolved in a timely manner.
Take the initiative to manage and resolve any bottlenecks or issues related to the projects & members they are managing autonomously.
Responsible for the end-to-end technical building and implementation of features and products within set timelines.
Assist substantially in designing, documenting, and sharing/discussing the project architecture with the team.
Prepare, review, and own the technical documentation of his/her projects
Mentor & Coach Junior team members and their project colleagues
Manage small teams of developers
Requirements
BS degree in Computer Engineering/Computer Science/Electrical Engineering Masters is a plus
Bonus qualities
Experience using AWS cloud and its resources/services
AWS certificates
Strong work experience in Relational Databases including PostgreSQL
Previous experience in automated testing tools including unit testing & UI testing
Strong knowledge in DevOps, CI/CD, Docker containers
Experience with Scrum/Agile Development methodologies
Experience managing multiple projects at the same time
Apply via :
www.linkedin.com