Software Engineer II

  • East Moline
  • Careers Integrated Resources Inc

Job Title: Software Engineer II

Location: East Moline, IL

Duration: - 24 Months+ Contract

Major Purpose:

Works on a product team and supports product design by planning its work, coordinating with others, and writing and testing code to deliver moderately complex functionality on a complete product or significant portion of a product it supports. This level develops simple designs to solve well-defined problems with guidance from more senior team members. May assign, coordinate and review portions of the work to support personnel; Makes decisions within established guidelines subject to review by supervisors; Executes high level applications to more complex problems.

Primary Job Responsibilities:

Perform embedded software engineering tasking including requirements analysis, operational concept development, software system design/architecture, component integration, design reviews, integration testing and problem solving

Develop embedded operating system software for vehicle controllers in C.

Assign, coordinate, and review work from other engineers and support personnel. Collaborate with fellow engineers within the team on embedded software work.

Execute unit and integration testing of software in multiple environments (virtual and lab)

Analyse issues and drive for resolution of issues found during testing

Required Skills:

Demonstrated technical skills in the areas of embedded software development, hardware integration, and electrical systems.

Strong communication and teamwork skills

Robust problem solving skills

Ability to work in a self-directed environment

Skills that help stand out:

Technical experience relating to design and diagnostics of mechanical/electrical/hydraulic systems

Experience developing low level and middleware drivers for hardware peripherals

Experience with software test and verification in various environments (Hardware In the Loop, Software In the Loop, on Vehicle)

Technical experience relating to design and diagnostics of electronic test stands especially using National Instrument modules.

Familiarity of github, github actions and Jenkins continuous integration workflows

Experience with CAN communications protocols such as the J1939 and ISO 14229 standards

Major Duties:

Develops, codes, configures, and tests programs and systems.

Evaluates and implements enhancement design solutions to improve cost, quality, and performance of software applications.

Analyzes assignments and determines software specifications that must be fulfilled to achieve objectives.

Executes necessary documentation, as directed, or needed.

Collaborates with other relevant stakeholders and team members to ensure that features meet business needs.

Follows industry-standard agile software design methodology for development and documentation.