Teaching vs. Coaching

I was recently asked my thoughts on teaching versus coaching. Are they the same? What are the differences? Which is more desirable?

Although Dictionary.com tells us that coaching and teaching are nearly synonymous, that isn’t interesting. We can redefine the terms for our purposes, and therefore here is a breakdown of the differences as I see them.


Let’s define teaching as the act of presenting concepts or ideas through the use of structured syllabi or classroom techniques. Teaching in this model typically focuses on the presenter. We see this applied effectively at conferences, university lectures, elementary classrooms, pulpits, and podiums the world over. Teaching is a great way to introduce people to new ideas, concepts, and vocabulary. It is also effective in prompting people to seek more information later. Although teaching is effective at introducing ideas, my experience is that teaching rarely produces fundamental understanding.

In corporate America, teaching typically manifests as a single speaker with Power Point slide decks projected before a room of people. Slide decks are often jumbled with too much text to read in a single sitting. This ineffective practice stems from from a fundamental lack of effective presentation techniques.

Listeners or observers to a slide-based presentation are free to engage or not. It isn’t uncommon to see sleepers in the audience next to people whose laptops are open and humming away. This is “teaching” or more often “training” in corporate America.


I see coaching as the act of engaging a client, student, or mentee in an actual problem solving discussion during which something new is learned. A good coach causes a learner to apply that which was taught earlier to real life. How might that sound in a conversation between a martial arts instructor and student?

“What movement did you miss in your kata?”

“I missed the movement of blocking an overhead strike before the turn to my 3 o’clock.”

“How will you remember that movement?”

“By picturing the attack from the attacker’s viewpoint.”

“Good. Again.”

In this very real conversation I had with my teacher, you feel the essence of coaching. The coach knows the student already has the knowledge. The student also has a technique for applying that knowledge, in this case a visualization technique.

Coaching recognizes that to truly learn, one must experience. Effective coaches cause learners to draw on information they already possess and to solve real world problems with it. This act of doing is what is so instructional.

A coaching conversation during a code review might sound like this:

“Did you make a conscious decision to expose that class member as public?”


“Is there a reason it needs to be public?”

“No, it just came up that way by default in Visual Studio.”

“Are there any down sides to it being public?”

“Well, since it is is a shareable assembly I guess the code could be invoked from another program.”

“Is that bad?”

“I guess so, because if you call that member without first setting this other private context member you will cause an exception or at least an unstable state.”

“So now what?”

“I’ll change the scope before I check in.”

A Final Example

Another good example is design patterns. Scott Cate recently visited the Boise .Net User Group and presented on the MVP pattern by actually coding a simple implementation from the ground up onscreen. His advice to the assembled group was to “do this exercise”.

He advocated that to truly learn the technique, you should experience it by learning the kata he had just performed. Although Scott was not in a position to coach the whole group through the exercise, he fundamentally understands the importance of the experience. I am guessing he is a good coach, too.


Technorati Tags: , , ,

Published by

David Starr

David Starr is a professional software craftsman committed to improving agility, collaboration, and technical excellence in software development teams. David is the Technical Training Director for GoDaddy. He is the founder of Elegant Code Solutions, has served in numerous leadership contexts, and was as an early and consistent advocate for agile software development.

2 thoughts on “Teaching vs. Coaching”

Comments are closed.