Dennis Dang

March 16, 2021

Don’t lose sleep on your tech stack. It doesn’t matter.

TLDR;
The tool a startup needs to help it survive its early stages is a single, all-encompassing one that gets the job done without overhead.

Maybe because I’m still early in years as a dev, maybe my priorities are wrong, or maybe I’m just me, but I lay awake agonizing on what my future ideal tech stack should be. The tech stack that promises me complete safety and speed and productivity and expressiveness and flexibility. Such a thing doesn’t exist yet. This guy spelled out how I basically feel about everything (web development focused).

Yet despite building and leading products, and utterly “knowing” that your choice of tech stack doesn’t really matter for early products because most early products fail, I lay awake crawling Elixir, Haskell, OCaml, F# forums, subreddits and comparison websites and blog posts and Discord servers. Yes I’m drinking the fp koolaid. And how the hell do Slant and Stackshare rank at the top of every google search for a language-vs-language thing now. I miss the personal blog posts on tech stack. Something about seeing craftspeople muse on their favorite chisel (programming language and ecosystem) is just so fun. It certainly can’t just be me. Search on hackernews some language and see the threads roll for days.

Unfortunately, you simply cannot experience and appreciate a language and its ecosystem from others’ point of view. You can’t feel the warts and the ah-hah moments yourself. I’ve read many many anecdotal reviews and yet nothing satisfied me. I favored these rather superficial writings over my own. But I don’t have time to research everything.

And that’s my problem. Contrary to my disposition too fast track everything, mastering my craft as a programmer is not something to do fast. I should relish the idea of learning and even mastering many different languages and existent over the span of years. Take my time to actually build a project with each tool.

If I’m truly in the business of shipping, I’d hack everything together in Typescript with the best open source tools and services out there.

I hope I linked enough for your enjoyment. I can certainly do more. 😂

However, the upside to all this had meant seeing the invisible hardwork people put into improving their languages. See how OCaml is retrofitting a multithreaded system in its 30+ year old system! And then there’s the most seriously-serious tech people on the internet debating and proselytizing their tools. It’s fun. Finding very energetic 20-year+ software vets debate is like hitting a gold mine for raucous insights. There’s so much I’ve found in my sleepless nights that maybe it was all worth it. 

So indeed good news. I sleep at regular hours again.
 
The best tools are the tools I know best. 

Am I still looking for change and the latest hotness? Of course! I’ll continue following the development of Gleam and OCaml. It’s all for fun now. Programming should be enjoyed. Instead of weeks and a few short months, I think I’ll take larger chunks of a year and more to try out new languages.

Dennis

P.S. 

Perfect language and ecosystem
  • Great ecosystem for web development like Javascript, SDKs for major cloud providers 
  • Type-safe, expression oriented
  • Expressive types, i.e. ADTs/discriminated unions/variants 
  • Multithreaded
  • Great documentation
  • Makes the easy things easier, and the harder things easy.

Everything points to the BEAM VM and Elixir! But I like my type safety. Rooting for you, Gleam and Caramel!