Setting Standards For Your Data Team
Against these, the architectural unity of Reims stands in glorious contrast. The joy that stirs the beholder comes as much from the integrity of the design as from any particular excellences. As the guidebook tells, this integrity was achieved by the self-abnegation of eight generations of builders, each of whom sacrificed some of his ideas so that the whole might be of pure design - The Mythical Man Month
They often can feel like small nits that slow down PR reviews and further increase the bottleneck nature of data teams. But they really have a much larger impact in the grand scheme of running a data team. Having standardized SQL and coding styles help make logic and code easier to maintain. Not just now, but into the future as new heads of data take over. It’s not just about how you write code but also how teams work and decide what projects to take on. Standards make it easy for new team members to onboard because they can quickly pattern match how the team is setting up their models, files and code.
But before diving deeper into some examples of standards and SQL style guides, let’s dive into why standards are important.
Why Standards Are Important
Enhanced Efficiency - Standards can enhance efficiency in the long run. It removes micro-decisions(think Steven Jobs wearing the same thing every day) and makes it easier for future developers to walk through code, add new modules and debug any issues.
Easy to Maintain - Consistent coding standards makes it easy to maintain legacy code. Let me add to that.
It’s better to be wrong, but consistently wrong vs. inconsistent.
Many coding standards that may be incorrect can be walked back through massive code modes. I have seen thousands of files updated in a tenth of the time thanks to consistent naming structures. But if you’re coding style is inconsistent, then it’s far harder to change. Sometimes, a coding decision is merely temporary and everyone knows it. For example, at Facebook, we had to add in a specific comment during our Python 3 migration to ensure the right Python version was used.
Following said migration we removed it. Had we all been inconsistent on how we implemented this comment, then reverting the code once we were done would have been painful.
Standards Set The Tone - Indulge me in a nostalgic flashback. In a previous life, I worked in fine dining. Meaning I spent a good part of my time perfectly chopping shallots, chives, garlic, and other fundamental building blocks for any dish. The reason most kitchens start stages and early cooks on this type of task is because it sets the standard.
If you send poorly chopped shallots to the line. They will be returned, and you will be berated(toxic culture be dammed). If your shallots are chopped correctly but too wet, they will be sent back and someone will hand you a sharper knife.
These standards set the tone. There are no questions on what is expected. From the most basic ingredient onward. Perfection is the only expected result.
In the same way, creating clear standards, in terms of quality of work, naming conventions and processes communicate to everyone what is expected.
Keep reading with a 7-day free trial
Subscribe to SeattleDataGuy’s Newsletter to keep reading this post and get 7 days of free access to the full post archives.