I just finished reading Chad Fowler's Passionate Programmer book. It quickly earned a spot as one of my favorite books on the topic of programming and careers. I highly recommend it, and have been tweaking a book review that I'll post up soon, but I wanted to talk about want chapter that stuck out at me. Making the Hang.
The chapter talks about one of Chad's high school jazz buddies, Chris. Chris was a good musician, but he made sure he hung around with all of the guys who were better than he was and would pepper them with questions every chance he got. He called it making the hang. For some reason, this stuck out at me. I couldn't put my finger on it for a few days, and then it hit me. I've been doing this for a long time.
The first hang I made wasn't in the music scene or the technology scene, it was cycling. In particular, competitive mountain bike racing. A few years back I started riding more and more, wound up a regular at the weekly group rides, and finally decided to try my luck at racing. To this day there are few things I enjoy as much as that adrenaline rush you get as you pull up the line at the start of a race.
Starting out, I asked questions of anyone who would humor me. Looking back on it, I can see how Chad thought Chris might be annoying the musicians and I'm surprised I didn't annoy more people with my constant questions about racing. How do you prepare? What's your training like? Do you really think two-a-days work? What about road cycling? Is there any crossover benefit for mountain biking? Maybe we can go for a ride some time?
I was like a walking 20 questions game. But it worked. I not only finished the first race I ever entered, a 100 kilometer race in Juarez, Mexico, I surpassed my goal by over 50 places (was shooting for a top 250 out of more than 1,000 that would finish, and got inside the top 200). I know it's because I was prepared for the race. I'd asked enough questions of enough different people that I knew what to expect. I didn't have to learn the hard way, all I had to do was get my skill up to par.
I kept it up, and the next year I was 46 in a field that was won by the sitting Mexican national champion including winning a personal race within the race, I beat one of the guys who I'd been asking questions of the whole past year at the final sprint. I still had legs after 62 miles of racing to sprint for the line and he couldn't contest it.
It's happened in other parts of my life. When I took up road cycling, I literally learned to make the hang. The first group road ride I ever went on involved me with a group for about 30 minutes of a 90 minute ride followed by a long, solo trip back after I got dropped. By the end of that summer I was hanging with the group the entire ride and even making challenges at some of the sprints along the route.
When I got serious about moving from a hacker to a programmer, I made the hang by joining an open source project. Marcus Baker always had more time than I could expect to answer silly questions and help shape my view on what a programmer ought to do. I'm a TDD guy today explicitly because of those interactions with him.
So what's the moral of this story? I guess "get out there!" Talk to people. Hone those people skills and above all, don't be afraid to be annoying. 9 times out of 10, the person you're "annoying" (in your mind at least) is going to be so flattered that you respect their opinion that they'll spend hours talking to you and answering every last question you have. Don't believe me? Try it some time and tell me if you didn't get anything out it.