Logo for Marvik

Embedded Software & Controls Engineer

Role overview

Qualifications

  • 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.
  • Solid software engineering practices, including unit testing, Git workflows, code reviews, and continuous integration.

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.
  • Debug and validate software across the embedded stack, from hardware interfaces and drivers to application behavior on the machine.

Hard skills

Other skills

  • Collaboration
  • Problem Solving

About the company

Marvik logo

Marvik

Artificial Intelligence & Machine Learning Services

The AI revolution isn't coming, it's already here. Companies that move now will define the market. At Marvik, we're building the AI that powers this transformation. Our team combines deep technical expertise with the speed and agility to turn bold ideas into production-ready solutions. We thrive where the challenges are complex, the stakes are high, and the opportunities are massive.

Company details

IndustryArtificial Intelligence & Machine Learning Services
Company size51 - 200

Your match analysis

See how your profile stacks up against this role.

We compared the job requirements to your profile to show where you're strong and where you fall short.

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.

Apply once. Then go straight to the hiring manager.

After you apply, unlock the direct contact details of the people who actually make the call. A quick follow-up makes you 5x more likely to land an interview.

MR

Marcus Rivera

Chief Revenue Officer

m.rivera@company.com
linkedin.com/in/marcusrivera
Unlocked after you apply
Β·

Embedded Software Engineer Related jobs

Other jobs at Marvik

Premium

Reach out to the hiring manager directly.

Gain access to the contact details of the hiring managers who actually decide, and reach out to network with them directly. That, plus more when you upgrade:

  • Full match report with fit score and gaps
  • Career diagnostics on how recruiters read you
  • Curated company matches and warm intros
  • 48h early access to new roles

Cancel anytime.