Senior Firmware Engineer

Summary

The Senior Firmware Engineer will develop firmware and embedded application software for Onset’s line of data loggers and monitoring solutions. He or she will collaborate with Software, Hardware (Electrical/Mechanical), Test Engineering, and Product Management in the development of new products as well as in support of legacy devices.

Duties and Responsibilities

  • Develop software systems and subsystems in an embedded processor environment
  • Develop multi-threaded application code built on top of firmware framework
  • Maintain and extend the existing firmware framework
  • Preform board bring-up and help with key component selection
  • Create, document, and review detailed designs that support product requirements
  • Develop and execute unit tests that prove that the design and implementation satisfies the requirements
  • Actively lead/participate in design and code reviews
  • Collaborate with the entire product team to define requirements and establish project goals

Other duties as assigned. 

Demonstrable Proficiency in the Following

  • Strong knowledge of embedded RTOS(s) including the proper use of: mutexes, semaphores, various task-scheduling options, task prioritization, inter-task communication via messages and event queues, interrupt handling, etc.
  • Expertise in the C programming language
  • Common embedded communications protocols such as: SPI, I2C, UART
  • Embedded processors, controllers, and development tools: emulators, logic analyzers, scopes, protocol analyzers, debuggers, etc.
  • Ability to interpret a schematic for the purpose of design review and troubleshooting

Experience With

  • Agile development methodologies, particularly SCRUM
  • ARM Cortex based microcontrollers, particularly STM32 devices
  • Microchip PIC microcontrollers
  • FreeRTOS
  • Wireless Sensor Networks
  • USB
  • Low power designs
  • Wireless protocols: Bluetooth LE, 802.15.4(e)
  • Routing Protocol for LLN (RPL)
  • C++ programming language and OOD
  • JIRA
  • C#
  • Use of version control: SVN / Git

Education/Experience

  • Bachelor's Degree in engineering, computer science, or related field with five to eight years' experience in embedded development or an equivalent combination of education and experience

Workplace Environment

The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job.

  • Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
  • The noise level in the work environment is usually moderate.

The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job.

  • Office employees must frequently lift and/or move up to 10 pounds.
  • Light assembly employees, engineers, and warehouse employees must frequently lift and/or move up to 50 lbs.  

EEO/AA. No calls please. Local candidates only.