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 Backend Engineer at resin.io
We maintain a service infrastructure for IoT devices, and this is where we have quite a bit of our engineering talent. You will be actively working on one or more of these core components, fixing bugs, solving complex technical problems, and implementing user-facing features across the resin.io stack. While resin.io focuses on IoT, the majority of our engineers don't require embedded programming expertise.
People who are successful engineers are well-rounded generalists and great communicators. They are eager to take responsibility for a project, and are able to make good decisions about the project because they have the context of what's important.
We don't require engineers to be already familiar with the technologies we use. We are happy to invest in people that showcase a strong understanding of the challenges of building secure distributed systems.
- 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
- Design, architect, and own the execution of your projects
- Ensure the architecture of our distributed system remains cohesive
- Collaborate, brainstorm, and coordinate work with other resineers
- Understand the high-level goals, and thus know how to prioritize your work
- Challenge orthodoxy when that will help the product evolve
- Work efficiently with a certain amount of ambiguity in the tasks you're executing
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
- Strong problem-solving abilities. You know how to split a complex problem into incremental pieces
- Basic front-end development skills
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 React, Node.js, Docker, PostgreSQL, or Kubernetes
- Experience with embedded development and microprocessors
- Experience with the Electron framework and cross-platform development
- Experience leading software projects in the open source world
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.