July 26, 2022

Four years back, I moved from #research into #tech. And the decision to not join a startup was deliberate.

The pace, growth and autonomy in a startup appealed to my nature. However, startups work fast. And working fast comes with trade-offs. I wanted to know the trade-offs.

So I took my time to learn from established large-scale systems, observe “best practices” at work and train with expert mentors and colleagues. Finally, a year back - I joined a startup.

This series has been long overdue.

But nevertheless, here I am, hoping to capture the engineering perspective of building an early-stage startup from scratch. There’ll be war stories, hacks, errors, mysteries or just cool bits of technology. Honestly, this is mostly my personal technical retrospective as I navigate the unknown.

So without much ado, here’s my first:

Know your user.

We are building a 10x engineering org. (Or so we like to think!) And DevOps is obviously one of the foundational pieces.

With that thought, we started our DevOps journey with a simple goal - dockerize our main backend. Purpose was to get consistent dev environments, onboard engineers faster. Happy Engineers = Happy Life!

So after 2 weeks of hacking, going up some knowledge curves and iterations - we managed to get it all dockerized…

… only to realize that the Docker experience is pretty questionable on Windows. 1 / 2 devs on our team are Windows users. Not Docker-fans and voted against it, when asked. So much for Developer Experience!

Know your user.

And live to learn another day!