Job Summary:
We are seeking a skilled Embedded Linux Software Developer to join our engineering team. In this role, you will be responsible for designing, developing, and maintaining robust software for our Variable Frequency Drive (VFD). You will work across the entire stack, from hardware abstraction layers to application-level logic, ensuring high performance, reliability, and long-term maintainability.
Key Responsibilities
• System Integration: Design and maintain custom Linux distributions using Yocto Project/OpenEmbedded.
• Software Development: Write clean, maintainable, and efficient code in C and C++.
• Code Quality & Standards: Enforce high standards through static analysis, linting, and adherence to industry best practices.
• Build Systems: Manage complex builds using Make and CMake.
• Automation & Testing: Develop system-level tests and automation scripts using Python and Pytest to ensure 100% functional reliability.
• Infrastructure: Maintain and improve CI/CD pipelines, and use Docker to ensure consistent development environments.
• Collaboration: Use Git for version control and lead/participate in rigorous peer code reviews to ensure collective ownership of code quality.
Required Qualifications
• Education: Bachelor’s degree in Electrical Engineering, Computer Science, or a related technical field.
• Development Experience (3+ Years): Proven experience in automated test development within a high-power or industrial electronics environment.
• Embedded Linux Expertise: Proven experience with Yocto Linux, including creating layers, recipes, and configuring kernels.
• Programming Languages: Strong proficiency in C and C++.
• Quality Assurance: Experience implementing Unit Testing, Test-Driven Development (TDD), and using memory profiling tools (e.g., Valgrind, AddressSanitizer).
• Scripting: Solid experience with BASH and Python, specifically for testing frameworks like Pytest.
• Build Tools: Expert knowledge of Make and CMake.
• DevOps Workflow: Experience with CI/CD integration and containerization via Docker.
• Cross-Platform Proficiency: Comfortable working in both Linux and macOS development environments.
• Language: Fluent in both French and English (written and verbal).
Bonus Skills
• Microcontrollers: Experience with STM32 MCUs and development using the STM32 HAL (Hardware Abstraction Layer).
• Industrial Automation: Experience with industrial communication protocols such as MODBUS, BACnet, and EtherNet/IP.
• Hardware Interfacing: Hands-on experience working with VFDs (Variable Frequency Drives) and PLCs (Programmable Logic Controllers).
• Modern Languages: Familiarity with Go (Golang) for system tooling or backend services.
• Security: Understanding of secure coding practices and hardware-based security (e.g., TPM, Secure Boot).
Interview process
The hiring process for this position will consist of 3 interviews:
• 1st interview with HR representative - 20 minutes via Google Meet - General discussion, confirmation of interest
• 2nd interview with the department’s head - 30 minutes via Google Meet - General technical discussion
• 3rd interview with your future colleagues and supervisor - 1 hour on-site - In-depth technical discussion + tour of the office
You will be part of an experienced start-up team where:
• Your voice will be heard, and you will feel the impact of your work;
• You won’t lose time in endless meetings or presentations;
• You will work hard and have fun doing it.
Work Environment & Benefits
• Location: Hybrid model (60% office-lab / 40% home) in downtown Montreal.
• Benefits: 4 weeks PTO, disability/life insurance, extended health care, casual dress.
• Culture: A small, effective team where your voice is heard, without endless meetings.