Recruiting the Talent. Staffing the Culture. Call Us: 847-945-7600

Job Seekers

Recruiting the Talent.

  • Share this Job

Senior Embedded Software Engineer

Job Type : Direct
Compensation : 110000.00 USD/YEAR
Hours : Full Time
Required Years of Experience : 5+
Required Education : Bachelor's Degree Required
Travel : No
Relocation : No

Job Description :

Research, design, develop, and test embedded controller hardware and software. Set operational specifications and formulate and analyze system requirements. Apply principles and techniques of Embedded Design, Real-time Control applications and System Design Practices and Mechatronics.


Essential Functions:

  • Requirement gathering and analysis to develop software solutions by studying system and subsystem needs

  • Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development and proposed solutions.

  • Documents and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.

  • Designing and developing firmware/software for new embedded products

  • Operate software development tools, lab equipment or other equipment to perform engineering

  • tasks.

  • Use microcontrollers to develop control signals, implement control algorithms, or measure

  • process variables, such as temperatures, pressures, or positions.

  • Collaborate directly with electrical engineers in selecting hardware components as well as

  • testing and debugging firmware/software on hardware components.

  • Ensure conformance to design and equipment specifications and compliance with operational

  • and safety standards.

  • Recommend, plan, and lead software development improvement initiatives.

  • Obtains and licenses software by obtaining required information from vendors; recommending

  • purchases; testing and approving products.

  • This position is a senior position as the engineer will act as a mentor and be willing to teach less experienced engineers.

  • Responsible for continual improvement and monitoring of all Software Design and Development processes and procedures.

  • Ensures implementation and utilization of state-of-the-art analytical tools and techniques in the area of software development and reliability.

  • Develop or direct software system testing or validation procedures.

  • Prepare reports or correspondence concerning project specifications, activities, or status.

  • Updates job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.

  • Develop and maintain knowledge base and standards related to software development, quality, and reliability


Position Qualifications:

  • Accountability - Ability to accept responsibility and account for his/her actions.

  • Communication, Oral - Ability to communicate effectively with others using the spoken word.

  • Communication, Written - Ability to communicate in writing clearly and concisely.

  • Creative - Ability to think in such a way as to produce a new concept or idea.

  • Technical Aptitude - Ability to comprehend complex technical topics and specialized information. 

  • Initiative - Ability to make decisions or take actions to solve a problem or reach a goal.

  • Detail Oriented - Ability to pay attention to the minute details of a project or task.

  • Analytical Skills - Ability to use thinking and reasoning to solve a problem.

  • Change Management - Ability to encourage others to seek opportunities for different and innovative approaches to addressing problems and opportunities.

  • Judgment - The ability to formulate a sound decision using the available information.

  • Conceptual Thinking - Ability to think in terms of abstract ideas.

  • Decision Making - Ability to make critical decisions while following company procedures.

  • Systems Analysis - Ability to determine how a system should work and how changes in conditions, operations, and the environment will affect outcomes.

  • Problem Solving - Ability to find a solution for or to deal proactively with work-related problems.

Required Qualifications :


  • 8+ years’ experience in embedded, bare metal, development preferably for engine, hydraulic, or vehicle control systems.

  • 4+ experience in Altium, OrCad, or equivalent hardware development package.

  • Proven expertise in writing low level firmware and test routines for firmware in C

  • and in assembly language (desirable) for embedded interface implementations such as I2C, SPI, UART, CAN.

  • Demonstrated familiarity with embedded development using RTOS on 16 and 32-bit systems in C and Assembly. Specifically, experience with ARM and/or PowerPC and/or TriCore.


Other Requirements:

  • Linux OS, MS Windows, Microsoft Office Suite which includes Outlook, Word, Excel, etc. required.

  • Experience working in an Agile environment with common Agile tools (preferably JIRA and/or Polarion)

  • Demonstrated familiarity with common automotive standards (J1939)

  • Knowledge of Python, Lua or C# is a plus.

Powered by AkkenCloud
Back to Top