Whether you are starting to code or already know programming — learning full stack web development is a must have skillset as a software engineer. Not only it will help you maximize your job opportunities, its a key skill to learn if you are looking to build your own business and follow your entrepreneurial dream.

What is Full Stack Web Development

Full Stack Web Development refers to building web applications that include:

  1. Client application that runs in the browser and uses HTML, CSS and JavaScript
  2. Server application that runs on the web server and handles the client requests
  3. Database programming that involves accessing and storing data in a relational or NoSQL database.
  4. (Optional) DevOps skills of setting up and managing servers, databases and tools.

The key attribute of full stack web developers is that they are able to implement all parts of a web application without requiring any help from another programmer or IT processional.

Note that I am considering DevOps to be an optional skill. This is because having some experience with DevOps will help you quite a bit but there are plenty of services out there including AWS, GCP, Azure, Heroko etc. that take that make it fairly easy to setup and manage your deployment.

If you are new to this space, I highly recommend reading my earlier post about System Design for Web Applications.

Common Full Stack Web Architectures

There are many full stack architectures available today, I recommend that you focus on the ones where the client application is completely independent from the server applications and communicate with the server using an API. In other words learning to use server side rendering is not the best use of your time in the current environment. Instead focus on frameworks like React, Angular or Vue to build the client application and use Web API to interact with the server and data.

The follow diagram shows some example of languages and tools you can use:

Full Stack Web Architecture

Its not a complete list but what I would like to point out is that you can pretty much pick any option from each box to build your web applications. For example React with NodeJS and MongoDB is a popular combination.

Where to Learn — for Free

There are actually a lot of courses and material available online to learn full stack web development. This includes self learning options like Udemy or boot camps like Hack Reactor or Spring Board. Regardless of what path you pick it is always better to start with the free option. If that doesn’t work out for you it will still be helpful going into the paid option later. Here are the two of my favorite FREE options

The Odin Project

The Odin Project, or TOP as some people refer to it, has a great free course on Full Stack Web Development using Ruby and another one using NodeJS. One thing I really love about TOP is that they are open source and commit to the open source philosophy. They also have a great Web Development 101 course that you should consider if you are new to this space.

Free Code Camp

I have learned a lot of stuff from Free Code Camp. Like their name suggest they are also completely free. They actually have a great guide about becoming full stack developer in 2020 that I highly recommend reading even if you decided to go with another option for your learning.

Parting Thoughts

Are you planning to become Full Stack Web Developer? Share your thoughts with your 40K+ strong community page. Have any specific questions, feel free to send a message or leave a comment.