Teaching software is harder than writing it
Reflections on my first year as a bona fide teacher.
Being in the trenches of software development for 28 years, I’ve seen a lot. Writing software is HARD!
I remember an article that surfaced back in 2011 titled “Yes, Virginia, Scala is hard.” It was written by a prominent fan of Scala that seriously challenged some of what Scala embraced.
What it kicked off was a furious debate in multiple platforms that IMHO was about the trade off between more powerful constructs vs constructs used by the masses.
I’m not here to revisit THAT debate.
What I’m here to dig into is another age old wrinkle…training up the next generation of pro coders.
You may not know this but I used to study martial arts. Unfortunately I had to give it up due to arthritis in my knees. But something I had learned at the time was how to teach others.
There’s a mantra thst says:
The fastest way to learn something is to teach it to someone else.
That may sound kooky or flat out wrong. But it’s actually true.
You see to teach someone else, you need a certain amount of understanding yourself. Not 100%. But enough to get the basics.
The REAL challenge is when you start getting questions.
This is the feedback loop of the most common challenge with the content you’re sharing. And so you end up either knowing the answer by digging for the answers, thus forming mental pathways for yourself and the person you’re teaching.
As I helped junior Tae Kwon Do students with basics, I was getting schooled in the same.
Let me ask you, do world class athletes practice fundamentals? Ever?
You’re darn right they do!
Every day. Probably a key thing to maintain their skill.
Practicing your skills whether you’re a beginner or a pro is VITAL. I was practicing my martial arts discipline twice: once during my own lessons and once when helping others.
And the feedback was always there.
Either my own master coached me, or the questions from a junior student pushed back on me.
This ain’t something you can teach sitting on your dairy air!
Same goes for training pro coders.
As I host episodes of SELECT STAR, create drawings for slide decks, or assemble a challenge exercise, not only do I have to get it working, I want this content to align with our official documentation. I want it to match our best practices.
I’m constantly reviewing things and either taking feedback to the Docs team or to someone else.
Iterative feedback is GREAT! Intense, but great.
Are you aware that the span of time between the Wright brothers first powered flight and us landing on the moon is only about 60 years?
That’s what I think of as a solid 60 YEARS of engineering feedback. That is a golden era of development.
Feedback is INCREDIBLE. Don’t knock it when feedback is brought to you.
It’s been tough but quite gratifying. Training that genuinely strives for top notch content instead of summaries and simplistic boiled down artifacts can elevate whole teams. Empower fellow developers.
Who doesn’t want that?
— Greg
If you’re a pro coder or plan to become one then stay tuned for my next article. But if you simply can’t wait then check out this video an old friend of mine and I discuss why YOU may be your best investment!
This article was originally published on Pro Coder on March 18, 2025.


