What tech stack to choose for building a project?

TL;DR
If your goal is to build a project in a reasonable time – use any tech stack you are familiar with.

Long answer:
As developers, we often try new tech for our side projects.

It happens because we have our day job where we have to work on existing applications built on top of mature and often dated libraries and frameworks.

Many side projects are usually started as a playground to learn new things, that you cannot use in existing projects. Such projects may never be finished because finishing them was not the goal from the beginning. Trying a new library/language/framework was.

So when you feel familiar enough with a technology of interest, project dies on a deep shelf on your hard drive or a GitHub repo.

As a developer, you can benefit from such project while applying to a next job where such experience is required.

But in a situation when you actually need to build and launch the project, you are much better of using technologies you are familiar with. Especially if this is your side project and you have time and/or financial restrictions (for example you can only work on weekends on your project).

If the only thing you know is jQuery on front-end and some PHP framework or even CMS and want to launch your project in meaningful time – use it. Of course, if it allows you to build what you have planned.

The main thing here is time to market and shipping before you run out of money or motivation.

If you don’t have a job and income – you have to move fast until you run out of money, or you’ll die of starvation.

If this is a side project, that you do after the day job – you should deliver fast to see results of your project. This will keep you motivated. Motivation will keep you working on your side project. It is important because working after work is extremely hard. If you lose motivation, you’ll stop working on your side project. In this case, you wasted all that time and even haven’t learned anything new.

With that said, I want to talk about our tech stack, we use building our e-commerce focused SaaS.

On the backend we use Django.

I often hear that Django is slow and we should have used something new or tiny like Sanic or Flask.

I know Django Framework the best and have built projects of various sizes, load and performance requirements. I can make it work fast while benefiting from its “batteries-included”.

Django will help us move fast on the backend.

On the frontend we use Angular.

Here things are even crazier, compared to backend world.

Every day you hear about dozen new releases of frontend libraries.

Everybody is talking about shiny new things, about their benefits and how many seconds ago they were released, which in turn make them even cooler.

Of course, I don’t want my project to be an old monolith built on top of legacy tech stack. I want libraries to be supported and the ecosystem where I can go for help when needed.

I know that there are React and Vue.

React I often use in my day job.

But I feel better building my own thing with Angular.

I know how to solve problems with Angular. I know how to seek help and how to properly google related topics.

I choose what I know to achieve my goal of actually shipping the product.

I choose to ignore the hype and (fear of missing out) FOMO.

Now, if you feel any doubt while choosing tech stack for your next big thing – ask yourself: Do you want to ship it or just want a reason to learn new tech?

If you choose to ship, then stop overthinking and start building with what you know the best.

Follow/Subscribe to never miss a next story about building an E-Commerce focused SaaS for Russian market in 2018.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.