.**Career Area**:Engineering**:**Your Work Shapes the World**Whether it be groundbreaking products, best in class solutions or creating a lifelong career, you can do the work that matters at Caterpillar. With a 95-year legacy of quality and innovation and 150 locations in countries around the world, your impact spans the globe.When you join Caterpillar, you are joining a team of makers, innovators and doers. We are the people who roll up our sleeves and do the work to build a better world. We don't just talk about progress and innovation. We make it happen. And we are proud of that, because it helps our customers build and power the world we live in - the roads, hospitals, homes and infrastructure. Without a dedicated workforce Caterpillar could not effectively meet our customer's needs. Join us.**Description**To participate in the design and development of new and complex software engineering projects for release to production in a manner to ensure products provide superior performance, durability, quality, and serviceability.**Job Duties**For Caterpillar, digital means using technology to extract data from our machines and engines and transform it into valuable recommendations or "insights," to help customers make better, more informed decisions and help Caterpillar make robust products with the lowest total ownership cost. Our products generate and process large amounts of data from sensors, on-board models, and control algorithms in real-time creating real-world machine usage information. The integrated mechanical and electronic control systems, associated control algorithms and on-board information systems generate, store and transmit this critical machine information that is highly useful for product development and product improvement. Through data analytics and modeling, this information can be mined for actionable insights.**Basic Qualifications**Requires a bachelor degree in an accredited Engineering or Computer Science3-5 years of development experience using C++ (with emphasis on C++11/14) programming languages3-5 years of embedded software experience3-5 years Development experience using Object Oriented DesignExperience working in a fast-paced, large and global Agile team environmentFluent English is requiredStrong customer focusExperience using LinuxExperience with CAN, J1939, TCP/IP and other data link protocolsExperience using CAN based tools like CANoe and CANalyzerExperience with GIT configuration management toolExperience using Design Patterns in software developmentExperience with developing Unit Tests and Test Driven Development**The Caterpillar Code of Conduct states that we will select and place employees based on their qualifications for the job to be performed, without regard to race, religion, national origin, color, gender, gender identity, sexual orientation, age or disability. In this company we do not request pregnancy tests, nor HIV tests as requirements for employment entry, permanence or promotion