Tip 144

Apply the 80/20 Rule to Your Tech Stack

by Ildar Akhmetov

"I know Java well, so I should build all my projects in Java." Or: "Choose a new language for every new project!" What's right?

I've done both. And I think that the universal 80/20 rule actually applies here. My rule of thumb now: 80% of your work should use tools you trust, 20% should use tools you're learning.

The language I know best is Python (yes, I read the second edition of "Fluent Python," and I highly recommend it). So, when I need a reliable, stable (boring!) choice for something that "needs to work," I choose Python and, likely, FastAPI.

But then, if all of my projects are Python and FastAPI, how would I grow?

So, for many side projects, I go wild and expose myself to something that teaches me a new paradigm (functional vs OO), a new ecosystem (Node vs PyPI), a new data model (relational vs NoSQL).

Recently, I was rebuilding my personal website. Staying "reliable" would mean Python, so Pelican as a static site generator -- but in this case, that feels like "bad boring == no learning," not "good boring == stable results."

So, I deliberately went for something I'd never used before -- Deno (not even Node!) + Lume as the SSG.

A personal site is the kind of project that is "safe" for this kind of choice -- even if things don't go as planned, you still keep the upside ("learning") and the downside is small (easy to rebuild if needed).

The 80% keeps you employable, the 20% keeps you growing.

Related Tips

Get tips in your inbox

Two new tips every week.

Powered by Buttondown