careertakescareertakes

Embedded Software Engineer – C++ / Linux

Confidential ClientRobotics & Automation
Entry LevelFull-timeOn-SiteN/A
Mossville, Illinois
A Day Ago

The Embedded Software Engineer will design, develop, integrate, and test embedded software features in C++ within a Linux environment for safety detection technologies in mining and autonomous machinery. This role requires collaboration with global engineering teams in an Agile setting to develop and validate embedded software solutions supporting autonomous systems and safety-critical applications.

Boost your chances. Upload your resume to see your match score.

Unlock Match Rate
Description

About Careertakes

👉 Important disclosure: Careertakes is a third-party recruiting platform supporting this hiring process. If selected, you will be employed directly by our client, Machinery Manufacturing.

Applicants for this role may also receive access to additional matched opportunities through the Careertakes platform.


What You’ll Do

Confidential Client is hiring an Embedded Software Engineer to join a team building safety and detection capabilities for machinery and autonomous systems. You will design, implement, integrate, and validate embedded software running in Linux-based electronic controls.

  • Design, develop, integrate, and test embedded software features using C++ in Linux environments
  • Decompose requirements, produce software design artifacts, and participate in code reviews
  • Debug, triage, and resolve software issues using debuggers and diagnostic tools
  • Implement and maintain unit and integration tests (GTest / C Test or equivalent)
  • Work with source control (Git) and standard build toolchains/compilers
  • Implement system-level communication features using CAN, Ethernet, or similar protocols
  • Create validation plans and support verification/testing activities
  • Collaborate with global software, systems, machine, and validation engineering teams in an Agile environment (sprint planning, standups, reviews)

Minimum Qualifications

  • Bachelor’s degree in Computer Science, Software Engineering, or a related technical field (or equivalent experience)
  • 6+ years of professional embedded software engineering experience (or Master’s degree + 5+ years)
  • Strong proficiency in C and/or C++ for embedded systems
  • Practical experience with Linux-based development and debugging
  • Experience creating validation plans and supporting testing activities
  • Prior work in Agile teams with participation in sprint ceremonies
  • Clear, collaborative communication skills and experience working with cross-functional, geographically distributed teams

Preferred / Nice-to-Have

  • Experience with GStreamer or multimedia frameworks
  • Background in robotics, autonomy, perception, or sensor/detection systems
  • Experience developing safety-critical or machine-control software
  • Familiarity with CAN, Ethernet, and other vehicle/machine datalinks
  • Strong software design, architecture, and analytical skills
  • Comfortable with technical assessments and live coding

Role Details

  • Employment type: Contract
  • Seniority level: Mid–Senior (seniority listed as Entry level on source but required experience is mid-level)
  • Job function: Engineering
  • Industry: Machinery Manufacturing

Interview

Technical assessment and live coding interview as part of the process. Candidates should be prepared to discuss design decisions, debugging approaches, and past embedded/Linux projects.


Location & Work Eligibility

This position is based in Mossville, IL. Candidates must be able to work from or regularly travel to the Mossville area as required by the role. The client complies with all applicable U.S. employment laws.


Equal Opportunity & Hiring Transparency

Careertakes and our client are Equal Opportunity Employers committed to building a diverse and inclusive workforce. We prohibit discrimination or harassment of any kind. To support a fair and efficient hiring process, AI tools may be used to assist with application review or resume screening. These tools do not replace human decision-making. Final hiring decisions are made by people.

If you have questions about how your data is used, please contact us directly.

Negotiate a higher salary! Check the salary ranges for this job type in your area.

View My Salary Range