Principal Software Engineer, Packages
Marketing & Communications, Software Engineering, Product
Australia · New Zealand
Posted on Friday, December 15, 2023
We're looking for a Principal Software Engineer to help us build and shape dev tools, to unblock every developer in the world. In this role, you'll join our Packages team. This team owns the newest product in Buildkite, see the announcement here: https://buildkite.com/releases/2023-09. As a principal software engineer you will be instrumental in the success of a new customer-facing global product at scale, contributing and leading team-level initiatives.
You'll also collaborate across Buildkite's product engineering teams, experiencing and helping on all aspects of how Buildkite delivers the best CI/CD experience to our customers.
On a typical day, you could be...
Leading the team on a new feature and holding architecture discussions.
Reverse engineering a package management system and implementing in both Packagecloud & Buildkite.
Collaborating asynchronously via Slack on crafting an upcoming feature or fix.
Working on the back-end of our Ruby on Rails app, using MySQL for the database, dipping into AWS and presenting with Rails HTML views & GraphQL.
Solving problems in our production Rails app, isolating issues to fix, working with customers to diagnose fully.
Building a deep understanding of packages in a plethora of languages and communities.
Jumping on video calls with your teammates to discuss and solve problems. Or to just say hi.
Providing feedback on GitHub pull requests or responding to feedback left for you.
Skills and experience we like...
Experience with designing and developing technology products.
Confident in your knowledge of Ruby on Rails and the surrounding ecosystem.
Experience with relational databases, particularly MySQL, in which expertise is a strong nice-to-have.
Familiarity with GraphQL and how it ties together in Rails monoliths.
Some exposure to Go a solid bonus.
Experience designing, developing and maintaining the back-end of Rails applications, for the long-term and not the short-term.
Enjoy collaborating closely with other teams to achieve quality and beautiful work.
Believe in quality code, knowing how to balance your high standards with the problems you are solving and external constraints.
Love solving problems, through collaboration with your team, creating experiments, analysing data, and building fit-for-purpose solutions with the end user front and centre of your mind.
Understand development processes. You are comfortable writing Git commits, pull requests and tests using tools like RSpec. You know how to tackle critiquing others' code positively and productively, and receiving the same sort of feedback.
Seek ways to improve existing processes, continuously improving developer experience and the momentum for the team.
Strong communicator that values empathy and kindness when articulating your ideas and feelings when writing or speaking.
Comfortable working remotely and taking initiative when team members are offline.