Okay, so let’s begin by answering the most frequent question:
Novice (1 - 3 months)
Advance beginner (4 - 6 months)
Intermediate (7 - 9 months)
You may still need to refer to some guides and tutorials now and then but most of the time you’ll spend on building projects as this is where the real learning happens.
Advance intermediate (10 - 12 months)
The reason it’s taking so long to learn can be sum up into two things:
- HTML and CSS are not programming languages
HTML and CSS are not programming languages
It’s like learning how to drive a car - you can’t just expect to be good at driving if you practice it once per week.
Prior programming knowledge
For self-taught developers, though, it’s going to take a while since you will also learn the fundamental programming concepts. It’s not the same as learning a programming language, but these concepts are so important that you cannot afford to skip this step.
If, however, you find yourself stuck in a situation where you’re going tutorials after tutorials without ever building projects, then you’re dealing with what’s called a Tutorial Hell, which is quite common for beginners. Luckily enough, there are three ways you can do to overcome this problem.
- Learn what you want to build: Instead of learning some advanced concepts like
- Take a break: It’s important to take a break because learning for too long is not efficient. Taking breaks can help you absorb all the information you have been accumulating and give your brain a chance to process it. That’s how you learn all kinds of life skills and not just coding. I recommend taking a break after every hour of learning and on weekends to refresh yourself.
So there are you have it! In short, it will take one year to go from a complete newbie to a job-ready software engineer. While your educational background, time spent learning, and how you learn can influence how soon you can expect to gain the skill, just remember this one: