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 thebalenaSupervisor. 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 Nodejs, Docker, microservice architectures, rust
Experience with embedded development and microprocessors
Make sure to let us know if any of these items apply to you!
