Now hiring

Software Engineer (IIoT) @ Dataprophet

Cape Town, Western CapeOnsiteFull-time
Apply with ResuMinder

Opens on the employer's site

About this role

Introduction:

Dataprophet collects billions of data points every month from factories around the globe - yet we're just getting started. Our products and services consist of a fleet of purpose-built industrial edge devices (EDGE), a data lake and web front-end for data centralisation and visualisation (CONNECT), and targeted machine learning solutions (ML).

Role Overview:

We are looking for a skilled software engineer to join our EDGE team. As an EDGE Software Engineer you join a small team of senior software engineers to execute upon and refine the Edge product roadmap. This is a varied and fast-paced role that will keep you on your toes. You will have the opportunity to deepen your knowledge of Linux systems, streaming frameworks, infrastructure management, and concurrent programming, to name a few.

Many parts of the Edge stack pose unique technical challenges that don’t quite fit a typical Software Engineering role. Learning is a key part of our team, and we put a great focus on upskilling and orienting team members to make sure that they gradually become comfortable with the entire stack. We do in-depth PR reviews with helpful feedback, and put a focus on code quality over delivery speed.

Roles and responsibilities will include, but are not limited to:

• Development of the Edge stack, a diverse set of tools and software that streams factory data to the cloud. The Edge stack has low technical debt, a high quality codebase and incorporates modern design principles. Unique challenges include:

• Fully headless operation across a large fleet of devices

• Low-spec hardware requiring attention to performance optimisation and reliability

• Stringent stability, correctness and security requirements

• Transitioning seamlessly between offline and online operation

• Architecting, deployment and maintenance of a highly diverse, asynchronous Edge fleet. Unique challenges include:

• Automation and monitoring of many devices spanning the globe.

• Unreliable connectivity, power and low bandwidth requires a highly reliable deployment pipeline

• Fully remote managed fleet, requiring the development of unique solutions to ensure reliability of data streams

• Diverse, in-depth monitoring and alerting to allow a small team to manage a very large infrastructure

• Development of a highly customised, hardened Linux-based distribution with modern security features

• Development of the Edge network and data ingestion pipeline. Unique challenges include:

• Development of a high throughput, low latency data ingestion pipeline that has strong data delivery and strict security requirements

• Development of the Edge VPN network, which needs to operate reliably and efficiently in a large variety of corporate networks via multiple protocols

• Architecting, administration and management of the Edge Cloud Infrastructure. Requirements include:

• Building solutions that can be replicated across multiple cloud environments

• Highly automated deployments and pipelines

• Strict security requirements to meet Industrial cybersecurity standards

• Development of the Edge onboarding process, which involves tooling development to allow OEMs to onboard and prepare Edge devices at scale. Unique challenges include:

• Automating processes like identity attestation, device acceptance and OS installations

• Providing tools to onboard legacy hardware that has already been deployed at scale

• Working with skilled OEM partners that provide detailed and relevant project ideas, requirements and input to develop a truly unique and valuable platform.

Qualifications & Experience:

• At least a relevant short course, diploma or degree in Computer Science, Electrical Engineering, or a similar field.

• At least 4 years' experience of Linux systems, collaborative software engineering in general, and shell scripting and Python development in particular.

Skills and tools

• Being comfortable with on-the-job learning

• Required skills at an intermediate to senior level:

• Python software engineering

• Linux systems administration

• Source Control (GitHub; Git)

• Any of the following skills are a plus:

• DevOps: AWS, Terraform, CI/CD

• Fleet management: SaltStack

• Monitoring: Prometheus, Grafana

• Golang

• Bash scripting

• Networking: Wireguard, routing, load-balancing

• Security: Linux firewalls, SIEM/EDR, advanced security features like FDE and TPMs

Skills

Engineering Team

Ready to apply?

Install the ResuMinder extension and we'll auto-fill the application in seconds — no rewriting.

See how your CV scores