The seeds of knowledge may be planted in solitude, but must be cultivated in public. – Samuel Johnson
Something clicked with me at the beginning of this year. After a couple years of attending local code camps, Days of .NET, launch events and both CodeMashes I realized the events aren’t about the sessions – the events are about the people. I remember Jason saying that very thing at the Ann Arbor Day of .NET last October, but it didn’t really click with me until my second CodeMash this past January. I spent
a lot most of my time talking to other developers – in the halls, in the bar, in the main conference room. I absolutely loved the Open Spaces I participated in. It had been a long time since I was able to sit in a room with a bunch of developers and just talk. Hell, I can learn about technology X anywhere, right?
Since starting my career as a software developer in the early-to-mid 90s, I’ve worked on some absolutely fantastic teams, especially at Spartan Stores and Sequoia (aka SequoiaNet.com, Sequoia Services, Analysts International Sequoia Services, Sequoia Diversified Products). The people I’d worked with were, for the most part, super smart with an abundance of passion for software development and technology. The thing that really set those teams apart was the fact that we (the developers) talked to each other a lot. We would hold lunch and learn sessions, BS about the latest “thing” around the conference table (or in the case of Spartan, on a mountain bike trail) or pass around a book about technology X and then discuss it. If someone had a problem on a project, it was simple enough to look to the left or right and find someone willing to listen and help.
When I decided to jump from Sequoia in 2000 and become an independent developer, things changed. I was on my own when it came to learning and I no longer had a room full of developers to bounce ideas off of. If I had questions about something I was implementing for myself or a client, I’d more than likely IM or call one of my friends. The sad fact is that at the time I only had a couple friends who had the skills and knowledge to help me when things got tough but there was no guarantee they’d be around. Outside of reading blogs, magazines, books and occasionally BS’ing with one of my friends on the phone or IM, I had no real contact with other developers between 2000 and 2005.
In 2005 I took a W2 position because I was tired of being an indy and trying to keep the pipeline full. Unfortunately, that gig lasted less than a year. During that year, I didn’t really work with other developers on a consistent basis. I was the 4th developer on the team, but two of the developers worked remotely almost exclusively and the 3rd (my boss) worked remotely for a good chunk of my time there. I would talk to my boss (and the other devs) a couple times a week, but it wasn’t the “BS’ing with another dev” kind of talk…it was the “here’s my status” kind of talk. Don’t get me wrong, when my boss was in the office, we would have the occasional tech talk, but he was pretty busy with other stuff (he was, after all, the CIO). If I talked tech with anyone, it was the network guys or the help desk people.
Talking to a rock star
In 2006, something changed. About a week before leaving that W2 position, I attended my very first code camp and loved it. Up to that point, I was reading a lot of blogs and “knew” a lot of the speakers, but these guys were all “rock stars” to me. As much as they’ll laugh about it, James and Dave were in that “rock star” group. I remember seeing Dave out in the hall between sessions and God was I nervous….almost too nervous to approach him and ask him a question about a project I had been working on. I’m glad I did because a year later he was interviewing me and I used that silly story as the icebreaker. I didn’t really talk to anyone that day other than Dave, but I remember thinking how cool the event was. It turns out my first face-to-face meeting with Dan almost happened that day, but neither of us had pictures on our blogs at the time, so as Maxwell Smart would say, we “missed it by that much.”
When I joined Pillar in early 2007, I did it for a couple of reasons: Reason #1 – I needed the money. Reason #2 – I wanted to work for the same company that, at the time, employed people like Dave and James. While I knew I wouldn’t be working with them on my first project, I hoped at some point I’d be able to work with them..hell, even talking to them would have been great. I missed talking to other devs and those guys were exactly the type of developers I wanted to associate with. My story on that gig has been pretty well documented, but I will say that when things were at their worst, those guys offered up a lot of support (along with Jayme) and all are on my short list when I need to bounce ideas off someone.
Expanding my network of friends
Since CodeMash 126.96.36.199, I’ve really come to realize how important it is for me to talk to other developers. Because I work on so many projects by myself, it’s nice to get some validation that I’m doing things the right way. It’s nice to hear that I’m not the only one having a hard time learning the latest technology. There have been a few occasions since January where I’ve had an idea or a problem, but being unsure of myself, have ended up emailing or IM’ing some of my friends to get some input. An IM chat with James has inspired at least one blog post, but more than that, he’s helped me realize how much I *needed* to talk to other developers.
I’ve started using the resources I have to maintain an on-going dialog with a wide variety of developers. Twitter has introduced me to more developers in the past few months than anything else I’ve done over the years. With twitter, there’s none of the awkwardness of IM – just because you follow someone doesn’t necessarily mean they will follow you back. Honestly I never expect people to follow me back, but if they do, cool! I love being at an event (like the Detroit Launch Event) when people come up and say, “hey! I follow you on twitter.” I’m really looking forward to the next couple of months. I’m hoping to not only meet new people at the upcoming events, but I’m excited to meet some of my twitter friends in person (Sarah, Alan, Nate, Matt, John, Joel…you all know who you are)!
Strangely enough, while IM is important, it has taken a backseat to twitter. It’s so much more intrusive than twitter, and truthfully, IM is reserved for those times when twitter’s 140 character limitation won’t cut it and I need to have an extended conversation with someone. I will admit though that looking at my IM list (or even my twitter follower list), I sometimes feel like Wayne and Garth and want to bow down and say, “I’m not worthy!” because there are some scary smart people on both lists.
Besides twitter and IM, I’ve also taken to hanging out in both the #alt.net and #graffiticms channels (IRC) when I have time. There are days where #alt.net is really slow, but other days it’s like drinking from a firehose. I hang out in #graffiticms because it’s normally me, James and Jayme. Occasionally there are others…sometimes even ScottW or JasonA (although it has been a while since either of them has been around). Some of my friends and I have even given ooVoo a try.
Taking the next step
Like I said at the beginning of this post, I feel like something clicked this year. The one word that keeps echoing through my head is “community”. It’s less about me as an individual and more about being part of the community…an awesome community full of some great people who only want to make the world of software development better.
One of the things I’m doing this year is making an effort to get out in front of developers and speak. I’ve always enjoyed getting up in front of people, but haven’t done it since I stopped teaching at LCC in 2002. All it took to get me off my ass was Dustin calling me a p***** at Codemash. :-p I’ve already done one talk at NWNUG and am now booked to speak at several upcoming events. Seriously, anything I can do to talk to more developers I’ll do. I feel like I’m making up for lost time.
I’ve also put the wheels in motion to produce a bi-monthly podcast with a few of my friends. We’re still working things out and recorded one episode already, but unfortunately, it won’t see the light of day because none of us thought it was very good.
Oh, and before I forget, I also started an open source project with a couple of my tweeps. Look for more about that project in the coming weeks.
So, what’s the point of all this? I don’t know if I have one other than to get off your ass and talk to other developers as much as you can. Seriously, make the effort. Seek out other developers and talk to them. Get involved, you won’t regret it. Go to code camps and user groups. You’ll meet lots of great people, make some friends and to top it all off, you’ll become a better developer because there’s always someone out there smarter than you. I don’t think I’d be doing half the things I’m currently doing if it weren’t for the simple fact that I’ve been talking to more and more super-smart developers. It’s motivation for me. Hell, just today I had a 90+ minute phone call with Keith Elder…talking about all sorts of development-related topics. Every time I talk to Keith, whether it’s in a bar, at a conference, in IM or on the phone, I learn something new. Granted, it might be about something about bologna, but no matter what…I learn something from him. I love it!
BTW, thanks to Sarah for proof-reading this post and for suggesting the title.