What Do You Call the Person Responsible for the Build?
Teams who develop software often designate someone to take on the role of designing, creating and supporting the build automation. There are several names for this role, including Build Master, DevOps Architect/Lead, Release Engineer, Developer Tools Engineer and Developer Productivity Engineer. We also see Team Leads and Architects owning builds. Each of these names has pros and cons. However, only one of them is stupid and should be banned forever.
Which One Is Stupid?
Build Master. Let’s get rid of this term entirely, forever. A caveat is that this has been the common term for a while now and we have this term in use already in many places.
Because It’s Sexist
There are several key reasons, but the one that is cause for immediate banning is that it is an inherently sexist phrase. Why is that the case? The historical definition of “Master” is a man who has servants or slaves. This word is further gendered because there is a word that is the “female equivalent” of the word “Master” which is the awful and awkward word “Mistress”.
Bizarrely, while the word Master means “man in authority or control” and the secondary definitions include excellence in skill of craft, the female equivalent of the word—"Mistress"—has an unfortunate and demeaning sexual connotation.
Louis CK aptly points out that when people say “The N Word” that they are making the actual offensive word appear in the listener’s head. His point is that that is what a word *is*– a way to make an image or thought appear in someone else’s head.
By this standard, using the term “Master” tends statistically to evoke a male image, and that's partly due to the existence of the female equivalent, “Mistress.”
You could argue that a neutral term like “Engineer” could also be causing a male stereotype image to appear in people’s heads. I concur, and this is cause for consciously offsetting this stereotype using campaigns like #ILookLikeanEngineer. But, the word Engineer is thankfully devoid of having some kind of awful complementary gender paired term like “Engineeress.” So, the word itself does not need to be disposed of, just reclaimed.
Because It’s Authoritarian
The concept of a “Master” implies a level of control and domination that isn’t really appropriate for the role. The biggest anti-pattern that we see in this role is that Build Authors sometimes get into a fight with developers. This kind of “Build Master” gets upset when developers change things (which is their job) and ends up in a defensive position.
The best kind of Build Owner is one who is constantly thinking about how to make the build faster, how to make it serve developers better and make them happier, and how to automate even more of the repetitive tasks involved in shipping software. This is why we like titles like “Developer Tools” or “Developer Productivity Engineer” which we are seeing in larger companies with advanced developer teams.
Because It’s Going Away
To be clear, Build Engineering as a professional software discipline is gaining strength and increasing, something evident from just typing “Gradle” into Indeed job trends (Gradle being a common searchable skill across a number of roles regardless of what they are called).
What is going away is the term “Build Master.” In addition to being a sexist term, the job title is a sign of an immature field.
Why is the term “Build Master” going away? Do you see a lot of people around with the job title “WebMaster” anymore? This term was popular back in 1992 at the beginning of the “World Wide Web.” As you can see from indeed.com the role of a “Webmaster” is just not part of the maturation of that industry.
Because There Are Better Options
We at Gradle Inc. think a lot about professionalizing the software industry. There are a few job titles that we feel reflect a “pre-DevOps” era mentality like “Release Engineer” which are not inherently dreadful titles but generally speaking are roles where the person responsible for the build is closer to a SysAdmin/Ops type person and not a developer. If you see the role “Release Engineering” reporting to a separate QA group, that’s a different pattern, but one that predates DevOps and a suboptimal one where the build is outside of the hands of developers.
What Are the Best Teams Doing?
Well, it mostly depends on if it is a small or a large team. In smaller teams, the person responsible for the build is usually some kind of “lead developer”, a person who is generally admired by the team. In larger teams there is often a dedicated function which is now called “Developer Tools” or “Developer Productivity”, and there are a group of people who are responsible for build tooling (including things like Gradle plugins) across their entire organization. This is a high-leverage role and it’s not focused on the build for its own sake, but for its ability to automate the release of software at a large scale.
Die Build Master Die.
In short, if you identify as a “Build Master” or you use the term frequently, the time has come to stop. If you are looking for an alternative, I will propose that we as an industry go with “Build Engineer” which is a way to professionalize this role.