Original question from Quora:

How does one become a great coder/programmer?

My Answer:

I’ve met some great coders in my life and they all shared a common trait. To be clear, I hate answers where people say they have some magic secret or one thing that solves for everything all the time. That’s crap.

So disclaimer, I have no idea how “exactly” someone becomes a great coder, but this is what I’ve seen from great coders…

I have a good friend I met in college. He is a brilliant coder. In the world of software, he often did things that I didn’t have the imagination for or even consider.

I’m a pretty good coder and very often better than most, but my friend was on a different level.

Now, my friend wrote a lot of code. Actually, I’m not really sure how much code my friend wrote.

What I mean is, he wrote code often. He was always building something.

For example, when we got into building web apps back in 2003 or so I think, he made his own chat web app. That alone isn’t that interesting.

What was interesting is he wrote his own windowing system using DIVs and CSS before that kind of thing was popular. He basically recreated AOL Instant Messenger (what we used to chat back then) on the web.

Years later, a company called Meebo made a much more refined version of what my buddy built. It’s funny because he was there years before anyone else was.

Before college I believe he wrote games on his TI calculator. Before that I’m not sure.

He landed a job at Microsoft right out of school and has done pretty well for himself since then.

Fast forward quite a few years and I met another close friend who is an excellent developer. We shared a cubicle for a while and mind melded on a lot of bizarre and difficult problems on a pretty large project.

He’s an outstanding developer and has since went on to build a credit card processing API pretty much by himself over the course of a year or so. (Think Stripe or Braintree built by one dude and you have an idea of the complexity).

Anyhow, outside of work, he always has side projects he is building. He’s built and rebuilt a web CMS about a dozen times, he’s built an ad server and management system, he’s built a farm management tool, designed his own Arduino based hardware products, and probably a dozen other things I can’t even think of right now.

The dude is always building stuff. He never stops.

So that is a couple examples of what I’ve seen with every great programmer I’ve ever met…

The great programmers are always building stuff. They never stop.

You know, in a different field - writing, many great writers are famous for having routines where they write say 1,000 or 2,000 words a day. Day after day, month after month, they write and write and write.

I believe I read somewhere someone commented about Stephen King, who I believe writes at least 1,500 words a day, “sure if I was Stephen King, I’d be able to write 1,500 words a day too” and the follow up comment was something like, “perhaps Stephen King is a great writer BECAUSE he writes 1,500 words a day”.

So, again, I really have no idea what makes someone a truly great coder, but every great coder I’ve ever met is always building some kind of software, so I think there is something to that.


P.S. Have you subscribed to Code Career Genius yet?