logo

View all jobs

Linux Firmware Engineer

Montreal
Linux Firmware Engineer ( Job Number:  006YLX)     Description   Role R&D Linux Firmware Engineer R&D Linux Firmware Engineer focuses on a range of embedded firmware development actives to create a high-quality embedded product. Our Firmware Engineers demonstrate a passion for problem solving, and attention to detail. You will be part of an agile team implementing innovative firmware/software solutions for embedded IoT sensor gateway products. You will be a development champion, driving continuous improvement of our processes, tools, and practices. This is a great opportunity to expand your development expertise while creating real, customer-focused products that are released worldwide. Responsibilities Develop firmware for leading edge IoT sensor gateway products. Gather product functional requirements, define proper firmware behavior, and implement firmware modules. Work closely with other developers/teams to ensure proper interoperability with sensor products and cloud infrastructure. Work closely with verification and validation (test) team to ensure full test coverage, and quick closure of reported firmware defects. Recognize technical debt, propose mitigation options, and execute based on business priorities. Clearly document code functionality and organization using best practices. Work with technical support to diagnose and troubleshoot customer issues. Champion process improvements to increase quality, reduce costs, and improve efficiency. Participate in agile planning events including Scrums, sprint planning, and retrospectives. Demonstrate ability to work with cross functional and global teams, with the ability to align and bring best in class processes, coding standards etc. Work closely with other developer leads / managers / architects & test teams, gather requirements, prioritize development efforts & deliver business value. Demonstrate strong knowledge in the software/firmware development domain, and industry standard secure development standards/protocols. Willingness to gain hands-on experience with the products/systems/domain while working as a developer.     Qualifications   Core Required Skills Able to propose solutions, take ownership and lead development Strong programming experience in Java, C/C++ and Python Experience with connected gateways (MQTT, TCPIP websockets, building custom APIs, etc…) Experience with creating and managing a persistent database in an embedded product Experience developing on Linux Ubuntu and/or Yocto Familiar with Secure Development Life Cycle (SDLC) Good understanding of product development life cycle (Agile methodology, Integration testing etc) Revision control (Git and Github) A professional, proactive attitude with good interpersonal skills Be a result-oriented team player. Leader & self-motivated Good at oral & written communication in English, Fluent in French or willing to a learn a plus. Additional Nice to Have Skills Experience developing cloud connected IoT products Familiar with Node Red Dev ops experience and mindset. Capable of creating and maintaining a CI (Continuous Integration) system Experience with common embedded protocols: I2C, SPI, USART, etc… Background and understanding of electric circuit fundamentals, and able to read electronic schematic diagrams. Should be able to handle and use basic lab equipment to aid in test and debug of embedded system: Oscilloscope, AC/DC power sources, multi-meters, etc… Experience with wireless protocols: Zigbee, BLE, Thread, 802.15.4, etc… Experience with bug reporting and collaboration tools Jira and Confluence Interest or experience with smart devices, smart home systems and IoT Platforms Interest or experience with environmental sensing mechanisms/processes, and ability to apply this knowledge when developing firmware. Qualifications CS with 3+ years of relevant development experience
Powered by