This is funny - Mitch has commented on this as well. (In fact, that's where I found it from. Thanks Mitch.)
I agree, there seems to be a real lack of skilled programmers.
But I'm not talking about those that are particularly skilled in a particular language, or those that know how to do tricks - like the swapping values without using a temp variable (2nd comment on on that post).
I talking about the developers who:
- can work in a team
- can self manage
- are thorough and meticulous
- complete tasks to, well, completion
- know how to dissect issues
- know how to measure progress
- know development concepts, like patterns, coupling, code structure, etc
- are interested in their career
- and know and understand development processes (and the point of it)
But unlike the attitude in that post and comments of just terminating those that don't reach the bar, I'm looking for those that:
- have the right attitude
- want to improve
- want to participate
Because then you can work with them so that they will improve and in return will help you improve as well.
I remember what it's like to not realise what I didn't know and not know how to find out. That's not a fun place to be.