The truth of Alistair Cockburn’s model of software development as a “collaborative game of invention and communication” is well accepted. Most programs these days involve teams of people with diverse skills and varying roles, therefore, good communication is essential to getting things done. One pattern that has emerged during my time authoring “Secrets of the Rock Star Programmers” is the central role of communication for the software development professional. In my own journey as a practicing programmer, I have found that gaining proficiency and practice at public speaking has yielded many benefits, communication skills foremost among them. This article surveys some of the benefits of public speaking in the career of a software development professional.
In my role as JSF specification co-lead at Sun Microsystems I’ve had the opportunity to speak at many conferences over the years. I’ve yet to cross over from doing speaking engagements as the JSF expert, to doing speaking engagements on higher-level software development topics, but I’m trying. In any case, During that time, I’ve noticed a definite improvement in my feeling of effectiveness as a software developer. I attribute that feeling, in large part, to getting comfortable with public speaking.
Software development professionals usually work in teams; intra-team communication is how we get things done. For example, we do emails, code reviews, design reviews, scrum meetings, and the occasional division-wide roll-up. Such communications serve the goal of software development, and as we all know, software development is a process of discovery. Therefore, the communications that happen on a software development team involve plenty of thinking on one’s feet and on-the-fly oration. Unfortunately, problems arise when the “thinking on one’s feet” is so engrossing that the “on-the-fly oration” suffers. For example, I’ve been on the firing line at a design review and I’ve noticed my oration dwindling into nonsense in response to a difficult line of questioning. For me, the reason for this incoherence was my difficulty in thinking on my feet about the question and my response, while delivering the oration of my response. I noticed that as I did more and more public speaking at conferences and Java User Group meetings, my befuddlement at a thorough design review eventually disappeared entirely.
Looking back, I also noticed that confidence in public speaking has even changed the way I write email. My emails became as short as possible because I began to think of my audience for an email in the same way as I do when preparing a presentation: audience attention is valuable and you have to pay the audience handsomely for giving it to you.
I wouldn’t have been given the opportunity to co-author “JavaServer Faces: The Complete Reference” unless Chris Schalk approached me at a conference at which I was presenting. The personal brand I built as a speaker on the specific topic of JavaServer Faces caused Chris to seek me out for the role of co-author. I believe that the maintenance and enhancement of one’s personal brand is essential to one’s continued viability in the software workforce marketplace. Frequent public speaking is the single most effective way to do this brand-work.
Aside from the practical and career boosting aspects of public speaking, there is the pleasureable aspect of travel. I have been very blessed to have been invited to speak at conferences in fun locations such as Vienna, Bengaluru, Zurich, Cairo, and Sao Paulo. Again, my role as JSF expert is at least as important as my public speaking skills here, and I wouldn’t have the opportunity to travel to these events were it not for my association with JSF. However, I noticed that many of the events I attended featured the same core group of speakers, and most of that lot were invited on the basis of their speaking skills and audience draw, not because of their association with any specific technology or product. This shows it’s very possible to travel the world simply as a good software development speaker.
As I mentioned above, the further I ventured into the software conference lecture circuit, the more I saw the same people at conference after conference. This was part of the reason I undertook the authoring of “Secrets of the Rock Star Programmers.” I wanted to know what it was about this lot that made them such a draw. Why did software developers around the world would come to hear what they had to say? The networking I was able to do at these conferences was the means and the end to the rockstar book. Due to these conferences, I’ve established solid relationships with the leaders of our field because of being reasonably good at public speaking.
While I’ve mentioned international conferences as the venues for my speaking engagements, I didn’t start there. I started out presenting at local Java User Group meetings and similar small but dedicated groups. These groups are always looking for new speakers and interesting topics. Also, most of the IT conferences such as Jazoon, JBossWorld, Javapolis, JAX, JavaOne and the Ajax Experience have an open “call for papers” phase. Thankfully, these sorts of conferences have a much lower bar to entry than academic conferences such as OOPSLA, SigGraph, or the WWW conference series. If you want to get started with public speaking, I have heard a good place is Toastmasters International .
Public speaking is important in general, but even more so for software development professionals. This importance is manifest in the work itself and in the advancement of one’s career.