Embedded Firmware Engineer

Design Engineering, Full Time

As an Embedded Firmware Engineer, you will develop firmware and/or software as part of highly integrated, custom embedded processing systems used in new products developed by Enercon and its customers.

Functions & Responsibilities

In the role of Embedded Firmware Engineer:

  • You will design and development of embedded software for new electronic products ranging from simple microcontroller-based solutions to highly complex embedded processing systems.
  • You will work with team members, including hardware designers, to identify software related requirements and develop corresponding software design strategies or architecture that meets those requirements.
  • You will develop software specifications based on requirements and collaborate with others to identify risk areas and evaluate possible alternatives or potential improvements.
  • You will implement embedded code in accordance with defined requirements and/or specifications.
  • You will participate in the bring-up of new custom embedded processor hardware with support from hardware designers.
  • You will establish software verification testing tools and methods and execute software testing activities.
  • You will document ideas, designs, specifications, and instructions to Enercon’s standards.

Job Requirements

The skills you need to succeed:

  • You must have demonstrated skill in developing original designs with C/C++ in embedded environments including bare-metal, multi-threaded RTOS, and embedded operating systems.
  • You  must have specific experience with common microcontroller and/or embedded processing platforms such as ARM and PIC. Experience with DSP and/or FPGA based SoCs is a plus.
  • You must have a strong understanding of software development tools and methodologies used in the context of embedded systems. Familiarity with source control via established systems such as Git.
  • You must have demonstrated skill in using common electronics lab equipment to develop and troubleshoot low-level drivers and hardware integration for interfaces such as I2C, SPI, UART, USB, etc.
  • You must have working knowledge of higher-level languages, object-oriented methodologies, user-interface implementation, and PC application programming. Experience with Qt framework is a plus.
  • You must have a familiarity with software test and QA tools and methodologies.
  • You must be able to work with a minimum of supervision and follow established design procedures during the development cycle, documenting the design to Enercon’s standards.
  • You must possess good interpersonal skills and have the ability to work between multiple departments in carrying out this position’s duties.

Educational Requirements

  • A 4-year degree or equivalent experience in Computer Engineering, Electrical Engineering, Computer Science or a related engineering discipline.
  • A minimum of 1-3 years of embedded firmware development or equivalent experience is preferred.


  • Enercon Technologies offers a competitive Benefits Package.