How to Recognize a Good Programmer
KDan writes to share an article he has written about what some of the key factors in recognizing a good programmer. "It's not as easy as it sounds. CV experience is only of limited use here, because great programmers don't always have the 'official' experience to demonstrate that they're great. In fact, a lot of that CV experience can be misleading. Yet there are a number of subtle cues that you can get, even from the CV, to figure out whether someone's a great programmer."
The best I've met have degrees in English, Physics, Engineering, or Math. They then focused on the programming aspect as needed to create tools that helped them and their peers to streamline their work. As that focus became more of a primary job function, they honed their skills and methodology around maintainable code, version control, security, documentation, reusable modules, etc.
I'm guilty of being one of these types myself, but have since moved up to project management around security type stuff after having taught those who replaced me the things that I learned through experience.
CV is latin for Curriculae Vitae which as someone else noted means "course of life" and it is a bit of a misnomer to use "CV" as a resume as traditionally a CV actually includes everything related to your "life" - thus "course of life" - a true CV would be more a of a large binder with many many pages - a portfolio if you will - of anything and everything you have accomplished and achieved in your life whereas a resume is usually just a one page condensed version of anything relevant to the job you are trying to acquire.
I actually have something that is closer to a true CV - a portfolio that is about 25 pages of material of all my IT experience, education, major projects, contacts, letters of recommendation, etc. When I apply for a job I send them my resume but if I get called for an interview I bring in my portfolio and use it during the interview - it often has a very large positive impact.
I disagree with a lot of these points.
Reasonably good indicators
Ability to yammer on about a subject one's audience does not care about is a weak indicator of programming ability and a strong indicator of poor communication skills
OK
NO, NO, NO!
A good programmer has an open mind and makes decisions after thought, study, and understanding the users' needs; not based on some knee-jerk personal prejudice.
There is nothing wrong with taking advantage of company-sponsored courses. Taking advantage of classroom opportunities is just good time management (it can be easier to learn more, faster, in a well-taught course than in self-study).
So what you're looking for is a prima donna who will refuse to work in the environment you ask him to, and is insubordinate out of the gate? No. A good programmer will find the strengths of the technology you've picked and design a strategy that plays to those, rather than just telling you you've made a stupid choice and should have used his pet technology instead.
I don't know if it's ever a good idea to hire someone who "doesn't seem too smart."
That's a stupid criterion. Why someone starting programming is a lot more important than when
Inability to write a complete CV is hardly an indicator of competence. The author is biased in favor of people who started programming at the age of 9, as he did.
Nonsense; depth of knowledge is as important as breadth of knowledge. Ability to justify 50 different buzzwords on one's resume doesn't make someone a good programmer. It is a lot better to talk about the problems the candidate has solved, than the technology used to solve them.
[Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
As one of the elite few programmers who does know how to spell, thank you for noticing. I would say "take it as a good sign" rather than "get out your checkbook" but I'm just the cautious type I suppose.
However - I can spell, and my brother can't. I believe this has more to do with the teaching methods in our respective elementary schools than with our inherent attention to detail. His school used an experimental method that I think failed him utterly - at a time before national standards were yet fashionable.
[Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
LOL - I double-dog dare you to post these magical 20 lines here. If you do, I guarantee you will find that:
(A) Most of us will understand it.
(B) Many of us could make it better.
(C) It's definitely not voodoo.