RI

C++ Software Engineer

Accepting applications

RO Intelligence · Vancouver, WA

Full-Time Entry AIC++EthernetUSBai
Posted
4d ago
Category
Test
Experience
Entry
Country
Canada
About the Role
RO Intelligence is looking for a hands-on C++ Software Engineering Lead to help build, maintain, debug, and improve the software behind our technical platform for desalination monitoring, water infrastructure, sensors, hardware integration, analytics, and operational workflows.
This role combines strong individual C++ engineering capability with practical software team management. We are looking for someone who can personally write and review production-quality C++ code while also coordinating multiple software engineering silos, tracking progress across workstreams, identifying blockers, and keeping leadership informed.
The ideal candidate is a serious C++ engineer who can move between implementation, debugging, architecture review, team coordination, technical documentation, and leadership communication. Experience with desktop applications, operator dashboards, HMI tools, Qt/QML, or technical user interfaces is a strong plus, but deep C++ ability remains the core requirement.

What You’ll Do
You will write, review, and improve modern C++ software while also helping manage software engineering execution across multiple technical workstreams.
Responsibilities include:
Write clean, maintainable, production-quality C++ code for application, systems, instrumentation, monitoring, data, or platform software.
Review existing C++ code and identify architecture issues, defects, fragile assumptions, performance bottlenecks, threading risks, and maintainability concerns.
Debug complex compile-time, runtime, memory, concurrency, data-flow, and integration issues using disciplined troubleshooting methods.
Improve code organization, interfaces, error handling, logging, test coverage, build reliability, and release readiness.
Manage and coordinate multiple software engineering silos, including areas such as application software, hardware-adjacent software, data acquisition, analytics, dashboards, UI/operator tools, and integration workstreams.
Help organize software priorities, task ownership, milestones, dependencies, and delivery expectations across engineering contributors.
Track progress across software workstreams and identify blockers, risks, duplicated efforts, unclear ownership, or gaps in execution.
Report weekly to the Operations Manager with a clear summary of completed work, active priorities, blockers, risks, staffing needs, and recommended next steps.
Collaborate with hardware, electronics, embedded, data, AI, operations, and leadership stakeholders to connect software work to product outcomes.
Support sensor, instrumentation, control, data acquisition, edge, or hardware-adjacent software when needed.
Create clear technical notes, issue summaries, code review comments, risk summaries, decision recommendations, and leadership updates.
Help define practical development standards, testing expectations, version control habits, documentation routines, and coding practices.
Contribute to UI, dashboard, desktop application, HMI, operator workflow, or data visualization features if you have relevant experience.

What We’re Looking For
We are looking for a hands-on C++ engineer who can open a codebase, understand what is happening, identify problems, write fixes, organize technical execution, and explain the plan clearly.
Strong candidates will have:
5+ years of professional C++ software development experience, or exceptional proof of production-level C++ code quality and debugging ability.
Experience leading, coordinating, or managing software engineering workstreams, teams, contractors, vendors, or cross-functional technical contributors.
Strong modern C++ experience, ideally with C++11, C++14, C++17, or C++20.
Ability to read, reason about, and improve unfamiliar C++ codebases.
Solid understanding of object-oriented design, RAII, memory ownership, smart pointers, references, move semantics, error handling, and the C++ standard library.
Experience debugging real software issues using tools such as gdb, lldb, Visual Studio Debugger, sanitizers, Valgrind, profilers, logs, unit tests, or trace analysis.
Comfort with build systems and development tooling such as CMake, Make, MSBuild, Visual Studio, Git, CI pipelines, package management, and code review workflows.
Practical knowledge of multithreading, concurrency, synchronization, race conditions, deadlocks, and performance tradeoffs.
Ability to write code that other engineers can understand, test, review, and maintain.
Strong written and verbal communication skills, especially the ability to explain technical progress and blockers to leadership clearly and concisely.
Ability to produce useful weekly management updates for operations leadership.
Comfort working in a fast-moving startup environment where systems, documentation, and process may need to be created or improved while work is moving forward.

Preferred Experience
The following experience is helpful but not required:
Technical products, instrumentation, sensors, hardware-adjacent software, industrial systems, controls, edge computing, data acquisition, or field-deployed systems.
Linux and/or Windows C++ application development.
Protocols and data movement such as serial, RS-232/RS-485, Modbus, CAN, Ethernet, MQTT, TCP/IP, USB, or hardware interface libraries.
Software with reliability, uptime, performance, or safety-related expectations.
Internal engineering tools, monitoring dashboards, configuration utilities, operator screens, diagnostic applications, or live-data interfaces.
Improving legacy or prototype code into stable, testable, maintainable production software.
Managing distributed or specialized engineering contributors across multiple software domains.
Creating engineering dashboards, weekly status reports, sprint plans, delivery timelines, or technical roadmaps.

UI / Desktop Experience Is a Plus
Experience with technical user interfaces is a strong bonus, especially:
Qt/QML
Qt Widgets
C++ desktop applications
HMI systems
Operator dashboards
Scientific or engineering visualization tools
Dear ImGui, wxWidgets, Win32/MFC, OpenGL-based tooling, or live-data visualization
However, this is not a UI-only role. The primary screen is strong C++ coding, code reading, debugging, technical leadership, and practical engineering execution.

Management Expectations
This role is not a manager-only position. We need someone who can remain close to the code while also bringing structure to software execution.
You will be expected to:
Coordinate multiple software engineering silos and keep workstreams moving.
Clarify ownership across software tasks and technical contributors.
Identify engineering blockers before they become leadership surprises.
Translate technical complexity into clear operational updates.
Report weekly to the Operations Manager with actionable information.
Help leadership understand what is done, what is delayed, what decisions are needed, and where risk is increasing.

What Success Looks Like
A successful hire will be able to say:
“Here is what I found in the code, here is what I fixed, here is what the software team is working on, here is what is blocked, here is the risk, and here is the next step I recommend.”
You should be comfortable going deep with engineers while also keeping operations and leadership informed in clear, practical language.

Ideal Candidate
You are a practical C++ builder and technical leader who can code, debug, review, organize, explain, and own forward progress. You are technical enough to work through complex software issues and structured enough to coordinate multiple engineering silos without losing sight of deadlines, risks, and business priorities.

Not the Right Fit If
This role is probably not the right match if your experience is primarily web-only front-end development, management-only work, academic-only C++, or high-level architecture without hands-on coding and debugging. We need someone who can personally write, debug, and improve production C++ code while also helping manage software engineering execution.

Apply
If you are a hands-on C++ engineer with the ability to lead technical execution, coordinate multiple software workstreams, and communicate clearly with operations and leadership, we would like to hear from you.

Show more Show less