Overview
Skills
Job Details
Required Education:
Education: Bachelor's degree in Computer Engineering, Electrical Engineering, or a highly relevant Computer Science degree. Must-Haves (Non-Negotiable)
Experience: 5-8 years of professional experience in real-time embedded systems.
o Low-Level Device Drivers: Proven experience writing device drivers that interact directly with hardware.
o Hardware Interfacing: Hands-on experience with protocols like SPI/I2C and components like non-volatile memory.
o Programming Languages: High proficiency in ANSI C and experience with version control, specifically Git.
o Debugging: Ability to use hardware tools like oscilloscopes for troubleshooting. Nice-to-Haves (Preferred)
Experience with Clearcase (another version control system).
Familiarity with Python and Bash scripting.
Knowledge of Agile development processes.
Experience with Real-Time Operating Systems (RTOS). Job Responsibilities:
Design and implement software of embedded devices and systems from requirements to production and commercial deployment for product lines.
Write and code logical and physical database descriptions and specify identifiers of database to management system or direct others in coding descriptions.
Analyze and enhance efficiency, stability and scalability of system resources
Review project requests describing database user needs to estimate time and cost required to accomplish project. Soft Skills
Strong problem-solving and analytical abilities.
Excellent verbal and written communication.
Ability to work collaboratively in a team environment.
Capable of reading and interpreting schematics and component data sheets. The core function of this role is low-level embedded software development. You will be designing, coding, and testing software that directly interfaces with hardware components (like displays and telematics) for Caterpillar's products. This is not a role focused on high-level applications, cloud, or web development.