嵌入式软件及控制工程师
Embedded Software & Controls Engineer
我们正在寻找嵌入式软件和控制工程师,为重型设备开发机器控制软件从低级驱动程序和嵌入式 Linux 到应用级控制逻辑。该角色结合了 C/C++在微控制器上的开发,嵌入式 Linux/连接工作以及基于模型的控制设计在 MATLAB/Simulink. 🏻 职责:·开发和维护嵌入式 C/C ++软件用于微控制器,包括裸金属固件,硬件驱动程序,板块支持包 (BSPs). · 在 ARM 基础上平台 (例如 Jetson):系统 d,日志,设备树基础设施。·配置和解决机器网络和连接问题:· 构建和跨编译嵌入式目标 (Docker:基图像,层次,Compose)和 Python/Bash 中脚本的工具和诊断。· 将系统要求转化为控制模型和软件设计;在 MATLAB/Simulink 中设计,模拟和验证控制逻辑,然后将其实现并集成到嵌入式 C/C+. ·开发与插座器,键盘,传感器和电气动力系统交接的机械控制应用程序,包括液压/管控制和功率,冷却和风扇管理。· 调试和验证整个堆的软件。· 在机器上使用硬件接口,驱动程序,连接性和应用行为。· 在敏捷过程中工作,保持要求可追溯性和文档 (例如:Polarion),并为代码审查,版本控制和 CI/CD (GitHub,Jenkins,GCC 工具链)贡献。如果你有:· 手动 C/C++嵌入式开发经验,包括裸体金属微控制系统。·固体嵌入式 Linux 经验:systemd, journalctl,设备树基础以及 ARM/Jetson 平台上的一般调整。·在设备上网络管理和连接方面的经验:网络管理员,Wi-Fi,LTE/5G/SIM,模板管理员和 CAN. · 在嵌入式/边缘环境 (基容器,层次,交叉编译,Compose)和 Python/Bash 中脚本编写方面与 Docker 的经验。·了解控制系统和硬件/软件接口 (传感器,执行器,操作员输入). ·强大的固件,电子,连接性和机器行为调试技能。· 实质性的软件工程实践:单元测试,Git 工作流,代码审查以及持续集成。·舒适的工作过程。
查看英文原文
We're looking for an Embedded Software & Controls Engineerto develop machine-control software for heavy equipment — from low-level drivers and embedded Linux to application-level control logic. The role combines C/C++ development on microcontrollers, embedded Linux/connectivity work, and model-based control design in MATLAB/Simulink.🚜
🧑🏻💻 Responsibilities:
- Develop and maintain embedded C/C++ software for microcontrollers, including bare-metal firmware, hardware drivers, and board support packages (BSPs).
- Develop and debug embedded Linux on ARM-based platforms (e.g., Jetson): systemd, journalctl, device tree basics.
- Configure and troubleshoot on-machine networking and connectivity: Wi-Fi, Network Manager, LTE/5G/SIM provisioning, Modem Manager, and CAN bus.
- Build and cross-compile containerized software for embedded targets (Docker: base images, layers, Compose), and script in Python/Bash for tooling and diagnostics.
- Translate system requirements into control models and software designs; design, simulate, and verify control logic in MATLAB/Simulink, then implement and integrate it in embedded C/C++.
- Develop machine-control applications interfacing with joysticks, keypads, sensors, and electrohydraulic systems, including hydrostatic pump/valve control and power, cooling, and fan management.
- Debug and validate software across the full stack — hardware interfaces, drivers, connectivity, and application behavior on the machine.
- Work within an Agile process, maintaining requirements traceability and documentation (e.g., Polarion), and contribute to code reviews, version control, and CI/CD (GitHub, Jenkins, GCC toolchains).
🤝 If you have:
- Hands-on C/C++ embedded development experience, including bare-metal microcontroller systems.
- Solid embedded Linux experience: systemd, journalctl, device tree basics, and general debugging on ARM/Jetson platforms.
- Experience with on-device networking and connectivity: Network Manager, Wi-Fi, LTE/5G/SIM, Modem Manager, and CAN.
- Experience with Docker in embedded/edge contexts (base containers, layers, cross-compilation, Compose) and scripting in Python/Bash.
- Understanding of control systems and hardware/software interfaces (sensors, actuators, operator inputs).
- Strong debugging skills across firmware, electronics, connectivity, and machine behavior.
- Solid software engineering practices: unit testing, Git workflows, code reviews, and continuous integration.
- Comfortable working cross-discipline in an Agile team, with 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/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, and PLM/documentation tools such as Windchill.
Originally posted on Himalayas