Reporting to the Application Development Manager, the Technical Lead guides a team of Software Developers dedicated to developing applications from initial inception of ideas to roll-out, ensuring they meet quality targets and are delivered on time. The Technical Lead will provide technical expertise and act as a technical liaison consulting with upstream and downstream stakeholders on priorities and requirements. The ideal candidate will be involved in building a platform that is currently used by millions of end users around the world.
RESPONSIBILITIES
- Lead and inspire a team of world class Software Developers
- Provide technical leadership to teammates through coaching and mentorship on a regular basis
- Collaborate with team members to develop high-volume low-latency applications while delivering high-availability and performance
- Build, optimize, and scale the SOA platform and infrastructure
- Evangelize best software development practices (OOD, TDD, Continuous Integration, Continuous Delivery)
- Perform code reviews and design reviews to ensure compliance with development standards
- Collaborate with engineers across the organization to identify patterns of problems and implement solutions that can be shared across clients
- Draft and review architectural diagrams, interface specifications, class structures, and other design documents
- Maintain high standards of software quality within the team by establishing best practices and habits
- Partner with the Human Resources team to attract and retain high quality and diverse talent to scale the Company’s development team(s)
Qualifications
REQUIREMENTS
- Bachelor’s degree in Computer Science, Engineering, or a related field, Master’s degree an asset
- A minimum of 8 years experience in software and Web development
- A minimum of 3 years professional front-end and back-end development experience
- A minimum of 3 years leading, coaching and training a team of software developers
TECHNOLOGY
- Experience with SQL, relational databases, multi-tiered software development, and Web-based software development is a must
- Advanced understanding of design, implementation and operation of distributed Web-based services and APIs
- Expert-level knowledge of JavaScript
- Experience designing and consuming REST APIs
- Software development experience in one of the following languages: JavaScript, Node.js (Typescript), Python, Angular.Js, React.Js and/or Vue.Js
-
Strong knowledge and experience in design patterns (such as SOLID Principals) and architecture
Expertise in a microservices architecture - Understanding of the full Web technology stack (HTML, CSS, HTTP, cookies, headers, sessions asset loading/caching, etc.) and a broad knowledge of the JavaScript ecosystem
- Experience testing code using one of the following: Mocha, Karma, Chai and Sinon, Jasmine
- Experience with implementing software in a variety of operating environments (UNIX, Linux and Windows)
- Experience with AWS, Docker and Kubernetes
- Experience with PHP, an asset
- Experience with Shell Scripting Python/Bash, an asset
SKILLS
- Strong experience in training and coaching more junior developers
- Strong leadership, time management, and problem solving skills
- Self-motivated with the ability to work under strict deadlines
- Team player with solid interpersonal skills
- Strong ability to present, synthesize and influence change
- Good business acumen
- Bilingual (spoken and written French and English)