I'm becoming a conference junkie.
Conferences are fun, and there are a lot of national and regional conferences that cover all sorts of topics. CodeMash, No Fluff Just Stuff, Pittsburgh TechFest, and so on. Even in the Mac and iOS realm, there's 360|iDev, SecondConf, NSConference, MacTech, Çingleton, CocoaConf, and of course Apple's WWDC. I'm sure I missed others. I recently returned from my fourth CocoaConf.
The value of technical conferences should be pretty obvious by now. Sessions can introduce you to new ideas and new APIs. Perhaps you'll learn new ways of tackling a familiar subject. Oh yeah, that technology isn't nearly as scary. (I have to thank Rob Napier for totally demystifying Core Text for me.) But sometimes the best parts are between the sessions. Hear something really interesting? Go chat with the presenter. Have a question about a particular topic? Ask around and find the local expert. Talk to strangers over lunch and dinner. Ask what they do. Maybe you can get a demo of a cool new product, or find a kindred spirit who shares your love of badgers and Finnish speed metal. I don't think I've had an uninteresting conversation at a conference.
The Loud Speaker
But all of that is pretty obvious. We know conferences are good. But I'm not just a conference junkie. I'm a conference speaking junkie.
That fourth CocoaConf I just got back from? That was my fourth one to speak at. I'm just as surprised as you are. If you go back in time to the just-out-of-high-school me, and tell me that I'd be (voluntarily!) speaking at conferences in front of many dozens of my peers, I would say you are insane. And while you're there, please tell me to eat better and exercise more.
Not only do I speak at these things, but I want to encourage you to speak at conferences too, or at least to think about it.
Conferences are always looking for new speakers. Fresh content and fresh ideas are important. Regular speakers are people too, who might have obligations that make them unable to make a particular conference.
There's a frugality aspect. Each conference's details are different, but most of them will comp your admission ticket. In exchange for two or three hours of presenting you have access to all the other conference benefits. Some conferences will also cover your lodging, and some will cover travel as well. I sometimes stack an extra day on one side of a conference or another to do some sight-seeing, rent a bike, or perhaps to visit a friend I haven't seen in a while.
Also, they are huge amount of fun. It's a pleasure leading a group of folks on a path of exploration of a topic I find exciting. Maybe I can get someone else excited about it too. Some of the most gratifying conversations I have are with people who have taken some inspiration, however minor, from what I talk about. There's a level of excitement and anticipation before the session starts. And frankly, it's a relief when my last session is over and I can stop contemplating my talks.
But more importantly, I see giving talks as a way of giving back to the community, while having some fun, too. I have learned a lot from my peers in this weird thing we call the technical community. Actually, that's not a strong enough statement. I've learned an incredible amount from my peers in the community. Many patient (and not so patient) individuals helped me on my paths to computational understanding. Maybe it's through books I've read, or blog postings, or in-person sessions I've attended at conferences or CocoaConf, or it's a group of folks at NSCoderNight or from one of our tech talks. Maybe it's a friend or coworker sitting me down for an hour and describing something in exquisite detail. I have learned much, thanks to those around me.
It feels good to take some of that hard-earned knowledge and package it up in a (hopefully) entertaining hour or hour and a half for the benefit of other programmers.
Oh, and you have access to the special speaker's room. Usually there's a 24/7 champagne buffet. The prime rib is excellent. Just don't tell anyone.
Doesn't have to be Conferences
This is just a sneaky way of getting more technical presenters out in our community. Have a local CocoaHeads chapter or Ruby User Group? They're always looking for folks to present on a technical topic. It doesn't have to be super-advanced or an attempt to boil the ocean. I've learned interesting things from otherwise basic talks. It's impossible to know everything, so someone else will most likely have some knowledge or insight that is new to you.
Perhaps you have a local high school or college that has a collection of young nerdlings. They actually might enjoy a talk on some aspect of technology in the real world. I've given a number of talks to ACM chapters at colleges in my region, ranging from aspects of mobile development to the Objective-C runtime to career advice for the young nerd. This can sometimes lead to a mentoring relationship, which has benefits both for the student (they can avoid some of the mistakes you've made, or maybe they get a better perspective on technology and how it's created in the workplace) as well as for the mentor (fresh perspectives on technology, or figuring out the answers to really interesting questions.)
This is just another way you can help give back to the community, as well as helping shepherd the next technical generation.
Conference speaking is a way to force yourself to improve. Public speaking is scary. Speaking in front of an audience that contains a lot of SmartFolk can be terrifying. Talking about an API is fraught with peril in case you're misunderstanding some aspect of its use. Taking a stand about something technical could invoke all sorts of righteous indignation. Will someone take me to task during, or after, my session?
But pretty much everything worth doing in life can be scary. Play in a band? It's scary, standing in front of an audience and performing, hoping that big solo in the middle doesn't crash and burn. Asking that special someone out for a first date. First solo driving. A job interview. First day on that new job. OMG I have this baby, what do I do now? You get the idea. Public speaking is no different. Luckily, the more you do it, the easier it becomes.
Some conferences, CocoaConf especially, encourage attendee feedback to the speakers. CocoaConf actually bribes people with raffle tickets for the end-of-session goodies table to turn in evaluations for speakers, and the conference as a whole. I always get some good, useful feedback after a CocoaConf.
Putting together a good conference session takes a lot of time and effort. Seeing a big project through to completion requires work. It requires discipline. I'm a big fan of doing what it takes to improve my work ethic and general discipline. It helps avoid wasting my time on frivolity as I get older.
Tune in for part two, where I go into some of the details of building and giving a conference session.