Software Engineer – Embedded
FLUENT ENGLISH REQUIRED
The Company
Is the global leader in mine management technology. Our innovative technology powers mine operations in every corner of the globe. The products that we create, the solutions that we engineer and the service that we deliver set us apart in the Mining Technology industry. We’re more than a company, we’re a community of passionate, creative professionals striving toward a shared vision: to revolutionize the way the mining industry operates. With a presence stretching from Johannesburg to Vancouver, Sydney to Lima, you are part of a global brand that supports creativity, fosters innovation and encourages you to think big, share ideas and be yourself.
The Challenges: Embedded Systems and Communications
This team uses advanced embedded systems knowledge to increase synergies between multi-disciplinary teams in charge of bringing up new application software, hardware and communication products to market.
Our team enables the use of advanced communication, security and edge computing technologies in order to meet the very demanding 24/7 real-time mine environment. Embedded Systems and Communication also provides platform and edge solutions aligned with industry trends for enabling a SoA ecosystem with DevOps principles.
Responsibilities
Each day will present you with new challenges and opportunities to test and grow your skills. As a Software Engineer – Embedded, you will be responsible for the following:
- Participate on a team in charge of enabling “Mining 4.0” with the use of Open Technology Solutions
- Produce and maintain high quality, tested and efficient code, following industry standards.
- Understand Company applications domain and pro-actively interacting with product teams to improve functional and nonfunctional aspects of platform components.
- Research, build and maintain Linux purpose-build distributions for dedicated highly reliable embedded Hardware, based on industry good practices.
- Research, select, design, and maintain DevOps automotive-grade solutions.
- Conduct research, evaluation, proof of concept, design, development and support of products using emerging technologies for communication, security, containers and edge computing.
- Integrate large scale industry solutions for communication and security, such as 4G/5G, Wi-Fi, and automotive P2P, to enable top tier production and safety systems for mining applications.
- Lead, coach and mentor a team of developers at different levels, in house or off-site contractors.
Required Skills
- BSc in Computer Science, Engineering or equivalent.
- 5+ years of proven experience in Embedded Software Development.
- Advanced knowledge on TCP/IP networking and wireless communications.
- Expert knowledge of GNU/Linux Software and Kernel Development on x86 and arm hardware platforms.
- Solid Programming experience on development of embedded systems, Device Drivers and Board Support Packages for GNU/Linux and Windows based systems.
- Excellent coding skills in at least one major object-oriented language, preferably Java/Kotlin
- Strong embedded software and firmware development skills in C/C++.
- Good grasp of testing and debugging techniques for platform code, device drivers and communication protocols.
- Solid understanding of performance-critical, real-time, highly available and distributed systems.
- Strong analytical, written, and interpersonal skills.
- Fluent English
- Demonstrated problem-solving ability and attention to details
- Strong written and interpersonal skills, ability to effectively interact with local and offshore development teams
- Experience with requirements elicitation and system level analysis.
Desired Skills
- Core programming knowledge on multi-threading, garbage collector, advanced debugging and memory profiling.
- Experience with building and customizing Yocto and Debian Linux, DD-WRT or OpenWRT.
- Knowledge of Domain Driven Design, Microservices Design, gRPC , REST APIs and API gateways/routing in Kubernetes.
- Experience with SQL.
- Experience with some of the industry standard frameworks, such as Spring Framework, RabbitMQ/ActiveMQ, Kafka, Docker, Kubernetes, etc.
- Experience with DevOps, CI/CD practices and Agile development processes.
- Experience with version control using Git and Azure DevOps Server.
- Experience with Web Technologies such as HTML, CSS and JavaScript.
Job is Archived
You may have followed an invalid link or the job you are looking for has been archived.
Learn About GoHire