Have you ever created something and then thought about how bad it was? What did you do?

Most of us would hide it or even destroy it. Or maybe just keep working on it trying to make it perfect. I struggle with this all the time. It’s really hard to release something. But that’s exactly what you need to do. Let other people see it and try it. It won’t be perfect but instead of fixing what you think needs to change, let others tell you what they would like changed. This is already hard enough. But you want to know what’s even harder? Try coming back to something you worked on years ago. Would you still be able to resist the urge to just make a few changes first? This is an episode where I describe this and how I handled it.

Back in 2013, I decided to start teaching programming. A few things came together then which prompted the decision.

I’d been using the C# language to program since about the year 2000. Before that and up to about 2003, was C++. And I realized that the C++ language had recently went through some much needed changes. This is known as C++11. And more changes were coming in 2014 which became known as C++14. Now we’ve got C++17 and eventually C++20. The C++ language was getting its groove back and I wanted to keep up-to-date.

When I’m learning something, one of the things I like to do is teach it to others. That’s when you realize how much you actually know about a topic. So I decided to teach C++. I also like video games. Although I rarely get much time to play. Why not fix that by creating video games and using the code to teach at the same time? What should I call this effort? Well, since my favorite type of game is fantasy role playing games with swords and magic, I came up with the name Fantasy Development, or just FantasyDev for short.

The next question was who should I teach and then how? I wanted to help somebody move into development who might not have thought such a thing was possible. Somebody who already knew a few things about computers. Just not how to program them. People doing technical support seemed like the right fit. They already have a position with a company and know the development team. All they need is to learn how to program and some confidence to approach the hiring manager for an interview.

I knew that the worst thing I could do was to go off on my own and produce the ultimate programming course in isolation. To lock myself away until it was complete and announce it to the world. Why would this be a bad idea? Well, we need feedback. Would an airline pilot be able to come anywhere close to landing a plane at the destination by starting out with a general idea of where the plane needs to go and then never looking out the window and never looking at the gauges? Absolutely not! The plane would never even find the runway to takeoff at all.

After doing all this and creating videos with customer input and guidance, I still had an initial reaction years later that the videos were terrible. Listen to the full episode for more details. And don’t forget to subscribe to the podcast on your favorite podcast app on your phone so that you’ll get new episodes delivered to you automatically.