Applications Development Specialist IoT

Software Engineering Montreal, Quebec


Description

Primary activities include creating collateral and new example application code on new software features and alpha software, working with internal teams on improving software quality and developer experience via early feedback from the customer perspective, and providing advanced technical product support to customers as well as other customer-facing support teams on software design for Silicon Labs’ wireless products offering. A wide range of technical activities is involved in this role:

  • Helping improve wireless software product quality and developer experience by providing technical feedback to internal development teams via requirements review, test plan review, pre-release technical evaluation, bug reporting, etc.
  • Creating example software to demonstrate features
  • Designing, writing, and reviewing application notes and technical articles, especially on new product launches and new software releases
  • Creating and delivering technical training to various internal teams as well as customers
  • Providing mesh networking technical support on complex networking software issues, which often involves (although not limited to) analyzing network packet trace and debug log, reproducing the networking software issue and systematically narrowing down to possible networking protocol layer or embedded software component via gathering further evidence and designing additional tests
  • Senior members of the team are expected to lead with advanced knowledge in engineering principles and methodologies, and drive urgent, complex, or cross-functional projects and customer issues to closure
What Skills You Need

Master’s or Bachelor’s degree in Computer Science, Computer Engineering, Software Engineer, or equivalent, and at least 5 years of experience in embedded design, software development in wireless industry or from a similar (field) applications engineer role.
  • Strong software programming skills (C language strongly preferred, plus proficiency in at least one other programming or scripting language)
  • Knowledge of software programming tools (IDEs, programmers, and debuggers)
  • Strong understanding of the relationship among software programming and debugging tools, embedded firmware development, IC design and board level device design
  • Understanding of networking concepts (wired or wireless protocols, OSI model, etc.)
  • Experience with analyzing network packet trace and debug log
  • Experience with the use of laboratory equipment and measurement techniques (e.g. signal generators, logic analyzers, oscilloscopes, multimeter, etc.)
  • Experience with software version control systems such as Git
  • Ability to write high quality technical documents and conduct technical training
  • Ability to troubleshoot technical problems at a system-level (for example: methods to determine if something is a software or hardware problem; narrow down a complex software problem to most likely software components of root cause; adjust path of investigation based on evolving technical evidence and other factors) as well as the ability to debug a specific problem within an embedded software component
  • Excellent written and verbal communication skills in English
Preferred Skills
  • Experience working with standards-based embedded wireless technologies (Zigbee or OpenThread strongly preferred)
  • Experience with IP networking protocols
  • Experience with MQTT
  • Experience with cross compiling between different processor architectures
  • Experience with Linux and embedded OS environments such as Raspbian, AndroidOS, FreeRTOS, or MicriumOS/µCOS
  • Experience with scripting languages (Python, Perl, JavaScript or UNIX shell script)
  • Experience with Agile methodology

Benefits

  • Flexible work week
  • Highly competitive salary
  • Employee profit sharing
  • RRSP contribution match
  • Equity Rewards (stock units)
  • Insurance plans
  • Paid volunteer days
  • Free coffee & snacks
  • “Lunch and Learns”
  • Monthly company updates with our CEO

Due to COVID-19, all employees can work from home until further notice.

We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

Nous sommes Silicon Labs. Nous sommes à l’avant-garde des technologies permettant d’offrir les circuits intégrés, les logiciels et les solutions nécessaires à un monde plus intelligent, un monde plus connecté. Notre plate-forme matérielle intégré à notre logiciel, nos outils de développement intuitifs, notre écosystème inégalé et notre soutien technique robuste font de nous le partenaire idéal pour la création d'applications industrielles, commerciales, domestiques et de vie. Nous fournissons aux développeurs les moyens de résoudre facilement des problèmes sans fil complexes tout au long du cycle de vie du produit et de mettre rapidement sur le marché des solutions innovantes qui transforment les industries, développent les économies et améliorent des vies.

L’équipe

Êtes-vous un vrai geek des gadgets, à la recherche d'une opportunité de travailler sur des technologies IoT de pointe? C'est l'occasion d'être à l’avant de l'industrie de l'IoT!

L'équipe des applications de produits IoT (15.4 Mesh) est aussi diversifiée que les clients et les produits que nous soutenons – l’équipe est assez petite pour partager deux pizzas, mais nous représentons un large éventail de compétences techniques et de multiples cultures et langues. Nous interagissons avec diverses équipes internes de développement, de marketing et commerciales pour comprendre les problèmes et les solutions de manière holistique. Nous valorisons la motivation et les forces individuelles autant que la collaboration. Nous sommes chargés de mener à bien des enquêtes et de répondre aux questions. Nous nous spécialisons dans la résolution des problèmes les plus complexes pour les clients les plus influents qui utilisent nos solutions de réseau maillé IEEE 802.15.4 (par exemple, Zigbee, OpenThread). Nous nous perfectionnons chaque jour.

Les tâches

