Overview

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.