Development Lead

Algolux - Montréal, QC (30+ days ago)

Apply Now

As a key member of our development team, the Development Lead takes initiative in designing and implementing a wide variety of tools and systems needed to keep our operations running smoothly. The development lead advises on architecture, helps make technical decisions, and supports other developers with fixes, guidance, and mentorship. A keen sense of how to build reusable, robust software components in a rapidly-changing environment is a must for this role.

The development lead is expected to champion best practices in a multidisciplinary team. This includes being an advocate for the DevOps philosophy at every stage of the software development lifecycle, including elements such as unit testing, CI/CD, QA automation, infrastructure-as-code tools, and automated deployment. The development lead takes a major role in guiding the skills development of other members of the team, using events like code review or training sessions as opportunities to lead others towards better practices and cleaner code.

Responsibilities:
Design libraries and APIs for both internal and external consumption

Coordinate packaging and distribution of modular software components

Champion and enforce software best practices

Plan and coordinate releases (assigning and training release engineers as necessary)

Rapidly onboard and train new employees

Foster an environment of continuous learning and experimentation

Help facilitate the intake, storage, and tracking of massive amounts of data

Work with managers and product owners to prioritize tasks

Write maintainable, legible, documented code

Assume responsibility for the total quality of software releases

Requirements:
Minimum 5 years of professional software development experience

5+ years of Linux use, including significant experience with the command line

3+ years of experience in C++

Experience with multiple kinds of database systems (relational, document, etc.)

Advanced knowledge of Python, and ability to consistently deliver quality code

Expertise with version control systems (preferably git)

Comfort with using and configuring CI/CD systems (e.g., GitLab, Jenkins, Travis, etc.)

Good understanding of packaging, distribution, and deployment technologies

Proven track record of delivering reliable software solutions

Acquisitive nature and ability to rapidly self-educate and learn on the fly

Strong communication skills

Desirable

Knowledge of build systems like CMake

Experience with big data tools, and a solid understanding of how to deal with the challenges large datasets present

Comfort with basic system administration and hardware specification tasks

Hot sauce lover