← Back to jobs

Trimble Inc. Logo
Senior C++ Software Engineer

Trimble Inc.

 

Dayton, OH, USA

Posted On: Just posted
Experience: 5+ years
Availability: Onsite
Openings: 1
Category: Senior C++ Software Engineer
Tenure: No Preference/Any
Related Jobs

No related jobs found

Description

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

Education

Any Graduate

Related Jobs

No related jobs found

← Back to jobs