Where should I start from to become a full stack web developer?

What are the things required to learn from the scratch to become a full stack web developer?

Start a personal dev blog on your domain for free and grow your readership.

3.4K+ developers have started their personal blogs on Hashnode in the last one month.

Write in Markdown 路 Publish articles on custom domain 路 Gain readership on day zero 路 Automatic GitHub backup and more

Kevin Woblick's photo

Please do yourself a favor and read the two guides provided by Marco Alka. From my point of view they both provide a solid starting point for your journey. After that, try to outline what you want to achieve because Full Stack Developer man basically mean everything. The most used definition of a full stay dev is one who can provide both "backend" and "frontend" work: backend usually means stuff happening on the server while frontend usually describes stuff happening in the client browser, especially the look and feel. However, this can also mean everything because there are hundreds of programming languages that can be used to build an application.

For the backend I refrain from recommending a specific language here because it just does not make any sense. Instead:

  • Search local job offers. You probably want to find a job in your hometown, not on the other side of the world.
  • Take a look at trending/important languages. It makes sense because those usually have a lot of job offers.
  • Maybe you already have some preferences from your student classes. This gives you a good overview on what you could learn. Any further steps depend on your choice. See this choice like the choice for a car: choose a modern one with a rich featureset and you may get further. But you don't drive one car for the rest of your life: You probably will learn another language later.

For the frontend I highly recommend to not start with Javascript. There are a lot of evangelists out there who see the face of the world wide web being Javascript alone, which is simply not true. Please do everyone - including yourself - the favor and learn the basics first: HTML and CSS. The web is based on those two technologies and learning both is the first step in becoming a developer who is actually capable of translating a vision, a design, into a webpage. Javascript, to get back to this topic, was made to extend the functionality of HTML and CSS and not the other way round. Nevertheless JS is an important part of the web and can also be used as a backend-language. Learn the basics, learn the language, and not any libraries or frameworks because they come and go. What's important is that you understand how to use the language itself. Everything else will come by itself. :)

Feel free to comment if you have any further questions.

Show +1 replies
Kevin Woblick's photo

That's a good questions. The thing is that probably nobody is able to give you a good answer to this. It's more about personal preferences than anything else. I personally like the backend part more, that's why I started my career by building Drupal modules and plugins instead of focusing on HTML and CSS. If you are not sure, try both by building a small(!) app on your own that involves both a backend that handles data and does computational stuff, and an appealing frontend that displays the data. But nothing too complicated but rather more than a To Do app.

Wish you much success!

Dipen Maharjan's photo

Thank you! I'll try my best!

Steven Ventimiglia's photo

HTML, CSS and JavaScript first. Then focus on how to apply that to server-side functionality.

There is no real "full stack". But once you learn the things listed above, you will find yourself working with a stack that works for you. LAMP, WAMP, MAMP, MEAN, MERN, MEVN; those are just sets (or 'stacks') of technology...

...but it's your skill set that's the true stack.

Bridget Sarah's photo

Learning from scratch is something I thought could easily be done as I've always one things from scratch but it caught me off guard during my full stack journey.

I would totally recommend HTML, CSS, JavaScript, they all now fall into almost on category, getting as much done is most important on frontend. Also looking at other Frontend Frameworks such as React or Angular JS, again another starting point.

However when its backend, you must take almost an utter different approach to writing code as well as the logic behind. I refer to it as almost writing backwards (god only knows why). As well as you would also need to learn business and application logic, so e.g if you were building a full stack application then you would need to be varied in the knowledge and fully open to learning something new.

I've spread myself quite thing but it is possible, but you just have to hop between languages and know right '' might work in this language but it won't work in the same way as another langauage.

I came across a good learning application recently called "Programming Hub", for once a semi decent android/ios application you can learn and read about a specific language from basics to advanced and totally would recommend it.

Backend I would recommend Node JS + Python, they can do hand in hand as they are the most popular and also taking over PHP / MySQL. Once you got Python down you might find its easier to then look at JavaScript or another framework. Would also suggest learning about the difference of the "top down" approach and "bottoms up" approach as its two building models should we say in a way. It makes the difference when you're coding between html and then javascript/python. I'm a junior full stack at the moment i'm working with python so if you ever need a hand or help just give us a shout x

Dipen Maharjan's photo

Thank you for your comment! Really Appreciate your help!

Ehsan Fazeli's photo

First of all, you should find out your primary interest between client-side developing and server-side. I suggest you learn javascript. It's a language that could be used on both front-end and back-end. Then, you can experience Node.js and Vue.js and decide on what path you'd liked to continue your journey. The idea of becoming a full-stack developer from day one is kinda too much to handle. It over-complicates things for you and may disappoint you on some level. And it's an overrated term in my opinion. Sure it was a thing a couple of years ago being a full-stack developer but in 2019 it's a very hard thing to achieve. I'm working and consistently learning new backend-related stuff for at least 10 hours a day and it's never enough.

Be patient, don't lose your thirst to learn, and don't be afraid of new experiences.

And finally I draw your attention to this amazing quote from Tony Robbins:


Show +1 replies
Ehsan Fazeli's photo

Let me disagree with you. Learning a library/framework does not necessarily result in a hate-everything-else mentality but instead makes you - especially if you're a newbie developer - more excited about what you're doing. You can lecture someone about classes, objects, methods etc. or you can walk them through developing a real app. Everyone knows which one is more interesting and useful.

Dipen Maharjan's photo

Thank you for all your suggestion and motivation.

Todd's photo

One mentality that really helped me is to not view the languages and frontend/backend as being distinctly different. It may seem weird in theory but actually, it's very helpful. I found that when I no longer viewed any computer programming as "different" I was able to soak up all the information as if all programming was just one big giant language.... And it kinda is. The separation occurs in the mind and if you convince your mind that all this stuff is actually related and it's essentially all the same (it really is in the end), it can take the burden and overwhelm off of your shoulders.

Dipen Maharjan's photo

Thank you for the suggestion!

oluwole ilesanmi's photo

Hi Dipen Maharjan i am currently in a bootcamp called Microverse.The techstack is javascript, ruby, rails, react, html, css and React. Take a look at there site, see if you have the time to commit to there requirements.

The good thing about the bootcamp is that you dont pay until you get a job.

I hope this helps.