Current Lighting is seeking an Sr Embedded Firmware Engineer to join our progressive and dynamic fast-paced enterprise and device controls automations team. These are exciting times - our industry and user expectations are changing and so are we! We are developing the next generation of world class Internet of Things (IoT) connected lighting building and roadway automation controls and applications. This is a hands-on development role that will directly contribute to the development and expansion of our cutting edge, cloud connected IoT applications and offerings with the latest hardware and software technologies and tools. This is onsite role located in one of our innovative technology design center in Cleveland, Ohio or Lachine, Montreal, Canada.
We are looking for a talented and creative problem solver. You will be involved in the complete firmware development life cycle, seeing your work evolve from epics and user stories into a finished product in a hybrid agile environment. This will require a high degree of collaboration between highly talented, cross-functional, and geographically dispersed development teams. You will work closely with industry-best product owners, hardware and software engineers, and other development team members to understand the business needs, propose and develop end-to-end solutions.
Duties and Responsibilities
- Develop high-performing and reliable firmware for embedded systems using microcontrollers, sensors and analog/digital interface circuits
- Assess and distill marketing requirements into producible and cost-effective products
- Collaborate with other firmware, software and hardware design team members to develop innovative products and applications
- Support new products through release to manufacturing
- Participate in the definition of system functional requirements
- Research, assess and adapt to new technologies necessary for future enhancements of products
- Protect intellectual property through patent disclosures and applications
Basic Qualifications
- Bachelor’s Degree from an accredited University
- 5 or more years of embedded firmware programming experience
- 5 or more years of hands-on knowledge of C programming for embedded systems including use of a variety of IDEs for development and debug
- 5 or more years in-depth experience with embedded microcontroller-based design including interfacing to analog and digital devices
- 5 or more years of experience working with real-time systems, managing interrupts, threads, scheduling, semaphores, and state machines with and without an RTOS
- 5 or more years of hands-on knowledge of various standard communication protocols and topologies, including Ethernet, I2C, RS232, RS485, SPI
- 2 or more years of hands-on knowledge of one or more wireless (2.4GHZ, sub-GHz, 4G/5G LTE) technologies and mesh communication protocols (Zigbee, Thread, Bluetooth, Wi-SUN, etc.)
- 2 or more years of hands-on knowledge of one or more messaging protocols (MQTT, CoAP, LwM2M, 6LoWPAN, etc.)
Preferred Qualifications
- Bachelor of Science in Computer Engineering or Electrical Engineering, or closely related discipline
- Sound understanding of Agile development processes
- Experience using source control systems (e.g. Git)
- Knowledge of security vulnerability mitigation for embedded devices
- Experience creating test harnesses using Python or scripting languages
- Experience working with geographically dispersed teams
Position Criteria
- Expert knowledge of best-practice firmware engineering methodologies, processes and technologies, with a passion for programming
- Expert ability to apply analytical and problem-solving skills to conquer complex design and coding challenges
- Excellent verbal and written communication skills
- Ability to implement institutional change through persuasion and collaboration
- Ability to work independently and to follow directions
Ingénieur principal en micrologiciel embarqué
Current Lighting recherche un ingénieur principal en micrologiciel embarqué pour se joindre à son équipe progressive, dynamique et évoluant dans un environnement à rythme rapide, spécialisée dans l’automatisation des contrôles d’entreprise et des appareils. Nous vivons une période stimulante : notre industrie et les attentes des utilisateurs évoluent, tout comme nous!
Nous développons la prochaine génération de solutions et d’applications de contrôle pour l’automatisation des bâtiments et des infrastructures routières d’éclairage connectées à l’Internet des objets (IdO), de calibre mondial. Il s’agit d’un poste de développement pratique qui contribuera directement au développement et à l’expansion de nos applications et offres IdO de pointe connectées au nuage, à l’aide des plus récentes technologies et outils matériels et logiciels.
Ce poste est offert en mode présentiel dans l’un de nos centres innovants de conception technologique, à Cleveland, en Ohio, ou à Lachine, à Montréal, au Canada.
Nous recherchons une personne talentueuse, créative et orientée vers la résolution de problèmes. Vous participerez à l’ensemble du cycle de développement du micrologiciel, en voyant votre travail évoluer des épopées et récits utilisateurs jusqu’au produit final, dans un environnement Agile hybride. Ce rôle exigera un haut niveau de collaboration avec des équipes de développement hautement qualifiées, multidisciplinaires et réparties géographiquement. Vous travaillerez étroitement avec des responsables de produits de premier plan, des ingénieurs en matériel et en logiciel, ainsi que d’autres membres de l’équipe de développement, afin de comprendre les besoins de l’entreprise, de proposer et de développer des solutions de bout en bout.
Responsabilités
- Développer des micrologiciels performants et fiables pour des systèmes embarqués utilisant des microcontrôleurs, des capteurs et des circuits d’interface analogiques et numériques.
- Analyser et traduire les exigences du marketing en produits réalisables et rentables.
- Collaborer avec les membres des équipes de conception de micrologiciels, de logiciels et de matériel afin de développer des produits et applications innovants.
- Soutenir les nouveaux produits jusqu’à leur mise en production.
- Participer à la définition des exigences fonctionnelles du système.
- Effectuer des recherches, évaluer et adopter de nouvelles technologies nécessaires aux améliorations futures des produits.
- Protéger la propriété intellectuelle au moyen de divulgations d’invention et de demandes de brevet.
Qualifications de base
- Baccalauréat obtenu dans une université accréditée.
- Cinq ans ou plus d’expérience en programmation de micrologiciels embarqués.
- Cinq ans ou plus d’expérience pratique en programmation C pour systèmes embarqués, y compris l’utilisation de divers environnements de développement intégrés (IDE) pour le développement et le débogage.
- Cinq ans ou plus d’expérience approfondie en conception de systèmes embarqués à base de microcontrôleurs, y compris l’interfaçage avec des dispositifs analogiques et numériques.
- Cinq ans ou plus d’expérience avec les systèmes temps réel, la gestion des interruptions, des fils d’exécution, de l’ordonnancement, des sémaphores et des machines à états, avec ou sans système d’exploitation temps réel (RTOS).
- Cinq ans ou plus d’expérience pratique avec divers protocoles et topologies de communication standards, notamment Ethernet, I2C, RS232, RS485 et SPI.
- Deux ans ou plus d’expérience pratique avec une ou plusieurs technologies sans fil (2,4 GHz, sous-GHz, LTE 4G/5G) et protocoles de communication maillés, tels que Zigbee, Thread, Bluetooth, Wi-SUN, etc.
- Deux ans ou plus d’expérience pratique avec un ou plusieurs protocoles de messagerie, notamment MQTT, CoAP, LwM2M, 6LoWPAN, etc.
Qualifications privilégiées
- Baccalauréat en génie informatique, en génie électrique ou dans une discipline étroitement connexe.
- Bonne compréhension des processus de développement Agile.
- Expérience avec les systèmes de gestion de versions, par exemple Git.
- Connaissance des mesures d’atténuation des vulnérabilités de sécurité pour les appareils embarqués.
- Expérience dans la création de bancs d’essai à l’aide de Python ou de langages de script.
- Expérience de travail avec des équipes géographiquement dispersées.
Critères du poste
- Expertise approfondie des méthodologies, processus et technologies de pointe en ingénierie de micrologiciels, ainsi qu’une passion pour la programmation.
- Capacité démontrée à appliquer des compétences analytiques et de résolution de problèmes afin de relever des défis complexes de conception et de programmation.
- Excellentes aptitudes à la communication verbale et écrite.
- Capacité à mettre en œuvre des changements organisationnels par la persuasion et la collaboration.
- Capacité à travailler de façon autonome et à suivre les directives.