rgw@icdattcwsm:~$ l
rgw@icdattcwsm:~/Blog$ cat 2024-11-05-Defining-Tech-Stack.md

A rookie mistake is to assume that 'tech stack' includes choice of programming language.

Yes, earlier in my career, I too believed SQL v NoSQL, Python v Rust v C v Go v C#, JavaScript v TypeScript debates were critical in assessing an ideal tech stack.

Time and experience, over several failed MVPs, has helped me chisel out a new definition for 'tech stack'.

For me, now, tech stack is NOT the programming language, operating system, or API architecture. Rather, 'Tech Stack' is the answer to the question - 'How neurotic you want to be, and about what'.

When prototyping, I don't want to be neurotic about type-casting variables, running a SQL server, using a non-beginner-friendly OS, having minified and efficient CSS and JS. Rather, the emphasis of my neuroticism would be on shipping fast, and observing if people will pay for it.

Once I have proof that there is a market for what I have created, I, then, need to be neurotic about dominating that market efficiently, so that I can exit my time investment - and start something new.

On the surface, the above two issues would NOT be considered engineering problems - they are ANYTHING but.

rgw@icdattcwsm:~/Blog$ cd ..