Let’s Connect Today!

NextGen Person

Firmware Engineer in Highland, IL at NextGen

Date Posted: 6/3/2019

Job Snapshot

Job Description

. Job Summary: Responsible for functional empirical analysis and design related to developing

and implementing software operating systems for company products. This may

include, but is not limited to, operating software and diagnostic software. Involved

in the development of testing strategies and software reliability studies for devices

and systems, and standards for software documentation.

Essential Duties:
• Create, modify, direct, and maintain software for new and revised products.

• Supervise other software engineers and technicians assigned to a particular

job or project.

• Assist to develop and track schedules for software development or revision.

• Assist to develop programming standards and practices.

• Identify, develop justifications for, and use software development tools such

as assemblers, compilers, and emulators.

• Work with the Design Engineer and/or Project Leader during the development

of a new or revised design.

• Assist to develop the definition of the software requirements, objectives, and

modules for a new or revised design.

• Perform or assist others to test software or establish software testing

• Work with customers, users, and others to develop software operating

requirements or to troubleshoot/debug existing problems. This includes travel

when required.

• Assist to train personnel on software operation of new or revised designs.

• Assist the Technical Writer to write manuals and other publications as they

relate to software.

• Develop and/or direct device communications standards, software programs,

and hardware requirements.

• Estimate the Engineering effort and material required for jobs or proposals

being quoted.

• Perform other duties as assigned


Key requirements are:
embedded software (firmware) development,
data structures and algorithms.
Experience developing on Linux (this includes tools: make, gcc/g++, gdb, git), and developing for embedded Linux systems (platforms such as PowerPC and ARM).

Pluses include:
Real-time software development,
unit testing / test-driven development, source control using Git or Subversion,
familiarity with embedded in-system debugging, security,
secure coding, knowledge of electrical engineering and power systems,
C#, User Interface design,
FPGA development, digital signal processing, functional programming.
• Program in Assembly, C, and other high level languages.
• Bachelor's degree in Electrical Engineering or equivalent plus six years of

software design experience.

• Ability to speak and write in a clear and understandable manner.