Larry Wall, the original author of the Perl programming language, once said that great programmers have three virtues: laziness, impatience, and hubris.

Laziness because it drives them to write labor-saving programs and document them well so they won't have to answer questions about them. Impatience because it motivates them to write programs that anticipate your needs. And hubris because it makes them want to write tight code that other people won't criticize.

But great programmers aren't always the most productive ones, and the developer who gets the everyday jobs done well is much more effective than the one who occasionally reaches dizzying coding heights. And for most employers it's the area under the curve that counts, not the highest point it reaches.

So to maximize your employability, you don't necessarily need to be a great developer, but you do need to be an effective one. Here are seven habits that can make you a more effective developer