204: This Is Terrible, You Gotta Start Anyway.

Take Up Code - A podcast by Take Up Code: build your own computer games, apps, and robotics with podcasts and live classes

Categories:

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. Listen to the full episode or read the full transcript below 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. Transcript 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. I needed to conduct the classes live with real students who could ask questions. So that’s what I did. And I recorded the classes so that I could turn the videos into an online course. I did this for about nine months holding a two hour class every other Saturday afternoon. It was a lot of work. First, I had to prepare two hours of material. To give you an idea, I can sometimes spend two hours or more just preparing my thoughts for a ten minute podcast. Don’t get me wrong, I’m not complaining. I enjoy it and actually learn from the experience. But it’s still a lot of work. Then, of course, is the class itself. My voice at first could barely keep going for two hours. And I sounded scratchy for a day or so later. Then, there was the unexpected task of editing the videos. I’m not talking about removing stray sounds. That’s actu