Software Engineer (IIoT)

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

Similar jobs