I just finished speaking at my favorite conference, the Caribbean Developer’s Conference. Held in a wonderful resort in Punta Cana, Dominican Republic, it brings together a local and international crowd of speakers and attendees. I’ve gushed about it before.

Wonderful locations are certainly a perk of some conferences, but what really gets me jazzed is the so-called “hallway track” where we get into interesting conversations with attendees and other speakers. Especially when I hear from developers just starting out where this is one of their first conferences. Inevitably, some will ask how did I get started speaking.

For the most part, I lucked into it. My experience may not be the best template for others to follow. For example, it really helped that I was hired by Microsoft to work on a wildly popular web platform that millions of developers use. So yeah, by virtue of my job, I had a built in audience. “Become Program Manager of ASP.NET MVC” isn’t a scalable approach to becoming a speaker. But there were a few other things that helped me get started.

Start small

When I got the job, I knew that I would be invited to speak at conferences here and there. I had attended a few, but never saw myself speaking at them. So I started by contacting the local .NET User Group in Los Angeles (where I was living at the time) and asked if I could speak at the next meeting. They were happy to have me as they are always looking for new speakers.

Speaking at local user groups or meetups is a great way to get started. One way to find such groups is through Meetup.com. For example, if you’re specifically interested in .NET, the .NET Foundation has a list of .NET meetups here.

Not only is speaking at a meetup good practice, but it puts you in touch with other like-minded developers. It’s a great way to start building your network. And you don’t have to travel far.

Have Something to Say

You may be thinking, why would anyone want to hear from me? And what would I talk about? If you’re writing code every day, building real software, there’s undoubtedly some interesting perspective you can share if you look hard enough. And don’t discount the fact that your inexperience can be an advantage in some ways.

You often see the same speakers crop up again and again at conferences. This is not a bad thing. These folks have a wealth of experience and wisdom to share. On the other hand, this can to the same type of talk being repeated over and over.

Experience is a double edged sword. It can further detach a person from the beginner’s mind. The beginner’s mind is a concept from Zen Buddhism that describes how you approach a concept without preconceptions through the eyes of a beginner. Most of the technologies and APIs we use are built by very experienced developers. We often need to be reminded that what’s intuitive to us old codgers may not be so obvious to a beginner. Especially a beginner who grew up with an entirely different cultural context.

For example, I dabbled a bit in coding before my first job out of college, but I didn’t really learn to code until my first job where I was thrust into the frying pan and learned on the job on customer projects. I don’t know what it’s like to go through a coding bootcamp, or how they teach coding. That would be an interesting topic.

Another source of inspiration is to look at the session list for existing conferences. Read the titles and abstracts. And then consider if you might have an interesting perspective on that same topic or a way to add more context. Don’t worry too much if you see others talking about the same topic you want to talk about. There’s always a new take to be had. I’m not the only one to ever give a talk on Social Coding, ASP.NET MVC, or Building a Startup, but I hope my talks at least offered one or two new perspectives to consider on these well trodden subjects.

Have Somewhere to Say It

At some point, you’re ready to speak at a larger conference. How do you get started? If you’ve been speaking at local user groups, you hopefully have a network of people you can reach out to get a sense of what conferences are looking for speakers.

Another great resource is to fill out a speaker profile on Sessionize and then use their Discover events. I learned that several speakers discovered Caribbean Developers Conference through Sessionize.

Follow folks on Twitter who are well-known speakers in the type of conferences you’re interested in. They often tweet about upcoming conferences and call for speakers. Get to know the set of conferences and conference organizers in your areas of interest and pay attention to them.

Some other resources

After I drafted this post, I googled the title and found this great post by Kate Matsudaira. We have some ideas in common, but she makes a great point about preparing a strong pitch.

Another great resource is of course, Scott Hanselman who is a fantastic speaker. In particular, his video on The Art of Speaking as well as his specific tips for technical presentations.

I hope this is helpful and I see you on the speaker’s list at the next conference!