There’s this idea floating around: an idea that builds are the devil. That they’re unreliable, tedious and confusing. I won’t try to refute this… but my secondment has taught me that builds are so much more! I began at Atlassian as a developer on the Confluence development team where my work primarily involved delivering features such as Confluence-JIRA integration and the Confluence Space IA (Left Sidebar). So when I was approached about joining the Confluence build engineering team for 3 months I didn’t know what to expect. Confluence build engineering was a new team created for the purpose of maintain and improving Confluence builds ranging from test automation to automatic deployment. Learnings, learnings, and more learnings If I had to choose a word to describe builds, it would be “mentor”. Relentless, but with much to offer. And it goes far beyond the technical stuff. By far my biggest learning was the consequences of technical debt. Builds are in their current state because we allow them to be: when we neglect them, they turn on us. And we on the Confluence team had been guilty of this at times. Joining the build engineering team was an opportunity to make things right. Without a strict product roadmap and sprint schedule governing my deadlines, I could work on what needed to be done and I had the time to do it well. This, in itself, was a tremendously satisfying experience! My time on the builds team was also a lesson in self-management because there is much more freedom over how the team’s backlog is shaped. You will often stumble across something that needs attention, you will raise an issue for it, and you are probably the one who will decide how and when it will be done. For me, this translated to going to work and being given the opportunity to be the change I seek–every single day. This heightened sense of ownership played a key role in my enjoyment of the secondment. But that doesn’t mean I was at liberty to choose my own adventure all the time. Multi-tasking is something build engineers learn to master and, with that, there is often a need to compromise. You’re often already juggling multiple issues when another comes long and taps you on the shoulder. It starts off being quite overwhelming but I soon learned to manage my priorities–a skill that will serve me well no matter what team I’m on. Build engineering can be fun! So what’s the work like on the build engineering team? Well, it’s certainly not all about flaky builds! Housekeeping: For starters, I worked on a tool to report on build health. (Yes, there’s feature work involved!) There’s still work to be done in terms of figuring out how we can convert build health results into actions, but the foundations have been laid. I also set up builds for our new enterprise support policy, which entails supporting older versions of Confluence for up to 12 months–these older versions need builds. Quarantined tests: While looking over the quarantine list of our Bamboo instance I came across tests which have stabilized, flaky tests which hadn’t been […]