More about Alcides Fonseca
Go Back

What makes a good programmer?

Written by Alcides Fonseca at 2008/01/12

A while ago I wrote a post in Portuguese about the lack of entrepreneurship and innovation among undergrads. I received a lot of comments from people complaining the fact that they didn’t do any projects apart from those required for school due to the lack of time and other excuses.

Well, here is a excellent, and I do agree with all of it about How to recognise a good programmer. If you are a business guy, you should definitely read this because it will sure help you when recruiting developers for your company. But I also see this post as a good reading for student who still have the time to learn from it. Here are some of the highlights for students like me:

I believe that good developers are always passionate about programming. Good developers would do some programming even if they weren’t being paid for it.
However, there’s a class of programmers that will (...) typically have learnt programming at university, and expect to get by on whatever skills they picked up there, plus whatever courses their company is willing to send them on. (...) A good programmer doesn’t need a training course to learn a new technology.
You wouldn’t look at them chattering away in the pub and think “what a bunch of geeks!” - at least until you approach a group and realise they’re talking about the best way to design a RESTful application with a heavy UI frontend.
I strongly believe that most good programmers will have a hidden iceberg or two like this that doesn’t appear on their CV or profile. Something they think isn’t really relevant, because it’s not “proper experience”, but which actually represents an awesome accomplishment. (...) “can you tell me about a personal project - even or especially one that’s completely irrelevant - that you did in your spare time, and that’s not on your CV?” If they can’t (unless their CV is 20 pages long), they’re probably not a good programmer.
Learning a new technology is one of the most fun things a programmer with any passion can do. So they’ll do it all the time, and accumulate a portfolio of things they’ve “played around with”.
(..) formal qualifications don’t mean squat when you’re trying to recognize a good programmer. Many good programmers will have a degree in Computer Science. Many won’t. Certifications, like MCSE or SCJP or the like, don’t mean anything either.

All I’ll make his my final words:

As a final note to this, in my experience most average or poor programmers start programming at university, for their Computer Science course. Most good programmers started programming long before, and the degree was just a natural continuation of their hobby. If your potential programmer didn’t do any programming before university, and all his experience starts when she got her first job, she’s probably not a good programmer.