The path to become a web developer
Have you seen these youtube videos “day in the life of a software engineer”? Maybe you have and you are impressed with this amazing life these people are living. Maybe you have a friend, who is pushing you everyday to try and see if it is for you. Or perhaps you are a curious person, who just wants to expand your own horizon. No matter the reason, you are on a track of an incredible career.
I am admitting that this is not the ultimate guide or the “best” one. There certainly isn’t one. But here you can find one of the complete tracks of becoming a well self taught developer, who can take freelance jobs, become a contractor or simply shoot yourself in one of the companies in your area.
The track should be taken seriously and chronologically. Do not skip! Every line counts and every knowledge is helpful.
I work in a company that has experience with private academies and I have seen the best way for a beginner to become worthy enough to start working on real projects.
Ok, let’s list the path and examine it later:
- HTML
- CSS, preprocessor
- JavaScript
- TypeScript
- React / Angular
- Node / PHP
- PostgreSQL
Most of you probably aren’t really surprised. But if you are completely lost and everything looks overwhelming - know this. It totally is not easy and to master every one of these topics it is absolutely impossible. But let’s make a promise already - No tutorials! I have seen so many people in the tutorial hell. Forget it and dive by yourself.
The plan is to learn everything well enough to do a job and feel comfortable. You have to learn to examine and read code, dive in already written projects and fix problems. There always is going to be a better way to do something or fix something. A lot of people are going to say that you are not good enough and the imposter syndrome is a normal feeling. Just take your chances and do it. You will grow with every line you write and every problem you solve.
There are many articles about the subject, but I can't stress that enough! Before you learn to code and advance, you have to learn to find information. This is one of the most, if not the most important skill in your portfolio. Put it there!
We had several people in the last course that struggled not because they were stupid, but because didn’t implemented the best practises in searching. You have to become so good that with one glance, you should already know if the information you are getting is applicable to you. It takes time, but this is important. You will know why the moment you start to debug a problem or learn something new.
HTML
This is starting to be interesting. Here we lay out the foundation of the building. We are growing and diving.
You should really start with the basics. Don’t push and start it slow. Don’t waste too much time on that tho. We are not writing magic here, yet.
The recommendation here is to watch a tutorial or two and start experimenting by yourself. This is the concept we are going to use. Test and see how people create something simple. Then expand it. This is going to be your way of learning and building.
Make a few static and simple sites. Purely presentational. Nothing fancy. Experiment with the links, ul’s, li’s. Learn to use some interesting tags like “pre” and be creative.
I used to waste too much time “designing” - I totally don’t recommend it. Make it ugly, but make it work. I still can’t decide what kind of red to use. There are way too many developers that are great programmers, but have a total lack of design skills.
CSS, preprocessor
After this point, you should be able to style everything. Do not go to the JavaScript part, if you can’t reproduce basic or a bit advanced structures of a given design.
It is important to learn how to position everything, style it and even to control it. I don’t know why in most tutorials or articles, they give the idea of “flex” and “grid” as separate. It should be here and nowhere else.
Also you should check one of the preprocessors and dive in it. They are nothing too special. I leave the choice to you about that. After all, you should know how to Google and check for yourself by now.
Be careful with the animations. You can perfectly skip the most advanced stuff, but at least familiarize yourself with the concepts.
My recommendation for this part is to recreate ten or fifteen web apps of your choice. No functionality, just pure styles.
Don’t be frustrated with CSS, it definitely has the habit of not working all the time you want.
JavaScript & TypeScript
Oh, boy! This is getting really interesting.
A few tutorials are okay to start, but only theoretical ones and simple projects. Nothing more. The moment it is finished, start building. And start slowly, with baby steps. No need to hurry and don’t skip important concepts.
Read a lot of articles and the moment you finish something, don’t start the next. Try to improve your code, try to refactor it, try to understand why everything works the way it works. The better understanding of JavaScript under the hood, the better developer you can be.
Here you should definitely learn to ask questions. Don’t be afraid to look stupid. And always aim higher. Don’t just make it work, make it better. Make it beautiful. The code should become an expression of yourself and it can vibrate and speak. Embrace it. Ok.. maybe I am getting a little bit off the track, but hear me out.
You can always make it work. Even if it takes a lot of time, a lot of lines and a lot of tests. But you should learn to write in that way, that not even the code itself performs better, but it looks like a piece of art. Experiment. Fail and succeed better!
TypeScript can be the best friend you can have. Switch the moment you start to feel comfortable with JavaScript. Don’t wait too much. TypeScript is the way JavaScript should be.
In this part build a few small projects. Of course you can do To do’s application, calculators and all other famous projects. There are a lot of articles with projects for beginners.
But don’t start with frameworks before you learn JS!
React || Angular
It doesn’t really matter what you will choose. I personally prefer Angular, but if you know the concepts of these frameworks / libraries, you will need a lot less time to switch. It won’t even bother you at a certain point.
In our course we do Angular and people are enjoying it. Give it both a try for a few simple To Do’s and see what fits you at this point. Continue with the one you like.
I won’t write it with a heading, but … Don’t look for the better one. There isn’t! Both get the job done. At this point, either is absolutely fine, so just see for yourself and push for yourself.
One advice I can give you is - If you still decide to look for the so-called better one for beginners, be careful if the person telling you this is selling you a course. If the answer is yes - it is probably biased and has nothing to do with reality.
If you are going with react - set it up with TypeScript, not JS. You will thank me later.
Both are going to get you a job.
Build a few more complex apps to understand the way they work and to learn to debug them. One of the best apps to do here is a less complex ticket managing system. One big and single project to put everything you know at work. At this point you can safely save everything in the localStorage. Perfect for learning.
Node, PHP - PostgreSQL
So many choices that it is hard to even start. These are in my opinion the best ones. If you choose either, you are good to go.
The market is very demanding, especially for JS back end developers. Also if you choose that option, you are becoming versatile enough and you perfectly can do your own projects. You won’t feel the need to outsource anything.
For JavaScript frameworks in the backend, you have a good choice - Nest, Express, Fastify to mention a few.
PHP is a love - hate situation, but won’t be going anywhere soon. It is probably here to stay, so it is also a perfect option.
This is the time to implement the backend for the projects you made in the previous chapter.
Connect it to a database and see a complete app, made entirely by you.
How much time will it take?
Everything is complex enough and it will take time. And it won’t take a small amount of it. You have to make some sacrifices, but it is totally worth it.
If you spend a few hours everyday, don’t procrastinate, put your entire focus on it and just do it, it probably should take you no more than a year.
But don’t feel overwhelmed and scared. Every step is important, even if it is a small one. Everyone starts from somewhere and every experience is different.
Safe journey and enjoy the ride!
Top comments (0)