There are over 7 billion people on this planet. And by 2050, there will be 2 billion more... many moving into urban centers at an unprecedented rate. Making sure there is enough food, fiber and infrastructure for our rapidly growing world is what we're all about at John Deere. And it's why we're investing in our people and our technology like never before! Here the world's brightest minds are tackling the world's biggest challenges. If you believe one person can make the world a better place, we'll put you to work. RIGHT NOW.
#####
John Deere is an equal opportunity employer, including disabled & veterans.
Primary Location: United States (US) - California - Santa Clara
Function: Product Engineering (CA)
Title: Senior Staff Software Engineer - 122036
Onsite/Remote:Onsite Position
## Your Responsibilities
As a Senior Staff Software Engineer for John Deere located in Santa Clara, CA, you will:
* Serve as the connective tissue across the full system stack — bridging build systems, containers, ROS infrastructure, board support packages (BSP), and cloud backends to keep the entire platform working end-to-end.
* Own and improve the C++ build pipeline, reducing build times, and increasing overall reliability across CI/CD (CMake, colcon, Bazel).
* Architect and execute the transition from Fast DDS to Zenoh as the ROS 2 middleware layer, including performance benchmarking, integration testing, and migration planning.
* Diagnose and resolve complex system-level issues that span multiple processes, machines, and network boundaries — you're the person who figures out what's broken and why when logs are the only evidence.
* Design and implement core autonomy software components, including state machines, behavior trees, and shared utilities used across the robotics stack.
* Mentor and uplevel teammates on architecture, software best practices, modern language features, systems thinking, and software craftsmanship.
* Identify and resolve systemic software quality issues such as race conditions, resource leaks, undefined behavior, and poorly structured dependencies.
VISA Sponsorship is NOT available for this position
## What Skills You Need
* 10 or more years of professional software engineering experience with a strong focus on modern C++.
* Demonstrated ability to work across the full system stack — someone who understands how build systems, containers, middleware, OS/BSP layers, and cloud services interact and can troubleshoot at any boundary.
* Significant experience with complex, distributed, asynchronous systems — multi-process, multi-machine architectures that communicate with cloud backends.
* Strong log-based debugging skills — the ability to reconstruct system behavior and root-cause failures from logs across heterogeneous components when live debugging isn't an option.
* Deep expertise with build systems — CMake, colcon, and/or Bazel — including dependency management, cross-compilation, and build performance optimization.
* Proven ability to mentor engineers and raise the technical bar of a team through code reviews, design discussions, and knowledge sharing
* Strong understanding of concurrency, real-time constraints, and systems-level programming on Linux.
* Comfortable working in containerized development environments (Docker) and understanding how containers interact with host systems, networking, and devices
## What Makes You Stand Out
* Hands-on experience with ROS 2 (nodes, lifecycle, launch, parameters, QoS) and its build ecosystem.
* Experience with DDS middleware (Fast DDS, Cyclone DDS, or similar) and a solid understanding of pub/sub transport, discovery, and QoS tuning.
* Direct experience with Zenoh or active involvement in the ROS 2 Zenoh RMW effort.
* Experience with cross-architecture builds (x86 / ARM / Jetson) and BSP-level integration.
* Experience with static analysis and code quality tools (clang-tidy, cppcheck, ASAN/TSAN/UBSAN).
* Knowledge of real-time Linux...
Want jobs like this matched to you?
SimpleCareer scores fresh postings against your résumé so you only see the matches that matter.