Probably my absolute favorite chapter in
Chad Fowler's book gives the advice of being the worst in order to save your job. (Incidentally, it must be a good book because I think I've said that about other chapters, and I'm certain
I'll say it again as I rediscover later ones).

If you want to become a better musician, you play with better musicians (as Mr. Fowler mentions he did in the book). You listen to great musicians.

It stands to reason then, if you'd like to be a better programmer, it would be beneficial to surround yourself with programmers who are better than you. You do that by being the worst.

Being the worst is not an excuse to try to be a bad programmer - you just want to find better programmers than you happen to be right now. Learn from them, and find others.

You might argue, "B-But, my boss won't let me switch teams, and everyone I work with is a pathological coder!" I won't tell you to switch jobs, because it's likely you want to already.
Perhaps you don't even work on a team - what then?

Chad anticipates those questions, and it turns out there's plenty you can do. In particular, he advocates finding a volunteer project, hanging out with other developers at the local user group meetings (or starting your own), and joining an open source project (for that, you'll want to submit patches and take the
feedback they give you to make them better -- then you might be accepted).

If you're not quite there, you can join mailing lists where smart developers hang out. Read from them.
Ask questions. Get clarification. You want to be interacting with talented coders so it will rub off
on you.

If you don't yet feel you can learn anything from them because they are so far above your level, read books, articles*, and blogs (I've got far too many to link to here) from smart developers. Just get to that point and learn from the best.

* - I think one of the most important things to becoming a better developer is to read and understand Robert Martin's series of articles on OOD. Unfortunately, the link to it is not responding at the time I write this.

Hey! Why don't you make your life easier and subscribe to the full post
or short blurb RSS feed? I'm so confident you'll love my smelly pasta plate
wisdom that I'm offering a no-strings-attached, lifetime money back guarantee!

This is a big one. Being on a better team usually forces you to stretch and bring out your A game. Let me also suggest for anyone in the ColdFusion world, that while there are many great CF developers, if you want to see how good things can get, remember to go to conferences which are NOT just limited to ColdFusion devs. I've heard great stuff about InfoQ, one of my "must do's" next year is JAOO, it'd be silly not to attend at least one RailsConf, and I'm looking forwards to OOPSLA.

Your email address is not displayed.
It is used only to respond to you if needed, and
send comments if you subscribe to this comment thread.
It is stored in a cookie if you choose to "Remember my details".