Today we are announcing the Transifex Engineering Manifesto, a document that has been shaping up the quality of our codebase and the culture of our team for almost a year now.
Our “manifesto”, which we usually call TEM, is a set of guidelines, best practices, and processes that define the way our engineers are building our software. In other words, it contains well-defined standards and principles that allow our team to be consistent when it comes to quality.
Why Make it Public?
When presenting the TEM in various events like conferences and meetups, as well as when talking with fellow engineers over beers, we saw that the work we had done with Quality Standards resonated with people. Every developer out there had stories about how they had to deal with really bad code–literally spending days trying to understand and debug parts of their codebase, and about how often their colleagues did things their way without caring if this affected everyone else’s performance and morale. Although everyone had the same problems, none had managed to come up with a viable solution.
People were very enthusiastic about our approach, so we decided to share it with the world, as we saw how much it could potentially help others.
This document was tailor-made for Transifex, taking into account our current team size (~20 engineers), our internal structure, agile practices, culture, and the most common problems we face in our work. For other teams and companies, there are probably different guidelines and processes that would make sense.
Our goal with making this public is twofold. First, we want to inspire engineers and their managers, giving them a gentle nudge to take the next step towards quality in their teams. Second, we want to provide a starting point, an example of how such a document could look like and what it could focus on.
The Story Behind the TEM
At Transifex, although our codebase and our processes are already of high quality overall, we have technical debt too. Moreover, we constantly seek new ways to improve our work; it is in our core values and we care deeply about it. Quality Standards is just one of the many areas we put an effort in.
Of course, this is not the first time we have dealt with quality on the engineering team. For quite some time, we’ve had various guidelines and best practices, but we lacked a process for effectively applying them day-to-day. Therefore, quality was mostly on the hands of certain individuals that cared about it and did their best to show that with their work, as well as drive others forward.
At some point, we decided that it was time to tackle the issue head-on and make quality an official goal for engineering, finding a way to “inject” this into our “DNA”. This is how the TEM was born.
The Real Value of the TEM
Our Engineering Manifesto is a very important document for our team; it has a strong intrinsic value, because of how its content is shaping our work. But it’s not only that.
Its real value comes from the combination of its content and the process by which it was created and is maintained.
We’ve had similar quality rules before in the company. In fact, most of the guidelines in the TEM already existed somewhere in the company’s document space. However, people didn’t respect them, at least not often enough. There was obviously something preventing them from doing so.
This time it seems that we got it right.
The process we’ve designed around the TEM is equally important to the document itself. We plan to talk in detail about this in the future, so stay tuned!
For now, please take a look at the Transifex Engineering Manifesto. Your feedback is more than welcome!