Senior Software Engineer (C++/Linux) – Customer Delivery
Be the bridge between customer needs and robust C++/Linux software at Seeing Machines. Lead delivery, fix complex issues, and ship safety‑focused embedded solutions with a global team.
About the company:
Seeing Machines has developed the world’s most advanced human data-driven technology which enhances transport safety by dramatically reducing fatal accidents every day. We’re on a mission to achieve zero transport fatalities.
With at least 1 million cars on the road using our state-of-the-art operator monitoring technology developed by the passionate team at Seeing Machines, we provide real-time protection from distraction and drowsiness-related driving events. Seeing Machines works with many of the world’s leading brands (including General Motors, Mercedes Benz, Qantas, Caterpillar, Toll) across the transport sectors automotive, commercial road transport (Fleet), and aviation.
Position Summary:
As Senior Software Engineer (C++/Linux) – Customer Delivery you will play a key role in evolving multiple embedded vision products, both in-production and entering production, and delivered to a single major Fortune 100 company.
This is a hands-on role that blends software development expertise, technical problem solving, disciplined delivery, and strong verbal & written communication skills. You will work closely with the customer, eliciting requirements and translating them into technical specifications. You will collaborate with an international team, writing code, delivering production software releases, investigating complex field issues, and providing technical support to customer engineers.
This role suits a strong C++ developer who enjoys solving complex real-world issues, working directly with customers, delivering product, and taking ownership of problems through to resolutions
Key Responsibilities:
Product Development
· Contribute to product roadmap delivery through design changes, code contributions, and peer reviews
· Elicit customer requirements and translate to technical requirements specifications
· Implement feature enhancements and bug fixes (C++/Linux)
· Software integration of ML and algorithmic feature updates
· Participate in design and code reviews, ensuring solutions are robust and maintainable
· Support release preparation activities
· Improve Automation and AI ways of working
Customer Support
· Provide technical investigation support for issues raised during the customer’s internal testing, release readiness, and deployment activities
· Represent technical topics in customer meetings, participate in customer technical discussions and workshops
· Explain software designs to customer engineers, and answer technical questions that help unblock their development activities
· Document technical summaries in agreed channels (e.g., JIRA tickets, Confluence pages, email summaries) with reproducible steps, evidence, and recommended actions
Product Lifecycle Support
· Investigate and resolve product issues found during pre-production, field follow, and customer deployment, using structured root-cause methods
· Guide the customer’s product field follow and New Product Integration (NPI) activities
· Technical reports for the customer - findings, evidence, recommendations
Legacy Product Support
· Provide sustaining support for legacy end-of-life product lines where action is warranted (e.g., critical defects, cybersecurity-related remediation)
· Assist with technical context, historical knowledge, and handover materials that reduce single-points-of-failure across the team
Team Contribution
· Collaborate with an international team of software engineers, testers, systems engineers, scientists
· Actively share technical knowledge
· Drive team and product continuous improvement
· Support team coordination and supervision activities
· Identify and escalate risks early, with clear articulation of impact and mitigation options
Knowledge and Skill Requirements:
Education / Qualifications
· BSc/BEng in Software Engineering, Computer Science, or equivalent
Must Have
· 8+ years professional experience developing C++ within a Linux environment
· Hands-on commercial experience developing products in an embedded environment
· Professional experience in delivering complex HW/SW products across the full product development lifecycle
· Customer-facing technical engagement experience
· Strong communication and documentation skills
· Strong problem-solving skills, and working knowledge of structured root-cause analysis methods
· Familiarity with modern AI-assisted / agentic development practices
· Embraces Agile ways of working
Advantageous
· Working knowledge of computer architectures (cache controllers, memory controllers, kernel configuration, RAM disks, file systems)
· Familiarity with OTA architectures, bootloaders, diagnostics and in-field update mechanisms
· Hands-on exposure to FPGA embedded processors (e.g. Zynq, Altera)
· Working knowledge of the Linux Kernel within an embedded environment
· Capability in hardware design and debugging
· Comfort using laboratory hardware, and operating advanced measuring tools, e.g. oscilloscopes, logic analysers, multimeters.
· Experience writing Python or other scripting languages
· Hands-on exposure to computer vision algorithms
· Knowledge in CI/CD – Jenkins pipelines
. Hands-on experience as a Scrum Master
- Department
- Technology - Fleet Product Development
- Locations
- Melbourne
- Date Posted
- 12 May, 2026
About Seeing Machines
We are a global company headquartered in Australia, an industry leader in computer vision technologies which enable machines to see, understand and assist people.
Our machine learning vision platform has the know-how to deliver real-time understanding of drivers through Artificial Intelligence (AI) analysis of heads, faces and eyes. This insight enables Driver Monitoring Systems (DMS), which monitors driver/operator identification and attention to prevent fatalities.
We exist to get people home safely.