October 30, 20212 min read

Convention Over Configuration - The Tools Software Engineers Should Use To Start Their Next Side Project

Ship 30

Anyone else have a handful of domains they purchased for a side project that never got off the ground? 👋🏻

As a software engineer, I often reflect on why those projects never took shape.

At times it was external factors - work, family & friends, other hobbies.

Internal struggles also can't be overlooked - burn out, lack of vision, no clear end goal.

More than all these things, my productivity killer ended up being configuration.

Software engineers love to tinker.

Tools put so much power into our hands that we're left with option paralysis.

  • Should I configure this setting for better performance?

  • Should I try out this killer new feature?

  • Should I worry about how this will scale with N users?

The problem - all our time & energy is spent making decisions instead of actually building the damn thing.

Stop configuring to build. Start building with conventions.

For as much flack as it gets, Ruby on Rails is an amazing example of this.

The tool lays out exactly how you should be building your implementation. You'll get burned hard if you try to build some custom, backdoor implementation on Rails as the entire framework is built around conventions. To implement this, you must do that. End of story.

Using tools that leverage conventions is the simplest way to 10x your output.

Let the tool eliminate the need to make a decision.

Look at how these popular frameworks achieve this.

  • NextJS - use your file structure as an API for the routes of your pages

  • ViteJS - detects compilation defaults for your project

  • Ruby on Rails - provides MVC architecture with default classes for DB operations

Spin up a project & start building with these frameworks in under 10 minutes. No decisions needed.