Senior C# & C++ Software Engineer - Underground Mining Technology
Summary
A hands-on senior engineer role leading a team of up to 4 developers building next-generation underground mining tracking and proximity-detection technology. Day to day mixes C#.NET and C++ development across backend, frontend and embedded software with technical leadership, requirements decomposition and integration with RF, hardware and systems engineering.
This is a brand-new senior product development role with a leading global original equipment manufacturer (OEM) of mining equipment and technology, based at its Bibra Lake office in Perth.
You'll join a new multidisciplinary team developing the next generation of underground tracking and proximity-detection technology. Using RF-based technology, the system tracks people and mobile assets below ground, providing real-time situational awareness and helping identify potential hazards in complex underground mining environments.
This is a hands-on technical leadership role. You'll lead a team of up to 4 Software Engineers delivering a mix of backend, frontend and embedded software, while continuing to contribute technically yourself.
The broader product brings together software, embedded systems, RF communications and hardware in a sophisticated, safety-related underground mining environment.
The team
You'll join a new multidisciplinary product development team of approximately 10 people, including:
- 4–5 Software Engineers working across backend, frontend and embedded software
- Senior Systems Engineer
- Project Manager
- Hardware Engineers
.
A bit about the role
This is a senior, hands-on software engineering and technical leadership position.
In addition to designing and developing software yourself, you'll be responsible for leading a team of up to 4 Software Engineers and coordinating software development across backend, frontend and embedded components.
A key responsibility will be decomposing requirements and user stories into clearly defined software components and engineering tasks, then coordinating their implementation across the software development team.
You'll help determine how functionality should be structured and allocated across the solution, provide technical direction to the engineers and ensure interfaces, dependencies and integration points between the different software components are clearly understood.
The Senior Software Engineer will also be expected to undertake complex development assignments without close supervision.
What you’ll be doing
- Design and develop production-quality C#.NET software.
- Lead and provide technical direction to a team of up to 4 Software Engineers.
- Work across a product delivering backend, frontend and embedded software.
- Analyse and decompose requirements and user stories into clearly defined software components and engineering tasks.
- Coordinate the implementation of those components and tasks across the software team.
- Remain hands-on with software architecture, design, development and problem-solving.
- Take ownership of complex technical problems and key areas of the software solution.
- Work closely with systems, hardware and software engineers to manage interfaces and integration.
- Design and implement efficient algorithms with consideration for performance, reliability and maintainability.
- Develop and deploy software into Linux-based environments.
- Develop software using network-based protocols and communications technologies.
- Build and consume APIs using OpenAPI and REST.
- Develop and maintain unit and integration tests.
- Work with modern CI/CD pipelines, including GitHub Actions.
- Apply sound software engineering principles including SOLID and RAII.
You'll ideally hold a tertiary qualification in Software Engineering, Computer Science, IT, Engineering or a related discipline, although relevant commercial experience will also be considered.
What you’ll bring
We’re looking for an experienced Senior Software Engineer with strong commercial development experience across C#.NET and C++.
Ideally, you’ll have experience with many of the following:
- Strong commercial C#.NET and C++ development
- Designing and developing production-quality software from the ground up
- Breaking complex requirements into software designs, components and engineering tasks
- Providing technical direction or coordinating development across a software engineering team
- Boost, STL, Conan, CMake and/or POCO
- RAII and SOLID design principles
- Designing and implementing time and space-efficient algorithms
- Linux development and deployment
- Containerised applications
- CI/CD, ideally GitHub Actions
- Unit and integration testing
- OpenAPI and REST
- Network protocols and technologies including TCP/IP and multicast/IGMP
- CANbus
- Software integrating with embedded systems and/or hardware
- An understanding of Functional Safety and its implications for software development.
You’ll ideally hold a tertiary qualification in Software Engineering, Computer Science, IT, Engineering or a related discipline, although relevant commercial experience will also be considered.
Why this role is interesting
This isn't conventional enterprise application development.
You'll be joining a new product development initiative building technology for demanding underground mining environments, with exposure across backend, frontend and embedded software, RF communications, hardware and systems engineering.
It's an opportunity to lead a small software engineering team and have significant technical influence over a next-generation product, while remaining hands-on with software development.
The practical details
Location: Bibra Lake, Perth
Work arrangement: Onsite, 5 days per week
Contract: Initial 12-month contract with the expectation of ongoing extensions beyond the initial term
Eligibility: Australian or NZ citizens, or Australian Permanent Residents only
Want to know more?
For a confidential discussion about the role, contact:
Fortunato (“Forty”) Galluzzo – Task Recruitment
M: 0438 870 9417
E: forty@taskgroup.com.au
Katrina Penfold – Task Recruitment
M: 0408 737 527
E: katrina@taskgroup.com.au