Senior Embedded Firmware Engineer

Design Engineering, Full Time

As a Senior Embedded Firmware Engineer for the organization, you will develop firmware and 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 Senior Embedded Firmware Engineer:

  • You will design embedded software for new electronic products ranging from simple microcontroller-based solutions to highly complex embedded processing systems.
  • You will serve as software lead on smaller embedded systems development projects – identifying required development activities and directing other team members in completing those activities
  • You will collaborate with team members, including hardware designers, to identify software related requirements and develop corresponding software design strategies or architecture that meets those requirements using the best approach based on performance, cost, and resources.
  • You will develop detailed software specifications based on requirements and implement embedded code in accordance with those 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.
  • You will provide software engineering input to development project quoting activities.
  • You will contribute to the improvement of department processes and tools, particularly those related to software development.
  • You will mentor junior members of the engineering staff to promote design team abilities and establish good working practices.

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 embedded software design and architectural concepts as well as the integration between firmware and hardware.
  • 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 independently using electronics lab equipment to develop/troubleshoot low-level drivers and hardware integration for interfaces such as I2C, SPI, UART, USB, etc.
  • You must have an understanding 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 strong understanding of 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

Education and experience of a successful candidate:

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

Benefits

  • Enercon Technologies offers a competitive Benefits Package.