Firmware Engineer
Amaris Consulting
Date: 11 hours ago
City: Montreal, QC
Contract type: Full time
Who are we?
Amaris Consulting est une société indépendante de conseil et de technologies au service des entreprises. Avec plus de 1000 clients dans le monde, nous déployons des solutions pour les plus grands projets depuis plus d'une décennie - tout ceci est rendu possible par une équipe internationale de 7 600 talents répartis sur les 5 continents et dans plus de 60 pays. Nos solutions sont axées sur quatre domaines d'activité différents : Les systèmes d'information et le digital, la télécommunication, les sciences de la vie et l'ingénierie. Nous cherchons à créer et à développer une communauté de talents où tous les membres de notre équipe peuvent réaliser leur plein potentiel. Amaris est votre « stepping stone » pour traverser les rivières du changement, pour relever les défis et pour réaliser tous vos projets avec succès.
Chez Amaris, nous avons à cœur d'offrir à nos candidats la meilleure expérience de recrutement possible. Nous cherchons à mieux connaître et comprendre nos candidats, à les challenger et à leur faire part de nos impressions le plus rapidement possible. Voici à quoi ressemble notre processus de recrutement :
Premier contact : Notre processus commence généralement par une brève conversation virtuelle/téléphonique pour en savoir plus sur vous ! L'objectif ? Apprendre à vous connaître, comprendre vos motivations et veiller à ce que nous vous proposions le poste qui vous correspond le mieux !
Entretiens (en moyenne, le nombre d'entretiens est de 3 – il peut toutefois varier en fonction du niveau d'ancienneté requis pour le poste). Au cours des entretiens, vous rencontrerez les membres de notre équipe : votre futur manager bien sûr, mais aussi d'autres personnes avec lesquelles vous serez amené à travailler. Ces entretiens nous permettront d'en apprendre davantage sur vous, votre expérience et vos compétences, mais aussi sur le poste et ce que l'on attendra de vous. Bien entendu, vous apprendrez également à connaître Amaris : notre culture, notre histoire, nos équipes et vos opportunités de carrière !
Étude de cas: En fonction du poste, vous serez peut-être appelé à passer un test. Il pourra s'agir d'un jeu de rôle, d'une évaluation technique, d'un scénario de résolution de problème, etc.
Comme vous le savez, chaque personne est différente et il en va de même pour chaque rôle dans une entreprise. C'est pourquoi nous devons nous adapter en conséquence, si bien que le processus peut parfois être quelque peu différent pour chacun. Cela dit, nous nous mettons toujours à la place du candidat pour lui offrir la meilleure expérience possible. Nous avons hâte de vous rencontrer !
Job Description
Lieu :
Saint-Laurent, QC (Hybride – 3 jours sur site préférés)
Niveau d’expérience :
Intermédiaire (4 à 6 ans)
Description de la mission :
En tant qu’Ingénieur Logiciel Embarqué Intermédiaire, vous serez responsable de la conception, du développement et de la maintenance du micrologiciel pour des produits de contrôle industriel. Vous participerez à toutes les étapes du cycle de développement logiciel (SDLC) et collaborerez étroitement avec des équipes multidisciplinaires afin d’assurer la fiabilité, la performance et la qualité des produits livrés.
Responsabilités principales :
English
Location:
Saint-Laurent, QC (Hybrid – 3 days on site preferred)
Level of Experience:
Intermediate (4 to 6 years)
Mission Description:
As an Intermediate Embedded Firmware Engineer, you will be responsible for designing, developing, and maintaining firmware for industrial control products. You will contribute to all stages of the software development lifecycle (SDLC) and collaborate closely with multidisciplinary teams to ensure product reliability, performance, and manufacturability.
Core Responsibilities:
Amaris Consulting est une société indépendante de conseil et de technologies au service des entreprises. Avec plus de 1000 clients dans le monde, nous déployons des solutions pour les plus grands projets depuis plus d'une décennie - tout ceci est rendu possible par une équipe internationale de 7 600 talents répartis sur les 5 continents et dans plus de 60 pays. Nos solutions sont axées sur quatre domaines d'activité différents : Les systèmes d'information et le digital, la télécommunication, les sciences de la vie et l'ingénierie. Nous cherchons à créer et à développer une communauté de talents où tous les membres de notre équipe peuvent réaliser leur plein potentiel. Amaris est votre « stepping stone » pour traverser les rivières du changement, pour relever les défis et pour réaliser tous vos projets avec succès.
Chez Amaris, nous avons à cœur d'offrir à nos candidats la meilleure expérience de recrutement possible. Nous cherchons à mieux connaître et comprendre nos candidats, à les challenger et à leur faire part de nos impressions le plus rapidement possible. Voici à quoi ressemble notre processus de recrutement :
Premier contact : Notre processus commence généralement par une brève conversation virtuelle/téléphonique pour en savoir plus sur vous ! L'objectif ? Apprendre à vous connaître, comprendre vos motivations et veiller à ce que nous vous proposions le poste qui vous correspond le mieux !
Entretiens (en moyenne, le nombre d'entretiens est de 3 – il peut toutefois varier en fonction du niveau d'ancienneté requis pour le poste). Au cours des entretiens, vous rencontrerez les membres de notre équipe : votre futur manager bien sûr, mais aussi d'autres personnes avec lesquelles vous serez amené à travailler. Ces entretiens nous permettront d'en apprendre davantage sur vous, votre expérience et vos compétences, mais aussi sur le poste et ce que l'on attendra de vous. Bien entendu, vous apprendrez également à connaître Amaris : notre culture, notre histoire, nos équipes et vos opportunités de carrière !
Étude de cas: En fonction du poste, vous serez peut-être appelé à passer un test. Il pourra s'agir d'un jeu de rôle, d'une évaluation technique, d'un scénario de résolution de problème, etc.
Comme vous le savez, chaque personne est différente et il en va de même pour chaque rôle dans une entreprise. C'est pourquoi nous devons nous adapter en conséquence, si bien que le processus peut parfois être quelque peu différent pour chacun. Cela dit, nous nous mettons toujours à la place du candidat pour lui offrir la meilleure expérience possible. Nous avons hâte de vous rencontrer !
Job Description
Lieu :
Saint-Laurent, QC (Hybride – 3 jours sur site préférés)
Niveau d’expérience :
Intermédiaire (4 à 6 ans)
Description de la mission :
En tant qu’Ingénieur Logiciel Embarqué Intermédiaire, vous serez responsable de la conception, du développement et de la maintenance du micrologiciel pour des produits de contrôle industriel. Vous participerez à toutes les étapes du cycle de développement logiciel (SDLC) et collaborerez étroitement avec des équipes multidisciplinaires afin d’assurer la fiabilité, la performance et la qualité des produits livrés.
Responsabilités principales :
- Concevoir, développer et tester le firmware embarqué pour des systèmes de contrôle industriel.
- Maintenir et améliorer le firmware existant, incluant le code hérité (legacy).
- Exécuter l’ensemble du cycle de vie du développement logiciel, de la conception à la mise en production.
- Collaborer avec les équipes électronique, mécanique et systèmes pour assurer une intégration harmonieuse.
- Rédiger une documentation technique claire et structurée pour les parties prenantes internes et externes.
- Élaborer des plans de tests pour valider les preuves de concept, la faisabilité technique, le coût et le calendrier.
- Effectuer le dépannage, le débogage et les mises à niveau lors des phases de prototypes et de préproduction afin d’assurer une transition fluide vers la fabrication.
- Se tenir à jour sur les technologies, outils et meilleures pratiques du domaine de l’embarqué.
- Documenter les innovations et contribuer aux brevets ou divulgations d’inventions.
- Baccalauréat en génie, informatique ou domaine connexe.
- Minimum de 5 ans d’expérience en développement de logiciels/micrologiciels embarqués (C/C++).
- Maîtrise des outils de diagnostic tels que JTAG, analyseurs logiques, oscilloscopes et de la gestion de versions (Git).
- Solide compréhension des architectures modulaires et des API embarquées.
- Capacité à comprendre, valider et maintenir le code développé par d’autres ingénieurs.
- Bonne connaissance des RTOS et des microcontrôleurs.
- Excellentes compétences en communication et en travail d’équipe.
- Autonomie, rigueur et esprit d’analyse développés.
- Mode de travail : Hybride – 3 jours sur site à Saint-Laurent, QC préférés.
- Langues : Anglais courant; le français est un atout important.
- Expérience démontrée dans des produits industriels livrés (respect des contraintes de temps, coûts et qualité).
- Connaissance des schémas électroniques, du bring-up matériel et de l’intégration matériel/logiciel.
- Familiarité avec les environnements de test (bancs HIL, tests automatisés, couverture de code).
- Exemples de codes sources, documents de conception, ou brevets sont considérés comme des atouts.
- Une communauté internationale réunissant plus de 110 nationalités différentes
- Un environnement où la confiance est primordiale : 70 % de nos leaders ont commencé leur carrière au premier niveau de responsabilité
- Un système de formation solide avec notre Académie interne et plus de 250 modules disponibles
- Un environnement de travail dynamique qui se retrouve fréquemment lors d'événements internes (afterworks, team buildings, etc.)
Location:
Saint-Laurent, QC (Hybrid – 3 days on site preferred)
Level of Experience:
Intermediate (4 to 6 years)
Mission Description:
As an Intermediate Embedded Firmware Engineer, you will be responsible for designing, developing, and maintaining firmware for industrial control products. You will contribute to all stages of the software development lifecycle (SDLC) and collaborate closely with multidisciplinary teams to ensure product reliability, performance, and manufacturability.
Core Responsibilities:
- Design, develop, and test embedded firmware for industrial control systems.
- Maintain and enhance existing firmware, including legacy systems.
- Execute the full SDLC, from requirements to release, ensuring alignment with project goals.
- Collaborate with electronics, mechanical, and systems engineering teams to ensure seamless integration.
- Produce clear and concise design and technical documentation for internal and external stakeholders.
- Develop test plans to validate design feasibility, performance, and cost/schedule constraints.
- Troubleshoot, debug, and upgrade systems during prototype and pilot phases to ensure smooth manufacturing transfer.
- Stay current with embedded technologies, tools, and industry best practices.
- Document innovations and support intellectual property filings when applicable.
- Bachelor’s degree in Engineering, Computer Science, or a related field.
- 5+ years of experience as an Embedded Software/Firmware Engineer (C/C++).
- Proficient with JTAG, logic analyzers, oscilloscopes, and version control systems (Git).
- Strong understanding of modular architectures and embedded APIs.
- Ability to analyze, validate, and maintain code developed by others.
- Knowledge of RTOS and hands-on experience with microcontrollers.
- Excellent communication and interpersonal skills.
- Team-oriented mindset with the ability to work independently when required.
- Work Arrangement: Hybrid (3 days on site preferred – Saint-Laurent, QC).
- Languages: English (fluent); French is a strong asset.
- Experience contributing to shipped products within timing, cost, and quality constraints.
- Exposure to hardware bring-up, schematic review, and hardware/software interfacing.
- Familiarity with testing environments (HIL benches, automated tests, code coverage).
- Examples of code samples, design documents, or published patents are considered valuable assets.
- An international community bringing together more than 110 different nationalities
- An environment where trust is central: 70% of our leaders started their careers at the entry level
- A strong training system with our internal Academy and more than 250 modules available
- A dynamic work environment that frequently comes together for internal events (afterworks, team buildings, etc.)
How to apply
To apply for this job you need to authorize on our website. If you don't have an account yet, please register.
Post a resume