Zum Inhalt springen

Alle Stellen

Software Engineer (IIoT)

dataprophet · Remote, ZA

Über die Stelle

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