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!