Embedded Software Engineer 2
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+10 more
Job description
The Embedded Software Engineer 2 will apply computer science and engineering principles to the design, development, integration, testing, and validation of embedded software for task autonomy products. This role supports real-time control systems and product integration efforts within Caterpillar’s Cat Technology group, collaborating closely with cross-functional engineering teams to deliver robust and scalable embedded solutions., Design, develop, and implement embedded software for task autonomy and real-time control systems from requirements through deployment. Generate and refine software requirements for task autonomy features. Collaborate with system engineers, machine systems, software, and validation teams to define design approaches and implement solutions. Develop embedded software features using C/C++ in Linux and RTOS environments. Integrate sensors and support perception and positioning system configuration and calibration. Analyze and enhance system efficiency, stability, and scalability. Troubleshoot issues through triage, root cause analysis, and corrective action. Develop test plans and support software validation activities. Participate in design reviews, technical discussions, and project planning activities.
Requirements
Experience: Minimum 4 years of relevant embedded software engineering experience (internships accepted). Education: Bachelor’s degree (or equivalent) in Engineering, Computer Science, or a related technical field. Comparable background from other roles: Not specified., 4+ years of embedded C/C++ development experience. 4+ years of embedded system development in Linux and RTOS environments. Strong understanding of sensor integration.
Technical Skills (Required)
Embedded software development, systems design, or product validation experience. Strong knowledge of real-time embedded systems. Experience reading schematics and component datasheets. Understanding of the full software development lifecycle. Strong troubleshooting, analytical, and problem-solving skills. Effective verbal and written communication skills.
Technical Skills (Preferred)
Experience with robotics, autonomy, or remote control systems. Experience with datalinks (CAN, Ethernet) and tools such as CANape or Wireshark. Experience with Git, debuggers, and compilers. Extensive Linux-based software development experience. Experience with ROS. Experience with Qt-based UI development. Knowledge of FMEA processes and electronic system failure modes. Experience developing embedded real-time software for mobile, industrial, agricultural, or off-highway applications.
Soft Skills (Required)
Self-starter with high motivation and the ability to learn quickly. Strong teamwork, communication, analysis, and troubleshooting skills. Experience presenting design concepts, reviews, and technical results.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on indeed.comGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Is Software Engineering Hard?
Where To Find Software Engineering Jobs
What is Software Engineering?
Is Software Engineering Over-Saturated?