While I agree with this, I do think there's a lot of nuance that points to another direction.

TL;DR - Some people know their workflow for learning while others don't even have a clue that there is such a thing as finding your workflow. I stumbled upon a better workflow through... mostly luck. Anyways here are my two main improvements for programming:

1. Learning how to use a debugger (3xed my programming overnight as a 3rd year CS student).

2. Reading HN almost everyday (I'm not intimidated by CRUD or new technologies that facilitate CRUD at all anymore and, wow, I really used to be).

-- full story --

When I look at my CS experience, I was bad at a couple of things:

1. Mediocre at reasoning through code (not too many sources of indirection).

2. Project setup

Project setup killed my love for web development when it took me a full day to set up a LAMP stack. I did it in the past but for some reason it didn't work and I asked myself: why am I doing this bullshit computer thing, when I can actually just meet people and hang out with them? 6 years later, I tried to take a crack at it again.

I was greeted by the hello world of Java. I didn't get it. What is an argv (not realizing it could be any name)? Why does it need to be an object? Is there research on why OOP is better than procedural? This made programming very very confusing for me.

Some people can see through that, they're capable of ignoring the cruft and carry on. That's why those people were quicker. For me that wasn't the case.

Most of these issues were solved when a good programmer classmate of my taught me how to use a debugger.

I INSTANTLY 3x-ed my productivity (I timed it with features I was making at the time, 10 hours vs. about 3 hours).

And the reason was clear: finally I could see what the programming engine was doing. A lot (not all but a lot) of why questions were immediately answered or eventually answered and I didn't need to see through the cruft, I understood all of it.

Suddenly I catapulted from being a bottom 75% percentile CS student to being in the top 25 percentile. I still wasn't fully there yet (never have been), but it made a huge difference for me.

This does leave for an obvious issue which is: simulating code in my head still isn't my strong suit, but compared to 8 years ago. I'm a lot better at it.

This also applies to mathematics by the way. I have issues with symbol parsing and manipulation. But when you give me a computer graphics project or any visual math project, I'm suddenly a lot better. Once I see and can infer behavior (in an almost anthropomorphic sense), I am suddenly a lot more capable.

So yea long story short: some people found a workflow that suited them and some never knew there are different workflows to learn a certain thing. The issue is that university gives the illusion that there's one workflow as there's always one class, with one textbook and one syllabus. But there isn't, there are multiple ways to learn something. If you find the way that's useful to you, then you're more capable.

Oh, that, and HN also helped quite a bit. Before HN I was intimidated by all kinds of industry best practices and now I realize that at least 50% of them are actually child's play as they all revolve around creating CRUD apps. It's not a question of "will I be able to learn it?" but more a question of "will it be 1 week or 2 days?" but before HN it seemed like an insurmountable task. This is because HN upvotes good quality educational resources.

> *Unfortunately, there wasn't a cure to this. If they put in 3 hours to learn something I had to put in 30. It took me a while, but I came to realise that there was nothing I could do about this. They either had natural talent, were more intelligent, or some combination of the both. And you know what? That's fine. I still put in all my extra hours, I was still getting passing grades, and I still graduated. Sometimes, the only way for people like me (and by the sounds of it, you) to compete is to just put in more time. But sometimes, that's not enough either. When it comes to that, you have to just realise that comparing yourself to your peers is wasted energy. Are you better than you were yesterday? Yes? Good. That's all that really matters.