Développeur de logiciels embarqués / Embedded Software Developer

À propos de EERS

EERS développe du matériel et des logiciels permettant la gestion du bruit, la protection auditive, la clarté audio et l'intelligibilité de la voix grâce à des appareils confortables et sécuritaires. Nous sommes experts dans le traitement de signal en temps réel et créons des applications pour l’audition augmentée dans des cas d’utilisation industrielle, médicale et grand public.

Nos compétences biomécaniques nous permettent de cartographier et d'adresser la complexité du conduit auditif humain afin de créer de nouveaux écouteurs confortables, utilisables et manufacturables, qui sont acoustiquement efficaces.

L'équipe de EERS est composée d'experts en audiologie, acoustique, logiciels embarqués, conception matérielle, biomécanique, conception industrielle et assembleurs de prototypes capables de travailler avec des facteurs de forme très petits.

Notre siège social est situé au coeur du centre-ville de Montréal. Nous offrons des salaires compétitifs ainsi qu'un excellent environnement d'équipe avec un modèle de travail hybride. EERS Global souscrit au principe de l'égalité d'accès à l'emploi et favorise la diversité.

Description de l'emploi

Sous la responsabilité du chef d'équipe logiciel, le développeur de logiciels embarqués participera au développement de l'infrastructure logicielle EERS, utilisée dans nos produits tels que EERS MRI Audio Suite,
qui permettra une communication multimode claire dans les environnements IRM bruyants tout en protégeant la santé auditive des médecins et des patients.

Au sein d'une équipe pluridisciplinaire, le candidat devra accomplir une grande variété de tâches : des analyses architecturales de haut niveau (programmation orientée objet) au développement de bas niveau (programmation en C et assembleur sur diverses architectures embarquées), en passant par les tests et le débogage pour une plate-forme embarquée personnalisée. 

Tâches et responsabilités

  • Extraire des spécifications de conception à partir des exigences d'un produit.
  • Mettre en oeuvre des tests de prototypage et de validation de haut niveau.
  • Mettre en oeuvre une solution validée sur un logiciel embarqué fonctionnant sur des produits à base de microcontrôleurs ou des modules SBC.
  • Assurer la haute performance des logiciels en s'appuyant sur une solide compréhension de la conception du matériel embarqué (architectures de mémoire, optimisation des bus, ... ).
  • Analyser et fournir des commentaires sur les conceptions des pairs en suivant les normes de compaby Source.
  • Documenter et entretenir les librairies et produits existants.
  • Collaborer avec des partenaires universitaires pour mettre en oeuvre et optimiser de nouveaux algorithmes DSP audio.
  • Interagir avec un environnement CI/CD automatisé.
  • Rédiger et améliorer la documentation interne pour en garantir l'exactitude.
  • Examiner la documentation destinée à l'usage du client.
  • Assurer un suivi précis à l'aide des outils de l'entreprise, tout au long du processus de développement, conformément aux normes et/ou réglementations de l'entreprise et du gouvernement

Qualifications
Exigences minimales
Formation et expérience : 

  • Diplôme en génie électrique ou dans une autre discipline pertinente, ou combinaison équivalente de formation et d'expérience.
  • 3 ans d'expérience professionnelle pertinente dans la programmation de logiciels embarqués ou de bas niveau.

Connaissances, compétences et aptitudes : 

  • Connaissance approfondie du langage C, y compris des outils utilisés pour éditer, compiler et déboguer le code dans un environnement embarqué.
  • Maîtrise du langage Python comme outil de script.
  • Connaissance intermédiaire du langage Python dans des projets orientés objet.
  • Expérience du traitement des signaux en temps réel et du matériel.
  • Développement basé sur Linux/BSD.
  • Développement de Linux/BSD sur des plates-formes embarquées.
  • Solides compétences en matière de rédaction et de documentation.
  • Solides compétences en matière de communication et capacité à travailler avec tous les niveaux de l'organisation en utilisant un cadre AGILE adéquat.
  • Capacité à travailler à la fois individuellement et en équipe.
  • Excellentes compétences en matière de gestion du temps et capacité à contribuer à plusieurs projets simultanés.
  • Maîtrise des outils de gestion des sources (Git), y compris le rebasage et la capacité à comprendre un schéma de fusion des branches. 

