Picking Tech Stacks; Focus on Solving Problems, Not Perfection

As an engineer at a small dev shop building web apps for clients across various industries, I sometimes get questions from junior developers and those just starting out about which frameworks and stacks they should use.

With our team of 3 developers behind the scenes using Next.js, TypeScript, Tailwind and serverless tech to pump out dashboards, funnels, landing pages and internal tools for contractors, real estate teams, medical companies and more, it may seem like we have it all figured out. But the truth is, we didn't start out using this stack.

Early on, we made some poor choices in terms of the technologies we committed to. We'd tackled projects in Django, Rails, even PHP before settling more recently on Next and React. We're constantly evaluating new databases, integrations, component libraries and more for each new client project. There is no perfect, end-all be-all tech stack.

The key is not finding the "right" stack, but rather focusing on solving problems efficiently. With every new client and project, we run into roadblocks. But over time, we've built up the muscles and experience to power through tricky integrations, optimize performance, streamline messy code and deliver solid apps on time.

So when eager new developers ask me what JavaScript framework or database they should start with, I tell them: it doesn't really matter. Pick one, build a quick demo app, learn the basics. Realize 6 months later you picked an outdated or inefficient tool and switch to something better suited for your needs. Break things and learn how to fix them. Ask questions from communities using the tech you chose.

This repetition - building, breaking and learning - builds real confidence and competence. It's not about memorizing React documentation or GraphQL schemas. It's about knowing how to dig into problems, leverage documentation and parse error messages when you inevitably encounter issues.

You don't need to master any one technology before getting started. Pick something established but versatile, like JavaScript/TypeScript, React and Node, then layer on additional libraries and services as needed per project. Build a portfolio of projects showcasing your ability to build and iterate.

Technology choices alone won't make or break your career. What matters is showcasing your ability to solve hairy problems and ship working software, regardless of the tools and stacks used under the hood. The rest can be learned on the job.

So don't get overwhelmed trying to master any one technology or stack right off the bat. Just start building, and the confidence will follow. Before you know it, you'll have battle-tested experience just like us to tackle new and complex projects using the optimal mix of tools for each job. The tech stack comes second to core coding competence and problem-solving skills. Focus on developing those first, and the jobs will come.