Tech Stack

Choosing Tech Stack

If you're learning to code, it means you probably have a billion dollar startup idea in your head. But before you can execute that idea, you'll need to choose a tech stack. And you better choose wisely, because it's a real pain in the ass if you decide to change it later.

It doesn't matter if you use WordPress, React, or Angular, or build some kind of freak show on Kubernetes. Nobody cares except the tech bros on Twitter. The only thing that matters is that it works. It's critical to find technologies that optimize your productivity and stick to them, unless you have a really good reason to move somewhere else.

With any technology choice, there are tons of trade-offs.

In modern times, building a web application is much easier, but tech stacks have become far more complicated because there are so many different companies selling shovels in the startup gold rush.

What is a Tech Stack

Think of every app is actually just a technology sandwich. There is no official definition of a Tech Stack, but we will break it down into three parts:

  1. Frontend Layer: This layer includes the tools required to build a user interface for the end-user. On the web, this likely means using a JavaScript framework, while on mobile, it might involve iOS, Android, or a cross-platform tool like Flutter.

  2. Backend Layer: In this layer, you have server-side runtime options such as Node.js and Python, along with a database to store user-generated data. Additionally, you often purchase the infrastructure from a major cloud provider. It's worth noting that these providers may attempt to lock you into their ecosystem, so it's crucial to consider them as part of your tech stack as well.

  3. API: This component consists of tools used to connect the frontend to the backend. This can involve technologies like REST or GraphQL. which you implement on your own, but more often, it includes central third-party services that are essential for running your app. Examples include Stripe for payment processing, Twilio for text messaging, SendGrid for email, and so on.

In summary, modern tech stacks are complex and require careful consideration of each layer's technologies. Your choice of frontend, backend, and APIs will depend on your specific project's requirements and goals.

Comments