While I'm not quite sure that my entry will be legal - a bit on that in a second - I would still like to share my story. As for the legality of my entry, the rules clearly state "Must be working full time as a software professional (not a student)" (emphasis mine). While I am a full time software professional, I must say that I am, unequivocally, a student. We all are, whether we realize it or not. The one truth I keep encountering in my maturation as a developer is a bit of a paradox: the more I learn, the more I realize I don't know. Therefore I approach software development as a student and view my coworkers as students as well.
When I started at my last place of employment I was humbled early and often by my lack of knowledge in areas I thought I knew well. Rather than being deterred, it sparked a fire in me, and since then I've never turned back. Being humble and realizing, for lack of better words, how stupid I was, was quite possibly the best thing for my maturation as a software professional. That spark has matured into a passion that I can best describe as the feeling of a child on Christmas morning, eagerly shaking his sleeping brothers and sisters telling them that Santa has come. It's the type of knowledge where you share it not to show how much smarter or better you are, but because you are, at your core, excited at the chance to share it with someone else.
Among things like reading blogs, starting a blog of my own, listening to podcasts, I started to teach more. There are a great many people who believe that the best way to learn is to teach others. I fall squarely in that camp. I began by timidly teaching a few of the weekly developer trainings that the company offered. Soon, I was teaching quite regularly and in 2007, I taught more than anyone else in the company. I focused many of my talks on areas where I struggled and on things I wanted to learn, realizing that if I struggled learning a concept/language/framework, others probably did as well. In one training session I created an elaborate hands-on demonstration of how events and delegates work. Participants were given a card stating what they should do when a specific event occurred. It started innocently with me turning off the light switch and, at it's height, had people walking all over the room, some making marks on the white board, others moving objects around the room, and still others doing various assigned tasks. I was told later by someone that, "...it was the best training of events and delegates they ever had seen." That comment was special to me.
Why do I think I deserve to win this contest? Honestly, I don't know that I do. I'm not an "alpha" type, I haven't produced tons of tutorials or webcasts to help the community, and most of you probably have never heard of me. However, I believe that if you ask current and former coworkers, they would say that I seek to help and mentor others as well as offer myself up to be mentored. To me, more than having a large internet following, I desire to impact those around me. Below are two recent such examples. The first is an email I received a bit after I left my last place of employment:
Hey Tim,
How are you and howz your new work? Hope you have settled down.
Here same as usual , I got to take your big desk J yeeeeee . Josh A is sitting at your place with my small desk.
Hey listen thanks for introducing Rhino mock , I am getting better at it and I like it ….
Usharani Kachegere
The second example is is from a younger developer, Toran Billups, who emailed me one day out of the blue when he saw that I updated my alumni page on our college website. Toran emailed me innocently one day asking about my work experience. We started chatting more and more and I provided whatever guidance I could to him. I have enjoyed my time mentoring Toran, as it's been a bit more focused with one-on-one time. I've gotten the chance to see him grow in his skill, and more importantly, his passion. Below are some of his comments about his experience over the last year and a half in a recent chat:
"I think from the moment I 'emailed you' to ask for some 'mentor like advice' you have shown a true passion for software development/learning/etc."
"your words have pushed me to a level I only dreamed of 11 months ago"
"I'm knee deep in TDD and in part because of your words!"
"I just built a house - otherwise ... i would move just to work with you- honestly"
"it's like something happened after talking to you last year ... I never had anyone challenge me like you did"
"but again - without your 'patience' / 'care for others in the community' -- you could have brushed me off with a simple 'newb' comment instead - you took the time (out of your busy day) to help ask the 'right questions'
If you're reading this and you've found yourself losing passion for your craft, family, or faith, don't sit idly by. Do something, anything, to get back into it. Do what whatever it takes to reawaken your passion and foster that passion, you'll be much happier person for it. I wrote last summer on my blog about passion in a post titled "Passion in Programmers", and I believe what I wrote in that post to be as true today as the day I wrote it. In it I wrote, "Passion in my mind is a key characteristic of being a great developer. A passionate developer will never stop learning and enjoys the journey of learning and thus is an asset to any team."