Software engineering as a skill

Software engineering as a skill

In most fields that can't be qualified as skill-based you learn by absorbing content and the knowledge you're able to retain is what you use on the job, the metrics are quite clear cut in these instances, the more you learn (and can remember), the more you can do.

With software engineering, it's a bit different, while learning is key in the beginning there's a point in the learning curve where you absolutely must do something, there's so much to learn in software engineering that you will forget so much in the process of learning new things. As such the metric in this instance is the more you learn (and can do), the more you're able to do.

A lot of newbies take too much comfort in learning without action which eventually traps them in a vicious tutorial cycle, they're always chasing new content and running from building projects because the stark reality of their situation hits them when they try to begin; the reality of the fact that they can't even remember the basics required to start. This is why most educational content out there will explicitly state that the developer must replicate what the material is teaching immediately.

No matter how much studying one does, in order to be able to ride a bike you need to actually get on one, the same applies with the use of other tools. Learning how to type quickly without looking at the keyboard also takes practice. Muscle memory is something a lot of people take for granted in software engineering and as such they become stuck.