The Secret to Becoming a Better Programmer is Speaking

The Secret to Becoming a Better Programmer

Malcolm Gladwell penned the concept of the 10,000 hour rule in his book Outliers: The Story of Success. The principle holds that to become world-class in any field, you need to complete 10,000 hours of “deliberate practice”.

There is a secret that will allow you to bypass the 10,000 hours rule and allow you to become a much better programmer. That secret is speaking.

Experience Matters in Programming

Programming is one of the fields where experience matters. Just writing code for the sake of coding for 10,000 hours will not make you a skilled and valued programmer.

Programmers learn by:

  • reading books
  • completing online tutorials
  • attending training or conferences

Programmers gain experience by applying what they learn.

Junior vs Intermediate vs Senior Programmer

There is a progression in programming from Junior through Intermediate to Senior level positions. The skills and experience found at these different levels vary.

A Junior programmer will need help to complete tasks as they are just learning how to hone their craft. If left alone, they will add little to no business value.

An intermediate programmer will be able to produce some business value when left alone. They should be able to work with minimal supervision. They need specific goals for them to achieve results.

A Senior programmer will create business value without requiring supervision or goals. They understand the business needs and requirements and are able to complete them.

Involve Me and I Learn

The Chinese Confucian philosopher Xunzi (312–230 BC) wrote in Ruxiao (The Teachings of the Ru), as translated:

“Not having heard something is not as good as having heard it; having heard it is not as good as having seen it; having seen it is not as good as knowing it; knowing it is not as good as putting it into practice.”

A paraphrased version of this quote is:

“Tell me and I forget, teach me and I may remember, involve me and I learn.”

Why Speaking Will Make You a Better Programmer?

Senior programmers are able to mentor and lead Junior and Intermediate level developers. Communication is one of the requirements in mentoring.

One side effect of becoming a speaker is improving your ability to communicate. Communication is a soft personal skill that will benefit you not only in your job but also in life.

Statistics tell us that you will remember just 20% of what you read but 80% of what you can teach to others. If it takes 10,000 hours to reach mastery, speaking is a good way to reach it.

Speaking will force you to have a deeper understanding of the subject matter. This will improve your skills and knowledge.

Being able to communicate can be more valuable than understanding the obscure usage of a programming language that few may know.

Do I have to be an expert to be a speaker?

The simple answer to that question is no. You only have to have knowledge of a topic and the ability to articulate it.

Every conference will have beginner, intermediate and advanced tracks. If you are new to programming then you can speak in the beginner tracks. As you skills improve you can move to other tracks.

CFP — The Path to Becoming a Speaker

Every conference will have a CFP (Call For Papers). Conference organizers use a CFP to ask for proposals from potential speakers.

CFPs will generally need you to submit:

  • the topic of your speech
  • a short description that is one to two paragraphs long
  • detailed requirements if any

A CFP will have a time frame for you to submit proposals. After the deadline, the organizers will review all proposals. They will select the proposals they want delivered at their conference. Regardless of the outcome, the conference organizers will notify you on their notification date.

Should I Submit One or More Proposals?

Most conferences will allow you to submit many proposals. The reasoning is conferences will receive more submissions than they have slots available.

I submitted a proposal to talk about Flexbox to the DevNexus Conference. DevNexus is Feb 22–24, 2017 in Atlanta, GA. The conferenced rejected it because another speaker submitted a something similar. His proposal covered Flexbox, CSS Grid and other new CSS techniques. DexNexus accepted his because it will provide more value to the audience.

I submitted five entries to DevNexus Conference. They accepted one titled “ES6 Generators and Promises”. This proposal covered a specific new feature in the JavaScript programming language.

I encourage you to submit more than one proposal. There may be a better one on a topic you submitted and yours might be the best of all submitted.

Should I Present the Same Proposal to Many Conferences?

The answer to this question depends on the conference organizers. Some will want all new proposals while others will accept any proposals.

Earlier I talked about my proposal the DevNexus Conference rejected on Flexbox. I took this proposal and tweaked it some. I submitted it to the JazzCon.Tech Conference in New Orleans.

JazzCon.Tech Conference is a 3 day conference held March 22–24, 2017. JazzCon is a conference that covers Web and JavaScript development. My Flexbox proposal is much more appropriate for the audience at this conference. The conference accepted my proposal.

How to Find Conferences

Here are some good resources that you can use to find conferences where you can speak.

  • Paper Call — a website that enables event organizers to manage their CFP. Provides list of conferences worldwide with open CFP.
  • “Technically Speaking” by Chiu-Ki and Kate — this is an email newsletter that lists conferences for technical speakers.
  • Women Who Code Events Calendar — this calendar lists conferences worldwide. This is the largest collection of conferences that I have found.

Final Thoughts

Speaking is one of the best ways to improve your skills as a programmer. There is a direct correlation between being able to articulate a topic to having a deep understanding of that topic.

If you are in Atlanta in February, come hear me speak at the DevNexus Conference. I will also speak at the JazzCon Conference in New Orleans in March.

If you have spoken at your first conference, leave a comment about your experience. Did speaking help you become a better programmer?