How do top coders get an edge over others?

Me in computer lab
Me: "Hey bro, could you explain why i=5 after the fourth iteration?"
Friend: "Sure, the reason is that ..."
Me in mind: "How is he so good at coding? We are almost the same age, we study in same college, go to same tuition classes and are a part of same college clubs. How is he far better than me?"

On some day
At some point in your engineering, you might have come across some students who are extremely good at coding. They are able to type without looking at keyboard. They do not take much time to read and understand problem statement. They are active members of college clubs.

We wonder at their skills and achievements. We praise them in front of our friends, like so and so person is very skilled, he could solve the bug I had within a minute.

Let us dive deep
You must agree with me on this point. He isn't naturally talented (99% successful people are normal persons like you and me, then whats makes them so better than others? Keep reading). He isn't very rich guy who has got study materials which you cannot get.

The thing is, to achieve something, you need to do two things. For example: To write an article about trees, you need to know about trees. To pour water in a glass, you need to know how to pour water into a glass. To kick a ball, you need to know how to kick a ball.

There is a pattern. If you think deeply, if you have to achieve something, you need to know how to achieve it.

If he is good at coding, your question should be, how is he good at coding? What does he do which I miss?

Example
Let me give you a real scenario which everyone of us have gone through during our engineering classes.
The class is going on, and most of us are feeling very sleepy. The faculty says something which makes all of us awake like we were never sleepy. Why does that happen? Think deeply.
Whenever there is a reward associated with something, we spend time and effort on that. We tend to become interested in knowing more about it. That's what happens when we hear about "girlfriend/boyfriend/breakup/crush" type of topic discussions. There is a reward associated with the discussion of those topics, you cannot disagree with me on this.
Top coders know the syllabus very well, they know what the faculty will be teaching the next day. They have a look at the topic going to be discussed. This 5 min work gives them an edge over others. They would be able to capture the concepts slightly faster than others, they feel a small reward associated with it. This small incerement practiced over years makes them far better than others.

One drop
There were two persons A and B. A used to pour 1 drop of water in a bucket everyday and B used to think A has only poured 1 drop, what big difference has happened.
Over the years, B's bucket will be dry, while A will have plenty of water.
Small increments over long periods of time is an excellent way to become skilled at something.

Join the college societies, start projects and don't do coding to get a good job, you will lose interest very soon if you have this thought. Just code to get skilled to solve problems faster.

Wanna start getting an edge over others?
Will you write a program that displays "ABC"?
Don't think it's easy, very few can do it. If you could do it, you have an edge over others!