Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
It wasn't that I didn't enjoy working on software design, it was just a lot of effort getting thoughts on paper. Any google search shows a hundred ways to structure software design documents, and a thousand ways to draw architecture diagrams. Of course, my company's solution to that problem was to create their own standard. For my team's work, I would use the minimalist template that the rust team uses, but after a while I had to flesh it out for other teams or managers to get what they want out of my design documentation
I found code reviews to also be tedious but in a different way. We have a large number of tools to review code well, and my company also makes sure to automate checks for code standards, smells and best practices (see sonarqube). The expectation on me as a code reviewer was to criticize to improve the structure and design of our code. Along the way, I was also meant to teach other engineers things.
Note: On that topic, I'm keeping a close eye on the Open Application Model and the kubevela projects. I think it’ll help write a representation of an application and its components that we can validate the structure of our code against, and generate documentation from it. Not a complete solution to the problem, but it'll help with certain parts of architecture documentation