Full stack development — How do they “stack” up?

Madhuresh Gupta
3 min readMay 10, 2020

This post was long standing in drafts section as I was taking time I explain in such a manner so that everyone whoever wants to come into the world of coding and software development don’t feel alienated as they will definitely come across “Full stack developer” on every career site they land up upon.

I will take one of the most common stack which is used in web development to explain what is job of a full stack developer:

MEAN stack: MongoDb, Express.js, Angular, Node.js

This is a totally JavaScript based stack where we make use of only (mostly) one language from frontend all the way to backend.

In the client side the user has his laptop, or mobile phone where they use browsers to open a website.

Here’s how this works:

First take for example the Google chrome browser, it comes with a Chrome engine V8 which is one of the most powerful JavaScript engines out there in the market.

For frontend we use the browser where the website’s skeleton is made up of HTML and styling is done with CSS mostly. This covers all the text and images we see in any website. Now, coming to the logic and how the data is transferred from website to the backend, is handled by JavaScript.

Like if we are filling up a form, there are many mandatory fields, some places we have a check if the data is entered in correct format (like email, phone number, password security check) — this all is handled locally on your browser using JavaScript which is running using the chrome engine V8. There are many frameworks that have been developed by people around the globe to make frontend UI design easier and faster to implement (for example: Angular, React, Vue.js, etc).

Now slowly when people started to see how widely people were making use of JavaScript in the frontend, developers wanted to make it use even in the backend. Since if we have to deal with a huge excel file which has millions of data entries and have to scan for information through it, it will be a tedious task for our browser to process so much information. This has to be taken care by the server which have massive computing power and all this tasks can be performed in a matter of seconds.

So in order for JavaScript to run in the server we need a runtime environment like Chrome engine V8! Thus developers came up with Node.js. This framework creates a runtime environment for server thus making it possible to run JavaScript in the backend too.

Now above that we need to communicate with the client browser using HTTP/ HTTPS protocols, right? Here we take help of Express.js (fun fact: Express.js is the most downloaded and used framework on Node.js).

This express.js makes API calls to and fro from the client to the server possible. Lastly data needs to be stored in a database. Earlier we were using SQL databases, but its speed and compatibility with JavaScript was not so fast and reliable, thus mostly people have switched to NoSQL databases like MongoDB or MariaDB.

All in all, we now have a complete package from frontend all the way to the backend including the database using a single language — JavaScript.

But a full stack developer not only knows the complete stack which I discussed above. They should even have a good knowledge of version control system — Git, know how to write code in globally accepted standards — ES lint, and even have knowledge on how to keep any Webapp secure and follow best practices.

Originally published at http://madhureshgupta.home.blog on May 10, 2020.

--

--

Madhuresh Gupta

Follows Microsoft, Tesla Motors, SpaceX, Google, Elon Musk. Aviation Admirer!