Hello there,
How is it going? Welcome to 8bitmen.com

In this article, I am going to discuss the points/factors we should bear in mind when researching a technology stack for building a web application or any kind of app.

Picking the right tech stack is crucial for the success of our business. There is no way around it. I think we all understand this fact pretty well. Once we pick the tech & get down to coding there should be no looking back. We can’t afford it. Can we?

I’ve built numerous apps from scratch. Spent a crazy amount of time scavenging the web, looking through technologies, frameworks to pick the right tech which fits well with my requirements.

The guidelines listed below is the gist of my research experience, they are the factors which hold much importance in the process of designing software systems.

For all the articles in the pick the right tech stack series navigate here

Let’s get started.


1.  Be Thorough with the Requirements

We should be crystal clear on what we are going to build. Things should not be hazy. We cannot pick the right tech if we are unclear on the requirements. Once we go hunting, we should be clear on what we are looking for.

For instance, when looking for a database when should be clear on if we are going to store relational data or will it be document-oriented semi-structured or with no structure at all.

Are we handling quite a large amount of data which is expected to grow exponentially? Or the data is expected to grow at a manageable pace.

Would a monolithic architecture serve your requirements well or do you need to split your app into several modules? Like microservices.

Splitting the app into several modules, using different tech in different services, also helps us bail out on a particular tech in case things don’t work out.


2. See If What We Already Know Fits the Requirements

It’s an easy road building stuff with the tech we already know. We can skip the steep learning curve that comes along with the new tech.

Also, things are comparatively clearer when using a tech, we already know. We are aware of the nitty gritty, have familiarity with the errors & exceptions & know how to fix them. We can release the features at a quick pace.

Avoid running for shiny new toys until you really need them. Do not fall for the hype.

Imagine an exception thrown by a new tech which you haven’t seen before ever & also cannot find the solution online. We are stranded. I’ve been there, done that. It’s frustrating, clicking through all the search result pages of Google. Finding nothing.


3. Does the Tech We Have Picked Has an Active Community? How is the Documentation & the Support?

The technology we pick ought to have an active community. Check the involvement of the community on GitHub. StackOverflow etc. The documentation should be smooth, easy to comprehend.

Larger the community, the better. Having an active community means updated, new tools, libraries, frameworks etc.

See if there is official support available for the tech?

There should be some rescue available if we get stranded down the road. Right?


4. Is the Tech Being Used by Big Guns in Production?

If the tech we are picking is being used by big guns in the industry. That confirms it being battle-tested & ready to be used in production without any worries.

We can be certain that down the line we won’t face any inherent scalability, security or any other design related issues with the technology. Since, the codebase is being continually patched with new updates, bug & design fixes.

We can go through the engineering blogs of the companies to acquire more information on how they have implemented the tech.


5. Check the License. Is It Open Source?

Picking on open source technology helps us write our own custom features in case the original solution does not have it. We do not have to rely on the creator of the tech for new features & stuff.

Also, in terms of money, we don’t have to pay anyone any sort of fee to use the product.

Open source tech also has a larger community since the code is open to all & anyone can fork it & start writing new features or fix the existing known bugs.


6. Availability of Skilled Resources on the Tech

Once our business starts gaining traction. We would need a hand to move at a quick pace & roll out new features within a stipulated time. It’s important that there are enough skilled resources available in the industry on the technology we pick.

For instance, it’s always easy to find a MySQL administrator or a Java developer, than looking for a resource skilled on comparatively newer technology.


7. More On the Blog

What Database Does Twitter Use? – A Deep Dive

Instagram Architecture – How Does It Store & Search Billions of Images

What Database Does Facebook Use? – A 1000 Feet Deep Dive

A Practical Guide to Picking the Right Cloud Provider for Your Application

How many developers do I need for my startup – A deep dive


Well, Guys, this is pretty much it. If you think any new factor counts & should be added when picking a technology stack for our startup. Do lemme know.

I also would love to know your views on this. Share your thoughts. Do let me know in the comments. Share the write-up with your geek friends.

For all the articles in the pick the right tech stack series navigate here

You can subscribe to the browser notifications, also follow us on social media, to stay notified of the new content published on this blog.

I’ll see you in the next article.
Until then…