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.
Feel free to comment if you have any further questions.
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.
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.
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.
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.