Marvik

Marvik

·10 days ago

Embedded software & controls engineer

Apply now

Location

remote, United States

Commitment

Full Time

Level

Junior (<2 years)

Required skills

Embedded C/C++MicrocontrollersMATLABSimulinkModel-based designBare-metal firmwareHardware driversControl systemsElectrohydraulicsUnit testingGitAgileContinuous integrationJenkinsGCC toolchainsDebugging

Job Description

We're looking for an Embedded Software & Controls Engineer to develop machine-control software for heavy equipment, from low-level drivers and board support packages to application-level control logic. The role combines hands-on C/C++ development on microcontrollers with model-based design using MATLAB and Simulink, translating machine requirements into reliable software running on real hardware. 🚜

Responsibilities:

  • Develop and maintain embedded C/C++ software for microcontrollers, including bare-metal firmware, hardware drivers, and board support packages (BSPs).
  • Translate system and functional requirements into control models and software designs, collaborating with systems, hardware, and application engineering teams.
  • Design, simulate, and verify control logic using MATLAB and Simulink, including model-level unit testing, and implement and integrate the resulting functionality in embedded C/C++.
  • Develop machine-control applications, interfacing with joysticks, keypads, sensors, and electrohydraulic systems.
  • Implement control logic for hydrostatic pumps and hydraulic valves, including flow metering and coordination with machine operating states.
  • Develop and refine power management, cooling, and hydraulic fan control functionality.
  • Debug and validate software across the embedded stack, from hardware interfaces and drivers to application behavior on the machine.
  • Work within an Agile development process, maintaining requirements traceability, verification evidence, and software lifecycle documentation using tools such as Polarion.
  • Contribute to code reviews, version control, automated builds, and continuous integration using GitHub, Jenkins, and GCC-based toolchains.

If you have:

  • Hands-on experience developing embedded software in C/C++ on microcontrollers, including bare-metal systems.
  • Experience translating system requirements into models, control logic, and embedded implementations.
  • Understanding of control systems and hardware/software interfaces, with experience integrating sensors, actuators, or operator inputs.
  • Ability to debug embedded software and investigate issues across firmware, electronics, and machine behavior.
  • Solid software engineering practices, including unit testing, Git workflows, code reviews, and continuous integration.
  • Ability to collaborate across disciplines and work effectively within an Agile engineering team.
  • Availability to travel to the US.

It’s a major plus:

  • Experience with MATLAB and Simulink for model-based control development, simulation, and verification.
  • Experience with heavy machinery, mobile equipment, or industrial machine-control systems.
  • Familiarity with electrohydraulics, hydrostatic drives, pump and valve control, power management, or cooling systems.
  • Experience spanning both low-level embedded development and application-level controls.
  • Familiarity with Jenkins, GitHub, and GCC toolchains.
  • Experience using engineering documentation and component datasheets, including through PLM tools such as Windchill.

Ready to join the team?

Apply now

Similar Jobs: