Writing software is hard, particularly when the schedules keep programmers' “nose to the grindstone;” every so often, it's important to take a breather and look around the world and discover what we can find-ironically, what we find can often help us write software better.

In a previous CODE Magazine, Rod Paddock, our fearless Editor-in-Chief, talked about attending the SxSWi conference and reasons for doing so. As a longtime conference speaker, I found it an interesting read, but was a little disappointed that Rod stopped at the conference door: he talked about why people should go to conferences, but not how best to maximize the value of the conference once you get there. So, to that end, I present my “10 Tips for Conference Success.”

1. Get in the Right Frame of Mind

For a lot of conference attendees, a conference is basically a work-funded vacation. Conference organizers don't often help with this, by scheduling shows in “fabulous resort destinations” like Los Angeles, New Orleans, or Orlando. (My personal all-time most-disliked conference city is Las Vegas.) It sends a conflicting message: “Come here for the work, but once you get here, party the day away!”

A conference is a valuable opportunity, and if the company is funding it, often a rare one. Yes, for some of you, that conference in Vegas represents one of those few chances you'll get to see Sin City, and yes, you want to make the most of it. But as with all things, moderation is the key: there is no prize for trying to do it all, and there is certainly no honor in showing up to sessions bleary-eyed and reeking of shots from the previous night's endeavors. Take an extra day or two, and catch those Vegas “high-risk” shows before or after the conference, not during.

At the same time, however, just as valuable opportunities can be lost by taking the conference too casually, valuable opportunities can be lost by taking the conference too seriously, too. I've seen attendees pass up on great lunchtime conversations that spill over into session time because they had a fixed, set schedule of what sessions they “had” to go see. Folks, as a longtime speaker, let me confirm for you, most of what you get in a session is available in some form over the Internet, and often from the same person. There is no session you absolutely must hit so badly that you should give up making contacts and learning from your peers. Another longtime conference speaker once remarked, “Conference newbies go for the sessions; veterans go for the people and the parties.” As with all things, maintain the balance: work hard, play hard, but not too hard on either.

2. Do Your Homework

Let's be honest, not all conference sessions are created equal. And not all conference speakers are, either. If the conference provides titles, speaker bios, and abstracts, use them. Read the abstracts and get an idea of what the session will be about before you get there-as a speaker, I can tell you that I pay almost zero attention to negative conference evals that say that I should've covered “X” or “Y,” when I say specifically in the abstract that neither is on the docket.

At the same time, the speaker name and bio can be helpful as a way of getting an idea of the angle of the talk. If you see a talk on SharePoint, is it a talk aimed at developers or administrators? If my name is attached to it, searching the Internet for my name reveals fairly quickly that I'm aimed squarely at the developer community and know almost nothing about system administration, and that gives you a hint that this would be a developer-facing talk.

Not that I know bupkus about SharePoint, either, by the way. Which searching would also tell you.

3. Come Prepared

A conference represents an opportunity for developers to plumb the depths of the industry ecosystem on a variety of topics, and yet many show up completely unprepared to do any of that. Ideally, yes, you'd have some questions for the various speakers to answer. But in order to be effectively answerable, they have to be fairly short and self-contained, or I'm either going to have to pass on it, or offer to take it up with you off-line (which is speaker-speak for “Let's talk bill rates”).

But even more fundamental than that, I can't tell you how many times I've seen people show up to a conference without business cards. As a networking tool, little beats the humble business card. Who else are you going to give them to? Sure, your first job, you give a bunch to Mom and Dad and your college frat buddies, but after that? Make a point of it: pick up that pack of 250 cards your company gave you when you started, and challenge yourself to handing all of them out by the end of the week. That's 50 a day, and if you're not making at least 50 peoples' acquaintances in a day at a conference like TechEd, you're hiding in your room too much.

4. Don't Be the Guy Everybody's Talking About on YouTube

Yes, I know, it's a free country, you're a grown adult, and if you want to go out with the other attendees and get hammered off your *ss, you can. If you want to describe to everybody how you think Obama is leading this country straight to Hell, you can. If you want to stand up on a chair in the hotel lobby, scream at the top of your lungs that you think SharePoint is the worst piece of crap that Microsoft has ever shipped, heck, I may join you. But then don't be surprised if a bunch of other people find you obnoxious, annoying, and entirely not worth talking to.

Yes, there is a time and place for mouthing off and making your opinions on a variety of subjects known. The company of strangers is generally not such a time or place. Remember, not everybody knows the culture you come from, and it may be one of those people who doesn't think public inebriation is cool that has the answers you're looking for to the problem that's got everybody stumped back home. Saving the rip-roaring, snot-slinging, commode-hugging drunken orgy for when you get home (or for when the conference is over) could earn you a chance to get those answers, impress the boss back home, and save your job from outsourcing. Maybe even get you a raise.

Oh, and by the way, just as the commercials tell us that “buzzed driving is drunk driving”, it also goes to say that “buzzed conversationalizing is drunk conversationalizing.” If you're over the legal limit, you should be around good friends, not new business acquaintances.

5. Be Realistic

Conferences, particularly for those who've never been, sometimes sound like this Mecca of computer geekiness in which every problem ever discovered by mortal programmer can be solved simply by walking the halls of the conference. Or, to hear some organizers, by simply being in the same room as some of the conference speakers, all of whom are routinely lauded as “industry experts.” Alas, the reality is quite different.

To start, it's far more likely that whatever questions you had about why code back home breaks won't get answered. Beyond the core basic questions, which you can probably find answered at StackOverflow, your questions will be about code that is executing in a particular context that isn't easily describable in a short few minutes. Think of it like a bug report: Unless you can strip the question down to a simple scenario, I can't give you a simple answer.

Unless you can strip the question down to a simple scenario, I can't give you a simple answer.

Along those same lines, not all the speakers you want to pull aside and talk to for hours are going to be able to. For a lot of us, this isn't our primary job: this is something we do on the side, and we have “day job” activities we have to get to-conference calls, meetings, and so on. If the conference is paying us to be there, it's just for the time we're on stage. Much as we might want to spend hours just hanging out, we often can't.

You're far more likely to find solutions among your peers, but even then, that's a relatively small chance of success. The best you can hope for, in many cases, is a series of suggestions to try out when you get home. Or links or pointers to resources that you didn't know about ahead of time.

Similarly, don't expect that attending a session or two on a given technology is going to make you an expert on the thing, or even competent. Most conference sessions are 75 minutes long; some are even as short as 55 minutes. Contrary to what you might think, there's just not a lot of knowledge transfer that can happen in an hour.

6. Set Goals Up Front

When is a software project “finished?” By one set of standards, it's when the project has reached all of the goals that the customers set for it. This is partly why having customer requirements (be they in user stories or some other kind of format) is important: they help tell us when we're done.

Similarly, how will you know if the conference is a success if you have no goals set? These goals might be personal (“I want to see what the job market is like”) or goals set by your employer (“Go see if there's a company out there that's done a project like this before that we can partner with”) or, most often, a combination of the two. Some might be vague (“I want to see what everybody else is doing with Azure”), and some might be specific (“I want to see if anybody is doing Java in an Azure Worker Role”). They're your goals: You set them. Once set, though, having them clear in your mind will help make it almost trivial when flipping through the intimidatingly-large conference program when you're trying to decide which sessions to hit and which speakers to try to talk to.

7. Be Courteous

I've overheard some attendees talk about their experiences trying to talk to speakers, and having known those speakers for years, I can only conclude that either they tried to strike up a conversation in the bathroom (a definite no-no, folks), or they hounded them all the way back to their hotel room (another no-no), or something equally horrific. With very few exceptions, speakers are all very approachable, and very willing to talk to you, so long as they are approached with a modicum of courtesy and politeness. Sometimes, yes, we do have to run, either to our next session, or to the bathroom because those four Red Bulls we pounded before the talk are demanding our attention. But if you are willing to give us the few minutes we need, or buy us a drink (alcoholic or otherwise) at the attendee party later, we'll be happy to listen and offer up our opinions and experience.

This applies to your fellow attendees, too, by the way. When asking a question during a session, limit yourself to one, maybe two responses, at the most. Everybody else there wants to see the session, and continuing to respond to the speakers' responses is just trying to monopolize his or her session time. A good speaker should try to off-line your question after the second or third response, but sometimes the question is intriguing and (ahem speaking from experience) the speaker gets distracted and onto a tangent. Be willing to table it until afterwards, or even into email-most of us are very, very willing to engage in email conversations afterwards.

8. Make Connections

When else are you going to have the chance to see some of these world-famous folks in the flesh? I've been told it's intimidating to come up to me at a conference. It reminds me of a personal story: at my 10-year high school reunion, I walked up to a former classmate, cheerleader on whom I'd had a crush all four years, and asked her to dance. I told her about my crush and she responded with, “Why didn't you ask me out? I never had a date all through high school.” (I spent the next four hours trying to invent a time-travel machine to go back to 16-year-old me and slap him silly for being stupid.)

Seriously, folks, we're just human. If you ask us for a photo with you, you're putting us on a pedestal that, at least in my case, isn't deserved. If you want to show appreciation or affection, buy us a shot, or a Diet Coke, or just give us a “Thanks for that book/session/article/whatever.” Those little sentiments of appreciation go a long way. (It's not like we write these things for the money, let me tell you.)

But along with that, spread your shot-buying out into the rest of the crowd, too. When else are you going to meet this kind of concentration of geekery? Some of the best people I've met have been people I've met at conferences. What's even more important, when somebody at the conference asks, “What do you do,” you know you can say, “I'm an enterprise application developer” and not have to explain what that means. When's the last time you could do that at a grocery store?

9. Network, Network, Network

By now, you're starting to sense a theme, that conferences are about networking. This isn't a social networking site, though: there are no achievement badges for collecting the most number of “links” or “connections.” Meeting people yields significant benefits, and sometimes the best benefits come from meeting people who are in entirely different professional pursuits than your. If you're not good at meeting people, here's the easy tip to offer: just ask questions, and listen. Usually the next question to ask makes itself apparent in the answer to the previous one. (You'll get a great reputation as a good listener, to boot.)

More than that, though, if you find somebody with whom you seem to “click.” or if somebody's company seems like a good fit for your own, or for no specific reason whatsoever, send them an email after the conference. I collect dozens of cards thrust on me by people during the conference, and by a week later, I have no idea how the name on the card relates to people I remember meeting. I remember emails much more clearly.

10. Job-Seeking? Practice the Pitch

Attendees often come to a conference seeking, either officially or unofficially, a new job. Perhaps the desire to move is just an itch, perhaps the company is about to go through a round of layoffs, or maybe your boss is just that big of a jerk. Whatever the reason or cause, it's not uncommon to come with that “Wow, are you guys hiring?” line ready.

If that's your goal, come prepared. Be ready to talk about what you've done, and what you want to do. Go to sessions on those technologies and strike up random conversations with anybody you find. Wander the vendor floor and see which companies are working in your area of expertise. Be free with your business cards (you did remember to bring your business cards with you at all times, right?) and make sure to get other peoples' cards too.

Summary

None of this guarantees success, nor does the absence of these things guarantee failure. It's entirely possible to succeed doing none of these, and it's entirely possible to feel like the week was a complete failure even when doing them all. But if you want the boss to think about sending you to a conference next year, you need to be able to present demonstrable value (and by that, we mean “value to the company”) from sending you. If you come back having met goals, having made connections, and having discovered resources, the boss is far more likely to be ready to send you again next year.

And next year, you can buy me that shot.