Engineer, Software
Listed on 2026-02-15
-
Software Development
Software Engineer, Embedded Software Engineer
Job Purpose
Progress Rail Services Corporation, a Caterpillar Company and a leading provider of services to the Railroad industry in the US, Canada, Mexico, and Brazil, is seeking a highly motivated and experienced SENIOR FIRMWARE ENGINEER to join our team. This role performs the complete software lifecycle for company‑developed embedded devices, including software design, implementation, maintenance and end‑of‑life management. This role is a senior, highly skilled and experienced member of the department and, as such, you’ll be expected to take on additional responsibilities beyond the scope of the immediate job.
This position is in Independence, MO.
Greater Kansas City Area;
Independence, MO.
Progress Rail stands at the intersection of legacy and innovation—driving the future of rail with a pioneering spirit. Since its founding in 1983, the company has grown to become one of the world’s largest and most trusted providers of railroad products, services, and technologies. Today, Progress Rail delivers a comprehensive portfolio of cost‑effective solutions to railway customers around the globe. From the rails themselves to the EMD® locomotives that ride them, the company’s products are in operation across more than 100 countries—powering progress and connecting communities.
In 2006, Progress Rail joined Caterpillar Inc., further strengthening its ability to lead the rail industry with cutting‑edge technology, unmatched expertise, and a commitment to excellence. At Progress Rail, the team is not just building the future of rail—they are making history every day.
- Familiarity with common Linux‑based operating systems from available software frameworks;
- Customizes operating systems for product‑specific roles;
- Provides evaluation of hardware for operating system utilization;
- Provides customization of operating system for specific hardware utilization;
- Designs software components in operating system specialization;
- Implements software components in operating system specialization;
- Maintains software components in operating system specialization, including testing and validation;
- Performs other job‑related duties as assigned.
- Bachelor's degree in Electrical Engineering or Computer Science with functional cross‑domain skills in working with hardware engineering.
- Bachelor’s degree in electrical engineering or computer science with functional cross‑domain skills in working with hardware engineering;
- 5‑7+ years of solid embedded software and/or hardware driver development experience;
- Capable of designing and implementing software, utilizing best practices;
- Cross‑discipline familiarity with embedded devices of different architectures and hardware specifics, ability to work with associated software and lab‑based tools to facilitate completion of tasks;
- Ability to work with hardware schematics and data sheets to understand impacts to software;
- Ability to work with stakeholders on appropriate designs and implementation details;
- Ability to read and modify code written by other people;
- Proficiency in Microsoft Office (MS Word, PowerPoint and Excel).
- Software development proficiency in C, C++, C#, Python;
- Experience with QNX;
- Rust experience is a strong plus;
- Full development life cycle from requirements, design, development, board bring‑up, to product support;
- Software engineering best practices for estimation, design, unit, and system testing;
- Experience with container technologies (Docker, Containerd) or VM;
- Experience with communication protocols such as TCP/IP, CAN, SPI;
- Experience with secure protocols such as SSL, SSH;
- Experience using Agile in a structured development environment such as DO 178C, ISO 26262 or IEC 61508;
- Experience with Matroska library or Live
555 library or another media container or RTP/RTSP library; - Excellent organizational, technical leadership and interpersonal skills;
- Excellent written and oral communication skills; ability to communicate technical concepts and support assertions with data; ability to make decisions based on facts;
- Experience with AWS or other cloud services;
- Understanding of secure coding…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).