Justin Etheridge (one of my twitter tribemates) posted the question What Makes You A Better Developer
My answer is seemingly simple, and is in three parts:
1) Get involved in the community.
2) Do not be the smartest person in the room (credit to Brian Prince
for this one)
3) Attend a national conference once a year.
In the Cincinnati area, we have Cinnug
, and the Dayton Dev Group
all very close.
1) Attend and Participate.
I don't mean just go to a meeting once a month. I mean get involved
in the community. If the meeting is in a fish bowl format, get up and put in your opinion. Participate in the discussions during the food break. Go out with the members afterwards if happen.
Knowing a technology well enough to develop in it is very different than knowing a technology well enough to present it. There are several talks that I have been giving around the region and nationally, and just about everytime I give a talk, I get questions that I hadn't thought about. Makes me dive deeper into the field to get the answer. You don't have to be a feature speaker. Do a lightning talk. Do a GROK talk. It can be as short as 10 minutes. What are you passionate about? What do you want to be passionate about? Is there something that you company (or client) is using that you need to know more about?
3) Regional Conferences
The developer community puts on a great number of regional events (almost one a month). These are mostly free (some charge $25 to cover the cost of lunch/t-shirts). There is an incredible amount of brain power that gathers at these events. Whether you attend the sessions or the open spaces tracks, these represenet an incredible opportunity to learn what other top developers are doing, and (imo) more importantly, how they are doing it.
Don't be the Smartest Person in the Room
Brian Prince talks about this in his most excellent soft skills presentation, and it really hit home with me. At most of my client sites, I am the "goto" guy. (That's usually why they bring consultant architects in). It's a good feeling, but not a way to learn.
When I started getting involved in the community, I was able to find other developers and architects who know way more than me, and while there are some things that I (hopefully) can teach them, there is an incredible wealth of knowledge that I am doing my best to absorb.
My last project was at a very large company, and staffed with some incredibly talented Microsoft employees, and it was nice to be able to exchange information with them, learn from them, and (again, hopefully) give back. Those projects don't come along all that often, but the community is always there.
The past year has been incredible one for me, full of growth, as a developer, as an architect, and as a person. The community got me out of the doldroms, and forced me to sharpen my skills.
Attend a National Conference
If you can (read your company will pay for it) attend a national conference like VSLive
(for .Net developers). These events give you exposure. The .Net FW is too huge to sit down and figure out on your own. The national conferences gather some of the top names as speakers, and give a great overview of what you can do in your language/platform. You won't necessarily get the depth, tat you will have to do on your own. But knowing what is out there is more than half the battle.
Well, that's my two cents. I hope someone finds this helpful. And, as always, happy coding!