We are seeking a skilled
Senior C++ Software Engineer
to join our team, focusing on
high-performance applications for mining, drilling, and construction equipment
. The ideal candidate will have extensive experience in
C++ programming, a strong proficiency in Linux
, and a
solid understanding of automation testing
.
Key Responsibilities
- Design, develop, and maintain high-performance C++ applications for mining, drilling, and construction equipment
- Optimize software for performance and scalability, ensuring the best possible performance, quality and responsiveness of applications.
- Write and maintain efficient, reusable, and reliable C++ code.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Implement and manage software development processes and best practices, including code reviews.
- Develop and execute automation tests using Pytest.
- Troubleshoot, debug, and upgrade existing systems to ensure optimal performance and reliability.
- Conduct testing, debugging, and validation of control systems to ensure they meet performance and safety standards.
- Stay updated on advancements in control technologies and best practices
Required Skills And Qualifications
- Bachelor’s or master’s degree in relevant engineering fields (e.g., Electronics, Mechatronics, Robotics, Computer Science) with 4 to 8 years of professional experience.
- Strong communication skills, can-do attitude, excellent analytical and problem-solving abilities, and hands-on Agile experience (Scrum/Kanban).
- Proficiency in C++ programming (C++11 or C++14) with expertise in Object-Oriented Programming (OOP) in Linux environments.
- Expertise in data structures, design patterns, UML design, and multithreading.
- Experience in Qt GUI development.
- Proven skills in unit testing and automation testing with Pytest.
- Experience with embedded Linux, RTOS, and shell scripting.
- Knowledge of communication protocols: CAN, J1939, LIN, Ethernet.
- Strong command of Linux and related commands.
- Good to have the experience with build systems: CMake, Bazel.
- Advanced debugging using GDB.
- Application development for mining, drilling, and construction equipment.
- Familiarity with Git and CI/CD practices.
- Experience with Azure Devops Eco System
- Experience with Yocto for custom Linux distributions.
Nice To Have
- Previous experience in heavy machinery in mining, construction, or automotive control systems
- Self-starter with curiosity to learn and an exploratory mindset
- Experience in ADAS (Advanced Driver-Assistance Systems)
- Develop and integrate software for sensor calibration, sensor fusion, including LiDAR, cameras, and IMUs, for future autonomous capabilities
- Solid understanding of control systems and sensor integration
- Experience with machine learning, deep learning, computer vision, or AI techniques.
- Experience with simulation tools like Gazebo, Unity or Unreal.
- Experience with Docker containers
- Strong problem-solving skills and attention to detail.
- Excellent communication and teamwork skills.
- Experience with real-time systems, embedded software and Qt IDE is a plus.
- Agile certifications such as Scrum Master or product owner
Skills: linux,drilling,testing,mining,azure devops eco system,data structures,uml design,skills,shell scripting,agile testing,design,git,agile methodologies (scrum/kanban),communication protocols (can, j1939, lin, ethernet),communication,coding practices,ci/cd practices,object-oriented programming (oop),automation,c++,linux application development,software,design patterns,multithreading,advanced debugging (gdb),c++ programming (c++11 or c++14),automation testing (pytest),c,automation test,rtos,qt gui development,yocto,construction,embedded linux,debug