remote
Senior Embedded Software Engineer - Caterpillar
Software Engineer
Design, develop, and test embedded software for industrial devices, ensuring high performance, reliability, and stability while collaborating with cross‑functional hardware and firmware teams.
About the role
Key Responsibilities
- Develop and implement embedded software for control units and sensor platforms using C/C++.
- Design, integrate, and validate real‑time operating system (RTOS) solutions for deterministic performance.
- Implement communication protocols such as CAN, LIN, and Ethernet to enable reliable device networking.
- Conduct unit, integration, and system testing on hardware prototypes, using debugging tools and oscilloscopes.
- Monitor system performance, diagnose issues, and apply optimizations to improve efficiency and stability.
Requirements
- Bachelor’s or higher in Computer Engineering, Electrical Engineering, or related field with 5+ years of embedded software experience.
- Proficiency in C and C++ development for resource‑constrained environments.
- Hands‑on experience with RTOS (e.g., FreeRTOS, VxWorks) and low‑level hardware interfaces.
- Strong knowledge of CAN bus and other industrial communication protocols.
- Familiarity with Linux development, version control (Git), and debugging tools (JTAG, logic analyzers).