Golang Engineer - Open-source Project
Resin.io provides a software platform that helps developers build, deploy and manage code on connected devices. We brought Docker to embedded GNU/Linux devices in 2013 and have been building our IoT toolkit ever since. We also maintain a variety of successful open source projects including Etcher, Balena, and resinOS, and made contributions to high-exposure projects such as Docker, Electron, and AppImage.
Our technology is open, standards-based, and proven in production across a wide range of scenarios from drones, 3D printers, point-of-sale devices, tidal turbines, skyscrapers and more. Our investors include DFJ, Aspect Ventures, GE, and Ericsson.
Resin is a highly distributed, remote-friendly company with a pretty much flat hierarchy. Our organization is adaptive, getting feedback signals from our users and systems. Right now we organize ourselves by projects, which allow us to build complex features and solve big problems, while staying mutable. As a distributed group, we rely on clear communication and the rule of "assume positive intent" to help us work together across time zones, cultures and first languages. Our base of operations is nominally London, though really we are living all over the world: from Barcelona to Bulgaria, Argentina to Vietnam, and many more.
On being a Golang Engineer at resin.io
Resin.io maintains Balena, an open source Moby-based container engine tailored to IoT devices. We are looking for Golang Engineers with in-depth expertise on container technologies and open source software to innovate in the realm of containers for embedded GNU/Linux devices.
- Actively invest back in our own technology, libraries, and frameworks
- Understand security best practices and strive to apply them in your work
- Be highly motivated to produce great code
- Evaluate customer requirements and other inputs to determine the scope and timing of new functionality
- Lead and maintain the Balena container engine open source project
- Contribute back to major open source projects such as Docker
- Research novel approaches to efficiently run and update containers in embedded devices
Need to have:
- Desire to make yourself and others more effective. You'd be bothered by an inefficient process
- Good understanding of software engineering practices and how to apply them
- Excellent written communication skills, and fluency in English
- Self-discipline to take on a project and push it to completion without too much management. You also know when to ask for help
- Experience leading, or contributing to, open source projects
- Experience with GNU/Linux
- Experience with Golang
- In-depth knowledge of Docker internals like namespaces, cgroups, and layers
Nice to have:
- A sample of your work (URL or attached sample)
- Contributions to OSS projects (please include a URL)
- Having worked remotely before
- Experience with Resin.io 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
- Experience with Kubernetes
Make sure to let us know if any of these items apply to you!
- Work with an extremely talented, diverse team
- Equipment of your choice
- Flexible working hours
- Flexible vacation policy
- Annual company gathering in an international location - this year, Barcelona in October
- We send you hardware for side projects!
About working at Resin.io
We come from 15+ countries, and we embrace a remote culture with flexible hours. To us, this means being highly productive while still maintaining a healthy work-life balance. You need to be able to work remotely, and have a dependable internet access available so you can join video calls.
We are an equal opportunity employer and value diversity. We value knowledge and initiative more than educational and personal backgrounds, age, or location. We maintain a work environment in which team members are treated with respect at all times and in which thoughts and ideas can be shared openly.
We communicate proposals, discuss with others in the team and accept feedback if it makes the result better. We value the ability to learn, which is more important to us than knowledge of specific technologies. We know that learning fast means being outside our comfort zone, which is OK -- we'd rather learn than let our assumptions get in our way.
We're delighted to hear about you! Send us your CV, with a focus on what you can bring to the team. Please include in your cover letter a paragraph about something you worked on that you found technically appealing or exciting.