Senior Software Engineer
Listed on 2026-03-02
-
Software Development
Software Engineer, Embedded Software Engineer, Senior Developer
United. Inspired.Performance unites us, innovation inspires us, and commitment drives us to keep moving forward.
All new thinkers are welcome.We are looking for candidates who want to develop, grow, and dare to think new. Innovation is an important part of our DNA. If you appreciate an environment where you get to think new and constantly evolve, you will thrive here.
About us .Epiroc is a global productivity partner for mining & construction customers and accelerates the transformation toward a sustainable society. With ground-breaking technology, we develop and provide innovative and safe equipment, such as drill rigs, rock excavation and construction equipment and tools for surface and underground applications. We also offer world-class service and other aftermarket support as well as solutions for automation, digitalization and electrification.
Our global headquarters is based in Stockholm, Sweden and we have around 18,000 passionate employees supporting and collaborating with customers in over 150 countries around the world. Learn more at
We succeed in our core business because we are passionate innovators with courage to change. With collaboration and mutual confidence, teams and individuals trust and support each other's abilities to offer solutions. Together, we lead the way to make mining and construction more sustainable.
Benefits- Benefits eligibility begins the 1st of the month after start date
- Health care eligibility - including medical, dental, vision, prescription and telemedicine
- Wellness program
- Employee discounts
- Short and long-term disability insurance
- Life and AD&D insurance
- Flexible Spending Accounts (FSAs) and Health Savings Account (HSA)
- Employee Assistance Program
- 401(k) plan
- Direct deposit
- Tuition reimbursement program
- Paid Vacation
- Paid Sick Time
The Senior Software Engineer - C++ will participate in the entire software development life cycle for embedded software operating on unmanned robotic vehicles. This will include systems running on real time operating systems and Linux based systems. Duties include, but are not limited to, requirements decomposition, design, implementation, testing, and support. Realize external and internal customer requirements for vehicle control, programmable actuators, and perception sensors.
Work Type: Hybrid
Location: Selected candidate can work either at Providence, Utah or Perth, Australia
Visa Sponsorship: This opportunity is NOT approved for Visa sponsorship
Relocation: This role may provide relocation assistance to suitable candidate within their home country.
Shift Timings: 40 hours a week
Responsibilities- Participates in the software development lifecycle for embedded applications which include requirements refinement, design, development, testing, and documentation.
- Team player who collaborates closely with other team members on design reviews and code reviews to not only ensure individual success but also helping others be successful.
- Analyzes production data, diagnoses, and corrects defects.
- Collaborates with cross-functional engineering (systems, electrical, mechanical) teams for defining interfaces and ensuring smooth integration.
- Works closely with the product team to ensure that customer/business requirements and constraints are clear before any design is done.
- Write extensible, testable, and maintainable C++ code while taking into consideration the computational and memory constraints present in an embedded environment.
- Clear and concise written and verbal communication for highly technical concepts.
- Adopts a testing-first mentality, including unit testing, integration testing, and system testing.
- Mentor and provide technical guidance for fellow team members.
- Formal Education Requirement:
Bachelor Degree or related experience - Minimum Years of Experience Necessary:
At least 5+ years of full-time professional experience designing and implementing embedded, real-time software systems using C/C++ for embedded processors. - Ability to take on team lead responsibilities and mentor junior engineers.
- Proven track record of delivering high-quality software on time.
- Strong problem-solving skills and ability to debug complex embedded systems.
- Experience with developing and integrating software for vehicle control systems.
- Strong experience with object-oriented design patterns and SOLID design principles.
- Experience with developing software for Linux systems and systems running an RTOS.
- Strong experience using Git version control.
- Strong experience using the ROS2 framework
- Familiarity with controls algorithms or electromechanical systems.
- Familiar with a variety of communication protocols, i.e. CAN bus, serial, ethernet and pub/sub network architectures, i.e. DDS and MQTT
- Advanced innovation, analytical and problem-solving skills.
- Advanced technical skills and physical understanding of product.
- Advanced knowledge of software tools required to complete mission.
- Excellent written, verbal communication, and organizational skills and…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).