Les activités principales comprennent la création d’exemples de code d'application ainsi que de documentation et notes sur les nouvelles fonctionnalités logicielles ou les versions alpha de notre logiciel ou travailler avec les équipes internes pour améliorer la qualité des logiciels et l'expérience des clients en fournissant un premier point de vue client. Pour aider à améliorer la qualité des produits logiciels sans fil et l'expérience des développeurs, vous serez appelé à fournir des commentaires techniques aux équipes de développement internes via l’analyse des requis et des plans de tests, l'évaluation technique des versions préliminaires, ainsi que dans l’écriture de rapports de bogues, etc. Vous offrirez aussi un support technique avancé aux clients ainsi qu'aux autres équipes de support client sur la conception de logiciels pour notre offre de produits sans fil.

Un large éventail d'activités techniques est impliqué dans ce rôle:

  • Créer des exemples de logiciels pour démontrer les fonctionnalités
  • Concevoir, rédiger et réviser des notes d'application et des articles techniques, en particulier à propos de nos nouveaux produits et nos nouvelles versions de logiciels
  • Créer et offrir une formation technique à diverses équipes internes ainsi qu'aux clients
  • Fournir un support technique à propos des réseaux maillés (mesh networks) sur des problèmes de logiciels de réseau complexes, ce qui implique souvent (mais sans s'y limiter) l'analyse de la trace des paquets et des logs, la reproduction du problème et la recherche systématique d'un éventuel problème au niveau de la couche de protocole réseau ou d'un composant logiciel en rassemblant davantage preuves et en concevant des tests supplémentaires
  • Les membres seniors doivent mener l’équipe avec des connaissances avancées en principes et méthodologies d'ingénierie, et mener à bien les projets urgents, complexes et inter-fonctions ainsi que résoudre les problèmes des clients.

Habiletés requises

Maîtrise ou baccalauréat en informatique, en génie informatique ou logiciel, en génie électrique ou l'équivalent, et au moins 5 ans d'expérience dans la conception embarquée, le développement de logiciels dans le sans-fil ou dans un rôle similaire d'ingénieur d'applications.

  • Excellentes compétences en programmation logicielle (langage C fortement préféré, plus maîtrise d'au moins un autre langage de programmation ou de script)
  • Connaissance des outils de programmation logicielle (IDE, programmeurs et débogueurs)
  • Excellente compréhension de la relation entre les outils de programmation et de débogage de logiciels, le développement de logiciel embarqué et la conception de circuits intégrés
  • Compréhension des concepts réseau (protocoles filaires ou sans fil, modèle OSI, etc.)
  • Expérience de l'analyse de la trace des paquets réseau et des logs
  • Expérience avec l'utilisation d'équipements de laboratoire et de techniques de mesure (par exemple, générateurs de signaux, analyseurs logiques, oscilloscopes, multimètre, etc.)
  • Expérience avec les systèmes de contrôle de version de logiciel tels que Git
  • Capacité à rédiger des documents techniques de haute qualité et à dispenser une formation technique, en anglais
  • Capacité à résoudre les problèmes techniques au niveau du système (par exemple : méthodes pour déterminer s'il s'agit d'un problème logiciel ou matériel ; déterminer les causes probables d’un problème logiciel complexe; ajuster l'investigation en fonction de résultats et preuves techniques ainsi que d’autres facteurs) ainsi que la capacité de déboguer un problème spécifique dans un composant logiciel embarqué
  • Excellentes compétences en communication écrite et verbale en anglais, le français est un atout

Compétences additionnelles souhaitées

  • Expérience de travail avec des technologies sans fil intégrées basées sur des normes (Zigbee ou OpenThread fortement préféré)
  • Expérience avec les protocoles de réseau IP
  • Expérience avec MQTT
  • Expérience de compilation croisée entre différentes architectures de processeur
  • Expérience avec Linux et les environnements de système d'exploitation intégrés tels que Raspbian, AndroidOS, FreeRTOS ou MicriumOS/µCOS
  • Expérience avec les langages de script (Python, Perl, JavaScript ou script shell UNIX)
  • Expérience avec la méthodologie Agile

Bénéfices

  • Horaire flexible
  • Salaire compétitif
  • Programme de partage de profits
  • Contributions de l’employeur au REER
  • Plan d’octroi d’actions (Restricted Stock Units (RSU))
  • Programme d’achat d’actions par les employés (Employee Stock Purchase Plan (ESPP))
  • Plan d’assurances entièrement payé par Silicon Labs
  • Journées de bénévolat payées
  • Café et collations offerts
  • « Lunch-and-Learn » (partage de connaissances et dîner)
  • Mises à jour trimestrielles avec notre CEO

Environnement de travail

En raison de la COVID-19 tous les employés peuvent travailler à domicile jusqu'à nouvel ordre.

Nous sommes un employeur garantissant l'égalité des chances et valorisons la diversité dans notre entreprise. Nous ne faisons pas de discrimination sur la base de la race, la religion, la couleur, l'origine nationale, le sexe, l'orientation sexuelle, l'âge, l'état matrimonial, le statut d'ancien combattant ou le statut d'invalidité.

Intéressant? C’est ce qu’on pense!! Si vous êtes du même avis, venez parler avec nous! https://www.youtube.com/watch?v=w6bYb7rVdMg (anglais seulement)