Senior Firmware Engineer - Highland, IL

Description

Responsible for the functional and empirical analysis and design as related to developing and implementing embedded firmware for the company's products.  This may include, but is not limited to, operating software, utility software, development software and diagnostic software. Involved in the development of testing strategies and software reliability studies for both devices and systems, and standards for software documentation.

Reports to: Software Engineering Manager

Essential Duties

  • Has good communicative capabilities to supply technical advice and information to others.
  • Supervise other firmware engineers and technicians assigned to a particular job or project.
  • Create, modify, and maintain firmware for new and revised products.
  • Develop and track schedules for firmware development or revisions.
  • Programs in C/C++ and other high level languages.
  • Assists in the development of programming standards and practices.
  • Identifies, develops justifications for, and uses software development tools such as assemblers, compilers, emulators, etc.
  • Works with Design Engineer and/or Project Leader during the development of a new or revised designs.
  • Assist in the development of the definition of the software requirements, objectives, and modules for new or revised designs.
  • Assist in the development of new embedded architecture, security features and driver level firmware.
  • Performs or assists others in software testing, or establishing software testing requirements.
  • Works with customers, users, and others to develop software operating requirements or to troubleshoot/debug existing problems. This includes travel when required.
  • Assist in the training of the software operation of new or revised design.
  • Assist Technical Writer in writing manuals and other publications as they relate to software.
  • Develops and/or direct device communications standards, software programs, and hardware requirements.
  • Estimate Engineering effort and material required on jobs or proposals being quoted.
  • Performs other duties as assigned.

Requirements

  • BSCE, BSEE or equivalent plus 6 years' firmware design experience preferred.
  • Working knowledge of software version control tools such as svn or Git.
  • Working knowledge of Linux operating system, networking and multithreaded execution systems.
  • Working knowledge of C/C++ and object orient programming.
  • Working knowledge of communication hardware. i.e. Ethernet, USB, I2C and SPI.
  • Working knowledge of electrical test equipment. i.e. oscilloscope, multi-meter.
  • Working knowledge of embedded micro controller systems.
  • Familiarity with XML and JSON schema.
  • Familiarity with third party code integration.
  • Computer skills including Microsoft Word, Excel & PowerPoint.
  • Ability to speak and write in clear understandable manner.
  • Ability to exchange and furnish information requiring detailed explanation and discussions with customers and various levels of personnel.
  • Travel as required for training, support of project tasks, product issues, or other design or job related needs.

Go Back To Careers