Software Engineer
Our Mission: To Be Bold and Impactful
At Emesent, we build autonomous robotics, LiDAR mapping, and spatial data technologies that are transforming the way industries understand and interact with the physical world. Founded in 2018 with deep roots in Australia's globally recognised CSIRO, Emesent has become a global leader in drone autonomy and mobile mapping solutions.
With a rapidly growing international customer base and expanding product portfolio across hardware, desktop software, and cloud platforms, we are entering an exciting new phase of growth and we're looking for engineers who want to help shape what comes next.
The Opportunity
Cortex is the software and control architecture at the heart of every Emesent scanner - it's what takes you from handheld mapping all the way to autonomously controlling robotic systems connected to it. As a Software Engineer on the Capture team, you'll work on the real-time systems that turn sensor data into autonomous action.
You'll join Capture working hands-on across the stack from low-level C++ modules to the Python tooling that supports testing, tuning, and deployment. This is an individual contributor role reporting to the Capture Engineering Manager, with plenty of room to grow technical depth and ownership over time.
Key Responsibilities
Cortex Software Stack Development
Design, implement, and maintain core Cortex modules covering hardware interface, navigation, mapping, and perception
Contribute to localisation and sensor fusion pipelines running on real robotic hardware
Improve the performance of our perception pipeline, path planning and navigation for GPS and GPS-denied environments
Maintain and expand our simulation pipeline to support development, testing, and tuning of autonomy behaviours
Systems & Software Engineering
Write production-quality C++ for performance-critical, real-time robotics components
Build supporting tools, test harnesses, and analysis scripts in Python
Develop and extend our ROS-based architecture considering compute constraints of the hardware platform
Testing, Deployment & Field Support
Validate autonomy behaviours in simulation and on physical hardware, including field trials
Debug and resolve issues surfaced from real-world deployments, working closely with hardware and field teams
Contribute to CI, automated testing, and regression pipelines to keep the stack reliable as it grows
Collaboration
Work closely with senior engineers, hardware, and product teams to translate customer and field requirements into robust software
Participate in design reviews, code reviews, and technical planning
Document design decisions and share knowledge across the team
Assist with support escalations raised by our clients, using the learned feedback to make our software better and more intuitive to use
About You
You're a software engineer who enjoys working close to the hardware and seeing your code make a physical system work. You're comfortable operating with a reasonable degree of autonomy, but you know when to ask for help and when to loop in a senior team member.
You are effective because you can:
Write clean, efficient, well-tested C++ for real-time or resource-constrained systems
Use Python confidently for tooling, prototyping, and analysis
Reason about the practical challenges of robotic systems - noisy sensors, timing, hardware failure modes, and the gap between simulation and the real world
Communicate clearly with both engineers and non-technical stakeholders about progress and trade-offs
Experience & Background
Our ideal profile is someone with:
3+ years of professional software engineering experience, ideally with some exposure to robotics or embedded systems
Strong proficiency in C++ (C++14/17 or later) and Python 3
Hands-on experience with ROS or ROS2 in a development or production capacity
Comfort working with Linux-based development environments
A degree in Computer Science, Software Engineering, Robotics or a related field, or equivalent practical experience
Nice to have:
Experience with at least one of: SLAM, sensor fusion, path planning, computer vision, or control systems
Experience with LiDAR, depth cameras, IMUs, or other robotic perception sensors
Exposure to simulation tools (Gazebo, Isaac Sim, or similar)
Experience deploying software to embedded or edge compute platforms
Familiarity with CI/CD pipelines and containerised development (Docker)d
Experience with AWS deployment and integration with GitHub
Experience in agentic engineering, from design to coding
However, we encourage people with some, but not all, of this background to also apply.
Why This Role Matters
Cortex is the software that makes every Emesent scanner work, from handheld mapping to full robotic autonomy - it's what our customers are actually buying when they choose us for GPS-denied mapping and inspection. As an engineer on Capture, your code will ship on real hardware, in real mines and tunnels, and directly shape how reliably our scanners and drones operate in the field.
The Added Perks
9-day fortnight - every second Friday off
Employee Share Option Plan (ESOP) - share in Emesent's success
Work alongside a passionate and collaborative team building world-leading technology
Genuine learning and development opportunities including LinkedIn Learning access
Employee Assistance Program
One additional day of leave each year for your work anniversary
Novated lease options
Why Emesent?
At Emesent, you'll work on technology that is genuinely shaping the future of how industries capture and understand the physical world. We offer a dynamic, collaborative environment, competitive compensation, and real opportunities for professional growth. Join us in pushing the boundaries of robotics and spatial intelligence.