The role
From Trimble's own posting.
Lead the Future of Machine Control: Senior C++ Software Engineer
Ready to take ownership of complex engineering challenges and shape the future of heavy equipment automation? Caterpillar Trimble Control Technologies (CTCT) is looking for a hands-on technical lead to design and build high-performance software for state-of-the-art machine-control systems. Step into a high-impact role where your expertise in modern C++ and Linux directly influences site safety, productivity, and the next generation of earthmoving technology!
About Us:
Trimble is an in dustrial technology company transforming the way the world works by delivering solutions that enable our customers to thrive . We create technologies that connect the digital and physical worlds, helping our customers increase productivity, quality, safety, and sustainability. From purpose-built products to enterprise-level solutions, our technology empowers professionals in construction, geospatial, government, transportation, and more.
About CTCT:
Caterpillar Trimble Control Technologies (CTCT) is a joint venture between Caterpillar Inc. and Trimble Inc. This division develops positioning, control and automation products for earthmoving and paving machines in the construction and mining industries, using technologies such as GNSS, IMUs, optical total stations, lasers and sonics. The products are used in a range of applications where the operator of the machine benefits from having accurate horizontal and vertical guidance. For more information on currently developed products, see http://construction.trimble.com/earthworks
What Makes This Role Great:
We are seeking a hands-on Lead Software Engineer with strong expertise in C++ to design, develop, and maintain software solutions for machine-control applications. This role is part of the Integration and Commissioning product group within Trimble’s CTCT division, which develops and supports systems software, commissioning workflows, and infrastructure that enables the Machine System Software solution across a range of grade control machines.
In this role, you will apply your expertise in C++, object-oriented design, multithreaded systems, and Linux environments to deliver reliable, high-quality software solutions. As a technical lead, you will take ownership of complex engineering problems, contribute to software architecture and design decisions, and collaborate closely with cross-functional and distributed teams.
While remaining hands-on in software development, you will provide technical guidance to engineers, lead technical discussions and code reviews, and help drive consistent engineering practices across the team.
Key Exciting Responsibilities:
Software Design & Development
Design and implement C++ software for complex machine-control applications, leveraging multithreading in Linux environments to ensure high-performance execution.
Deliver and support software components that enable efficient commissioning workflows and seamless machine integration within the Trimble Earthworks ecosystem.
Translate high-level system requirements into robust, scalable, and maintainable software solutions.
Apply object-oriented design, software engineering principles, and coding best practices to develop reliable, maintainable, and high-performance software.
Technical Leadership
Lead design discussions and contribute to architectural decisions for commissioning and machine-integration software.
Take technical ownership of complex software components and problems, leading technical reviews and driving resolution of challenging engineering issues.
Mentor and guide other engineers, fostering their technical growth through actionable feedback and support.
Drive adoption of effective engineering practices that improve software quality, maintainability, and team productivity.
Debugging & Quality
Ensure comprehensive test coverage across unit , integration, and system-level test coverage to support software quality and reliability.
Resolve complex system-level issues through root-cause analysis and develop sustainable solutions.
Identify and drive improvements in software quality, reliability, performance, and maintainability.
Collaboration & Delivery
Partner cross-functionally with Product Managers, Architects, QA, and engineering teams to deliver high-quality software solutions.
Contribute to planning, estimation, requirements analysis, and delivery activities to support predictable execution.
Coordinate with distributed teams to resolve technical dependencies, risks, and issues, and communicate status clearly to stakeholders.
Essential Skills & Experience:
Education : Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or a related technical field
Advanced C++ Proficiency : 5+ years of professional experience developing software in C++, with strong knowledge of object-oriented design and software engineering principles.
Linux & Multithreading : Experience developing and debugging multithreaded applications in Linux-based environments.
Embedded & Machine Control : Experience developing complex machine-control, real-time, embedded, or highly integrated software applications.
Software Design & Quality : Ability to design maintainable software solutions and apply strong practices in unit testing, debugging, troubleshooting, and code quality.
Technical Leadership: Ability to lead technical discussions, influence design decisions, mentor engineers, and drive resolution of complex engineering problems.
Collaboration & Communication : Strong communication and collaboration skills, with the ability to work effectively with cross-functional and distributed engineering teams.
Bonus Points For:
AI-Driven Optimization: Experience leveraging AI-assisted tools and methodologies to optimize software performance, streamline debugging, and accelerate development cycles
Development Practices: Experience working in Agile software development environments and proficiency with modern version-control systems such as Git.
Networking & Communication: Experience with CAN, Ethernet-based application-layer protocols, and TCP/IP client-server communication.
Systems & Real-Time Software: Working knowledge of real-time operating systems, Linux system internals, and embedded software development.
Software Tooling: Experience with C++ package management tools such as Conan and familiarity with build and dependency-management practices.
Scripting & Automation: Experience with Python, GoLang, Gherkin for scripting, automation, testing, or development support.
Machine & Connected Systems: Familiarity with machine-control systems, IoT concepts, or other highly integrated industrial applications.
User Interface Technologies: Exposure to web technologies such as Angular is a plus.
Logistics:
Location: Dayton, Ohio (On-site / Office-based)
Travel Requirement: 0 - 10% (Minimal)
Why You'll Love Working With Us:
At Trimble, we're not just a company that "does good"—we are a team dedicated to making a tangible, positive Real-World Impact. We build innovative solutions designed to solve the world's most critical challenges. From construction sites to transportation hubs, our work tangibly improves how people live, build, move, and grow .
You'll work on projects that truly matter: Our purpose-driven culture means you'll be help ing to build and deliver solutions that make work faster, safer, and more sustainable for millions of people worldwide . Our impact is tangible, from connected machines that save fuel to data-driven insights that reduce waste .
Collaborate with like-minded people: Our strong internal culture is a "hidden gem." You will work with a collaborative, supportive team that shares your purpose and fosters a genuine sense of belonging . We're a company of "visionary pragmatists" who think boldly and build things that work.
Be an owner: Trimble thrives on individuals who take initi