• Contribute to the firmware development of Pulsenics’ next generation in-line characterization hardware.
• Translate open-ended user requirements into clear and specific product functional components.
• Modify existing code as necessary for bug-fixes and changes in the operational scope.
• Document the design and implementation details of firmware features.
• Write test plans, unit tests, and integration tests from requirements.
• Work closely with a cross-functional engineering team (electrical, mechanical, manufacturing, system test, and other software teams) to refine and support delivered firmware.
• Have extensive experience with software/firmware for embedded devices (ARM microcontrollers).
• Are comfortable and thrive in the ambiguity of a fast-growing company. This includes being able to transform product sketches into working technology, as well as working in an environment with a very short technical backlog.
• Are resourceful and self-sufficient when it comes to execution. You can identify, prioritize, solve issues, and make things happen. You do not wait for help or permission.
• Are a builder, who gets excited about building products that no one has ever built before, and you are comfortable to fail quickly, learn, and iterate along the way.
• Get excited and have experience solving open-ended problems.
• Have a strong business sense. You can foresee potential issues and solve them proactively.
• Possess a strong interest in commercializing clean technologies and a strong sense of purpose towards achieving climate decarbonization goals.
• Minimum 3 years of experience in embedded programming languages such as C/C++/C#.
• In-depth knowledge of wired communication protocols (SPI, I2C, UART, etc.).
• Knowledge of standard embedded debugging tools (terminal programs, gdb, JTAG debuggers, etc.).
• Comfortable with performing low-level board debugging with oscilloscopes, DMMs, logic analyzers, generators, etc.
• Experience with TI C2000, STM32 processor families.
• Experience with PCB schematics and microelectronic device datasheets.
• Integrating and configuring open-sourced and closed-source packages.
• Experience designing and embedding Bluetooth connectivity.
• Excel at code revision software and code development practices (Git, SVN, pull-requests, etc.).
• Experience with Git-based revision control.
• Familiarity with industrial communications standards such as Modbus, CANbus/J1939, LIN bus, or Ethernet/IP.
• A BSc, MSc, or PhD in Computer Science, Mathematics, Engineering, or a similar field.
Pulsenics is committed to maintaining a diverse work environment and is proud to be an equal opportunity employer. We strongly believe that the diversity of our employees is one of our greatest assets, and, to that end, are committed to fostering an inclusive and welcoming work environment.
All qualified applicants, regardless of race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status are encouraged to apply.
If you have any accessibility requirements or concerns regarding the hiring process or employment with us, please notify us so we can provide suitable accommodation.
Citizens and Permanent residents of Canada & the USA will be given priority.