Senior Robot Software Engineer

Trener
Trondheim, Norway
On-site

Who this role is best for

Strong fit for experienced C++ engineers with robotics domain knowledge who can work on-site in Trondheim and contribute to architecture and reliability of industrial robotics software.

Best fit for

  • Experienced C++ engineers with a focus on system architecture and reliability in robotics software
    — “design for flexibility, clear interfaces between components and execution”
  • Candidates with a background in industrial automation or software controlling physical systems
    — “robotics software, industrial automation, or other software that controls physical machines”
  • Individuals who have led codebase improvements and set engineering standards in production systems
    — “help raise the bar for our engineering culture, so that what we ship works the first time at a customer site”

Things to consider

  • On-site presence in Trondheim is required despite international team structure
    — “based on-site in Trondheim”
  • The role demands a high level of written communication in English for cross-team collaboration
    — “Clear written communication in English: Technical decisions here are discussed, documented, and reviewed in writing”

How to stand out

  • Highlight experience with C++17 or later and memory management in your resume and interviews
    — “5+ years writing and maintaining production C++ (C++17 or later), with a solid grasp of memory management”
  • Showcase your ability to improve test suites and ensure reliability in complex systems
    — “you write tested code by default, and you have built or improved the test suite of a non-trivial system”
  • Emphasize your work with ROS 2 and lifecycle management in robotics software
    — “ROS 2: nodes, lifecycle management, executors, and DDS-based communication”
  • Demonstrate your knowledge of concurrent and distributed systems with specific examples
    — “Concurrent and distributed systems: many processes communicating, handling partial failures”
  • Include projects involving deterministic systems or real-time constraints in your application materials
    — “Real-time or deterministic systems: timing constraints, latency, and predictable behavior under load”
Pace · SteadyCollaboration · HighAutonomy · MediumDecision Impact · Team

Derived from job-description analysis by Serendipath's career intelligence engine.

What success looks like

  • design and build features in C++ core
  • improve codebase structure
  • increase system reliability
Typical background
software engineeringroboticsembedded systems

Skills & requirements

Required

C++ROS 2ConcurrencyPerformance TuningTesting

Preferred

Real-time SystemsBehavior TreesPythonDocker

Stack & domain

C++ROS 2RoboticsAIIntuitive ProgrammingPre-trained Skill ModelsCloud InfrastructureDeveloper PlatformsRobotic SystemsConcurrencyPerformanceBuild SystemsTestsUnitIntegrationSimulationC++ BuildDependency ManagementStatic AnalysisCI ChecksPythonDockerLeadershipCollaborationCommunicationProblem-solvingTeamworkMentorshipAWSCFAIndustrial RoboticsCybersecurityAutomation

About the role

Original posting from Trener via Ashby

About Trener

Trener is building the software foundation for a new generation of industrial robotics. We combine advanced AI, intuitive programming, and pre-trained skill models to make robots easier to deploy, operate, and adapt to real-world industrial work. With teams in San Jose and Trondheim, we build software that connects cloud infrastructure, developer platforms, and deployed robotic systems.

About the Role

Our robots run on core software written in modern C++ on ROS 2. It executes robot jobs, coordinates the robot with other hardware in the robot cell, and has to keep running reliably on the factory floor. You will be a senior engineer on that core. You will design and build features, improve the structure of the codebase, help raise the bar for our engineering culture, so that what we ship works the first time at a customer site.

This is not a narrow robotics role. Much of the work is general C++ engineering: architecture, concurrency, performance, build systems, and tests. You will work closely with a staff engineer who leads the architecture of the core, and with the robotics, AI, and frontend engineers who build on it. You will also be able to test on real hardware in our Trondheim robot lab.

This is a senior individual contributor role based on-site in Trondheim, reporting to the Chief Product Officer.

What You Will Own

  • Core robot software: designing, building, and maintaining features in the C++ core that executes robot jobs and behaviors.
  • Architecture and code health: design for flexibility, clear interfaces between components and execution.
  • Reliability: finding and fixing the root causes of failures, and making sure the system behaves predictably when something goes wrong.
  • Testing: unit, integration, and simulation tests that catch regressions before they reach a robot.
  • Build and tooling: the C++ build, dependency management, static analysis, and the CI checks that keep the codebase healthy.
  • Engineering standards: reviewing code, sharing C++ expertise, and helping set the standards the team works to.

Requirements

  • Modern C++ in production: 5+ years writing and maintaining production C++ (C++17 or later), with a solid grasp of memory management, concurrency, and performance.
  • Software design: You have designed components and interfaces that others build on, and you have evolved an existing codebase without breaking it.
  • Testing as part of the work: You write tested code by default, and you have built or improved the test suite of a non-trivial system.
  • C++ toolchain on Linux: CMake, compilers, debuggers, profilers, static analyzers and sanitizers.
  • Clear written communication in English: Technical decisions here are discussed, documented, and reviewed in writing, often across time zones.

Experience That Will Help You Succeed

  • ROS 2: nodes, lifecycle management, executors, and DDS-based communication.
  • Robotics software, industrial automation, or other software that controls physical machines.
  • Concurrent and distributed systems: many processes communicating, handling partial failures, and debugging across process boundaries.
  • Real-time or deterministic systems: timing constraints, latency, and predictable behavior under load.
  • A track record of measurably improving the reliability of a production system.
  • Behavior trees, state machines, or other models for executing tasks.
  • Python for tooling and tests.
  • Containerized development and deployment with Docker.

What We Offer

The opportunity to shape the core software that runs robots in real factories. A senior technical role with direct influence over the architecture and engineering standards of our robot software, reporting to the Chief Product Officer.

A growing international engineering organization with teams in the United States and Norway.

Source: Trener careers (Ashby)

Similar roles

More roles at Trener