Edge API Engineer

at Balena

On being an Edge API Engineer at balena

Balena helps developers deploy and manage tens of thousands of devices across the globe. These devices come in many different types and architectures, with varying resource constraints. To keep all of these devices healthy, responsive and ultimately functional, balena utilizes an on-device agent, named the balenaSupervisor. This agent is responsible for managing application containers and data on-device, communicating state changes with our API, and fulfilling the requirements of our users’ application code.

As an Edge API Engineer at balena, your role will include designing and writing fault-tolerant code on an open source project that is used in a mission critical part of our product. You will be a core member of the balenaSupervisor team and act as a go-to resource for internal and external developers working with this key component. You will also help develop the roadmap for future improvements to and expansion of balenaSupervisor functionality.

Responsibilities

  • Coordinate with the balenaSupervisor team to design solutions to complex problems
  • Help maintain the balenaSupervisor open source repository; interact with community members and help guide contributions
  • Be highly motivated to produce great code
  • Balance short-term fixes and feature releases with the need for a clean and consistent architecture
  • Evaluate customer requirements and other inputs to determine the scope and timing of new functionality
  • Collaborate closely with our device, OS and product teams
  • Actively invest in our own technology, libraries and frameworks
  • Understand security best practices and strive to apply them to your work
  • Push for delivering a great UX for fleet owners

Requirements

Need to have:

  • Good understanding of software engineering practices and how to apply them
  • Product mindset: gather feedback, understand and articulate user needs, help develop your component roadmap, and build solutions
  • Perseverance to understand the root cause when investigating elusive bugs
  • Self-discipline to take on a project and push it to completion without too much management
  • Be willing to ask for help, and provide it to those who ask
  • Strong problem-solving abilities. You can split a complex problem into incremental pieces
  • Continuous improvement mindset and desire to make yourself and others more effective
  • Comfortable working in an environment that practices radical candor and transparency
  • Excellent written communication skills, and fluency in English

Nice to have:

  • A sample of your work
  • Experience leading or contributing to OSS projects (please include a URL)
  • Have worked remotely before
  • Experience with balena as a user
  • Experience with embedded GNU/Linux, anything ranging from personal projects with a Raspberry Pi to commercial or industrial scenarios with custom devices
  • Experience with Node.js, Docker, microservice architectures, rust
  • Experience with embedded development and microprocessors

Make sure to let us know if any of these items apply to you!