You're doing one of the many programming courses and wonder:
"How can I accelerate my learning?"
Here's the approach I took.
You start with courses, and jump straight into personal projects as soon as you can.
You'll make the most of your time this way.
Start with courses.
Do personal projects as soon as possible.
Working on real-world exercises, on stuff that really interests you, gives you more motivation than any course can give you.
And with this motivation, you'll learn faster.
Don't know what to build?
In short: find a small application idea you find interesting and build it.
This can be a small web project, or a command-line tool.
Other interesting approaches are small exercises called "coding katas".
Read here about coding katas.
There are many more throughout the web and they help you to think more like a software engineer.
Also, see my list of 10 project ideas for junior developers.
Most companies hire software engineers on aptitude and not on their current skill set.
At least the good ones do.
Software engineering is on the edge between science, craft, and art.
Every software engineer started out knowing nothing.
And every good one I know is humble, curious, and open-minded.
There's always a better way to implement something.
You'll learn the most on the job from your colleagues, over months and years.
If you get a job as a software engineer, continue doing personal projects on the side for a few years.
This way you'll get better so much faster.