Lead Software Developer
Basis:
Permanent - Full Time
Area of Interest:
Product & Software Development
Locations:
Waterloo, ON / Oakville, ON
Identify key areas of architecture improvement and contribute to the team roadmap
Lead and participate in development of prototypes, minimum viable products and PoCs.
Take ownership of technical projects and contribute to their implementation and output
Collaborate with other development teams on design and implementation of features spanning multiple products.
Conduct comprehensive testing and code reviews to ensure that code quality is maximized and best-practices are followed.
Provide expert project-leadership and guidance to the team as a SME.
Contributes to defining strategic direction, planning the roadmap, and synthesizing feedback to ensure team success.
Cross team and service boundaries to solve problems.
Builds relationships with stakeholders including customers, product managers, cross-functional partners, and external partners.
Mentor other developers on the team and work with the team leads to set the direction of the team and guide key stakeholders on execution choices and trade-offs, and advise manager with insights and recommendations to improve the team.
Appropriately document system design and architecture such that it is easy to understand, maintain and extend.
Support Geotab global strategic initiatives.
Post-secondary Diploma/Degree with specialization in Computer Science, Software Engineering, or a related field, or equivalent working experience.
10+ years experience as a Software Developer using object-oriented programming to build scalable applications.
Experience with SQL Server and Postgres database design, optimization and writing queries.
Knowledge of multiple front-end languages and libraries (e.g. HTML/CSS, JavaScript, XML, ES6, jQuery) and JavaScript frameworks (e.g. Angular, React, Node.js, Vue.js) and experience with UI/UX design .
Expert knowledge with optimizing databases (e.g. MySQL).
Knowledge of multiple general-purpose programming languages (e.g. C#, Java, Python) .
Proficiency in Git, or some other distributed source control tool, and are comfortable with resolving merge conflicts and renaming branches, etc.
Success with mentorship and development of employees.
High accuracy and meticulous attention to detail.
Strong analytical skills with the ability to problem-solve to well-judged decisions.
Strong project management skills; able to identify needs, develop effective solutions and manage projects through to completion.
A strong team-player with the ability to engage with all levels of the organization.
Able to research and solve open-ended design problems.
Strong verbal and written communication skills, ability to communicate and document complex technical systems and decisions.