Préférable - Connaissances, compétences et aptitudes 

  • Connaissance générale des principes du traitement audio numérique.
  • Expérience des microcontrôleurs basés sur la technologie ARM, y compris la bibliothèque mathématique vectorielle.
  • Compétences en matière de débogage de circuits électroniques.
  • Connaissance de système d'exploitation en temps réel (freeRTOS).
  • Administration de Linux/BSD (éventuellement comme système d'exploitation quotidien pour le développement).
  • Développement d'une interface graphique de base.
  • Expérience du développement de logiciels dans le contexte des appareils connectés ou des technologies portables.
  • Expérience de l'interaction avec la pile de réseau IP. 


Si vous êtes méticuleux, que vous savez résoudre les problèmes et que vous avez l'esprit d'équipe, vous vous sentirez chez vous. Veuillez envoyer votre lettre de motivation et votre CV à jobs@eers.ca. 

===== Embedded Software Developer =====

About EERS 


Founded in 2014, EERS Global invents, designs and tests in-ear advanced technologies to accelerate go-tomarket of game-changing products. Our cutting-edge technology augments the human experience in communication in challenging situations, hearing protection, biometric and wellness monitoring, brain computer interfacing, and is repeatedly validated in the field and some of it having even become ANSI Standards.

Through co-development partnership, we bring a stream of new products to market. Beyond prototyping, we produce actual scalable, easily transferable, manufacturable product taking the development execution risk out of the equation.

A global center of excellence in research in acoustics, audio and biosignal processing, in-ear technologies and product development, we attract high-caliber scientists and engineers to our team. Our head office is located in the heart of downtown Montreal. We offer competitive salaries as well as a great team environment. Global is an equal-opportunity employer committed to diversity.

Job Description

Reporting to Software Team Lead, the Embedded Software Developer will participate in the development of the EERS software backbone, used in our products such as the EERS MRI Audio Suite which will allow clear multi-mode communication in noisy MRI environments while protecting physician and patient auditory health.

Part of a multidisciplinary team, the candidate will be expected to perform a wide variety of tasks: from highlevel architectural analyses (Object oriented programming) to low level development (C programming and assembly on various embedded architectures), testing and debugging for a custom embedded platform.

Duties and Responsibilities

  • Extract design specifications from a product requirements.
  • Implement high level prototyping and validation tests.
  • Implement validated solution on embedded software running on microcontroller-based products or SBC modules.
  • Ensure software high-performance by leveraging a strong understanding of embedded hardware design (Memory architectures, buses optimisation, ... ).
  • Analyze and provide feedback on peer designs following compaby Source Standards.
  • Document and maintain maintain existing libraries and products.
  • Collaborate with academic partners to implement and optimize new audio DSP algorithms.
  • Interact with an automated CI/CD environment.
  • Write and improve internal documentation for accuracy
  • Review documentation intended for customer use.
  • Maintain accurate tracking through the company tools, throughout the development process in accordance with company and government standards and/or regulations.

Qualifications
Minimum Requirements

Education & Experience:

  • Bachelor’s degree in Electrical Engineering or other relevant discipline, or equivalent combination of education and experience.
  • 3 years of relevant professional embedded or low-level software programming experience.

Knowledge, Skills & Abilities:

  • Extensive knowledge of the C language, including the tools used to edit, compile and debug code in an embedded environment.
  • Proficiency in Python language when used as a Scripting tool.
  • Intermediate knowledge in Python language when used in Object Oriented projects.
  • Experience with real-time signal processing and hardware.
  • Linux/BSD-based development.
  • Linux/BSD development on embedded platforms.
  • Strong writing and documentation skills.
  • Strong communication skills with the ability to work with all levels of the organization using an adequate AGILE framework.
  • Ability to work both individually and as part of a team.
  • Excellent time management skills with the ability to contribute to multiple concurrent projects.
  • Proficiency with source management tools (Git) including rebasing and ability to understand a branches merging scheme.

Preferred - Knowledge, Skills & Abilities

  • General knowledge of digital audio processing principles.
  • Experience with ARM based micro-controllers, including its vector math library.
  • Electronic circuit debugging skills.
  • Real time exploitation systems knowledge (freeRTOS).
  • Linux/BSD administration (Possibly usage as daily OS for development).
  • Basic GUI development.
  • Software development experience in the context of connected devices or wearable technologies.
  • Experience interacting using with IP network stack.


If you are meticulous, a problem solver, and a team player, you will feel right at home. Please send your cover letter and resume to jobs@eers.ca.

Enroll Logo