Which tech stack will be the best fit for your company? This is the question the author of this article asks. Before I analyze an opinion with which I disagree, I will typically preface my remarks with “to be fair..” or “while it’s true that..”, but I am not tempted today to offer such qualifications.
In fact, I don’t even disagree with the article. I can’t. It’s not even wrong.
I do, however, take such articles seriously because I have seen an iteration of exactly this kind of article written every year, over many years, and have seen the answers offered (which are different every year) taken seriously by startups and small business entrepreneurs. The idea that one can “choose” a technology stack, and then to actually set about choosing “it”, I suspect has meant the premature ruin of more than a few promising enterprises, or at least a senseless waste of weeks of time and millions of dollars of precious capital.
To persuade you of where I’m coming from here, notice that the article begins with explaining what a tech stack is.
"A tech stack refers to a set of technologies, programming languages, frameworks, software, and tools, including server infrastructure. They are used in the development and deployment of sites, apps, and other digital products. Any decent web development company should know all about them."
"Front-end or client-side web development refers to everything a user sees on their screen. That’s going to be the case regardless of whether your intention is to create an app for your company, a website, or both."
Finally and most importantly,
"That is the question that we shall endeavor to answer in such a way that you understand it entirely. The right development toolkit or technology stack for your web application is essential."
Understand. It. Entirely. Ok.
Now imagine encountering an article offering a list of stocks to buy in the coming year with all the supporting technical and financial data, but because the article began with an introduction to what companies and investments are, all readers get the uneasy feeling that this article was not written for them.
The beginning investor, for example, who benefited from the explanation of what a company or the stock market is, is suddenly presented with, say, bearish evening star candlestick charts, or references to a company’s statement of retained earnings. This person is now completely lost and convinced this article was written for someone else. The “average” investor, on the other hand may take the perfectly defensible position that it’s impossible to predict the market and will assume this article was written for someone else. Still others, who trade in bonds, foreign currencies, or commodities will wonder why only, say NYSE and Nasdaq equities were mentioned.
When everyone thinks an article was written for someone else, there’s a good chance it was written for no one in particular.
So who was this article written for? You, the entrepreneur who has an idea and is trying to build a successful company around it? An executive of a larger company or an experienced IT decision maker? Surely such a person already knows what a “tech stack” is, which will be encountered out in the wild, and is already able to bring years of experience, context, and knowledge of history to the reading of the article.
Maybe it’s intended for a company with mature products, or a highly technical reader-- say a project manager or CTO. Was this written for software developers? Software developers who might like to give some cool-sounding, resume-padding set of technologies a whack at your risk? Who can say?
“The MERN core web technology stack consists of MongoDB, Express, React/Redux, and Node.js. It’s very similar to the MEAN stack. It has risen to prominence through the popularity of ReactJS in front-end development and NodeJS in back-end development.“
Hopefully before you reached this point in the article, you realized it wasn’t written for you. You’re good at coming up with the ideas and directing your business model. How MEAN a stack you select-- this is not something you envisioned being expected to respond to.
Fair enough. Since you’re think you might get this wrong, you may be asking, What are the consequences of picking the wrong tech for your site? The author is good enough to provide us with the answer
"It prevents a significant number of future problems for businesses of every description. When you pick the right tech stack, it saves you a great deal of money on a project’s back end"
Yeah, but I thought the “back end” was part of the tech stack too. I guess by “back end” he means something like “end game.”
While the article doesn’t offer any details about what kinds of future problems you’ll face, you can imagine some of them:
- Hiring programmers with a certain skill set
- Selecting a host that supports your tech stack
- Integrating with third party service providers
You see, it’s not that easy. Fortunately (and counter-intuitively), at the earliest stage of your project, the decision about the entire set of front-end and back-end technologies that will power your application is neither important nor yours to make if you’re wise. Your tech stack selects you based on the requirements of your project which you won’t have an exhaustive handle on until you have a prototype.
The wrong question is “Which tech stack should I select?” The right question is “How many weeks will it be before I see results?”
The Right Advice
Don’t worry about your tech stack. Worry about your idea and business requirements. When you have a vision for what you want instead of the details of how that happens, the tech stack is not a “you” problem, it’s a software developer’s problem.
Select a consulting group that will build the initial prototype of your application. Ideally, you should be able to get this quickly and at no risk to you. Often, a prototype generates as many new questions as it answers. It can even inspire new ideas. Choose a consultant that is flexible so that you can work together through this process.