Why you should be building software based on conventions
Conventions are ways of doings things that are tried and true. A set of rules we mutually agreed on. They cover the most common use case and are generally the preferred way of tackling a problem. Some of us dislike conventions. They are considered boring or leave too little room for creativity.
Regularly we come across problems that are yet to be completely understood. While working on the problem a more comprehensive picture starts to form. When the dust has settled we often spot similarities between the problem we just solved and problems we solved before. Patterns emerge.
Sharing conventions amongst a group of people is immensely beneficial. When coming across a well-defined problem one simply refers to the convention; problem solved.
Many of us feel that our use case is exceptional, or fail to understand the benefit of a readily available solution. Sometimes just to tickle our engineering fancy of creating something from scratch. The truth is that you just aren’t that special.
By settling on conventions you can achieve the following things:
- Reduce the on-boarding time of new team members
- Leverage the knowledge of highly skilled people outside of your own organization
- Increase productivity by focussing on problems specific to your domain, rather than auxiliary issues.
Building good software is already hard enough. Don’t become a victim of “not invented here” syndrome. New conventions only really stick when they are truly superior to whatever is already out there.