On being an Internal Tooling Software Engineer at balena

We strongly believe that the state of the art in software development, testing, and deployment is light years behind what it could be. Balena engineers take pride in accomplishing more with less by exponentially increasing their productivity through automation and internal tooling, and we are never afraid to question established software development practices, and pioneer our own, to improve the way we work.

As part of the Internal Tooling engineering team, you will be working on our cross-platform, in-house continuous integration system (Balena CI); on internal tools that range from automatic versioning based on commit conventions to automated project landing website generation; and on discussing and implementing innovative deployment tools and processes within the distributed systems world. Hopefully, in the future, you will help us release Balena CI to the public as an IoT oriented CI system, tuned for providing Balena based automatic testing pipelines for IoT projects!

Our engineers are well-rounded generalists and great communicators that take pride in maximizing the output of their team. 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 already be familiar with the technologies we use. We are happy to invest in people that showcase a strong understanding of the challenges of software development, testing, and deployment along with a willingness to learn and grow.

Responsibilities



Implement and maintain internal tools to improve our in-house build and deploy pipeline



Maintain the health of our internal build and deployment systems



Identify parts of our development and deployment cycle that can be automated, and push to make that happen



Challenge orthodoxy when that will help the product evolve



Be highly motivated to produce great code



Design, architect, and own the execution of your projects



Collaborate, brainstorm, and coordinate work with other teammates



Understand the high-level goals, and thus know how to prioritize your work



Actively invest back into our own technology, libraries, and frameworks



Requirements



Up-to-date software engineering knowledge and problem-solving skills (both in development and in production)



Good understanding of git, Docker, and shell scripting



Excellent communication skills, and fluency in English



Self-discipline and drive for action — taking ownership and pushing projects to completion



Willingness to ask for support from experts within the team when their particular skills are required



Continuous improvement mindset and desire to make yourself and others more effective



Being curious and willing to constantly build on your knowledge of the balena product and new technologies



Being comfortable working in an environment that practices radical candor and transparency



Bonus points



Experience with the GitHub API and GitHub Apps Marketplace



Familiarity with cross-platform application development (macOS, Windows, and GNU/Linux)



Working knowledge of Concourse CI and Kubernetes



Experience in the Node.js and Rust ecosystem



Contributions to OSS projects (please include a URL)



Interest in IoT/embedded systems as demonstrated through personal projects with a Raspberry Pi, commercial or industrial experience with connected devices, etc.



Experience with balena as a user



Having worked remotely before

Make sure to let us know if any of these items apply to you. If possible, please also share a sample of your work (URL or attachment).







Make sure to let us know if any of these items apply to you. If possible, please also share a sample of your work (URL or attachment).

To apply

We're looking forward to hearing about you! Along with your CV/Resume, please answer the questions in our application form to help us make an informed initial assessment.