As you learn more about something, a strange thing happens. It becomes obvious how much more there is to still be learned.

This is not a new idea. It’s been around and quoted in many different forms for thousands of years. And it just keeps going. It’s not like after a few weeks of studying something, you’ll be able to list out all the things that you have left. You’ll have a list. That’s for sure. But then each item on your list will lead to several more and they’ll each lead to several more. It doesn’t end. I like that. And I can certainly vouch that after learning how to program for the last 25 years, I have a long way to go.

A person just beginning to learn something is more likely to feel confident about their skills than another person a little further along who is starting to realize the full picture. To give you a very real example of today’s topic even for me after 25 years, I recently started thinking about all the things that I still need to complete in the game library I’m working on. This is code that I’m preparing for a five day workshop to help you go from beginner to having your own game in a week’s time.

There’s no way that you’ll be able to understand everything in just a week. But just like how you can learn how to drive a car in a week even though you may not know yet how to change the oil yourself, I still believe you can learn how to use my library to build your own game in a week even though you may not be ready to even acknowledge the existence of the variadic template publisher subscriber code.

When I first came up with the idea to organize this workshop, I thought I could have everything ready in about a month. Maybe two. And hold the workshop in august or September. Well, it’s October already and how far along is the library?

It’s actually quite far along. It can manage some intricate details for you and make them seem as easy as just pressing the gas pedal in a car. But I have to acknowledge one big reality. It’s not done yet. And if there’s one thing I’ve come to accept over the last several month, it’s how much more work still remains.

I just posted a short video on Facebook that shows some of the capabilities of the library so far. You can find this at Facebook.com/TakeUpCode. I’ll be adding more videos that document the progress to this page. It’s a 2D side scroller with an animated character that can move around on some tiles, jump, and change the animation depending on what the character is doing. You might wonder what all the fuss is about if you see it. After all, it’s not nearly as flashy or polished as a blockbuster game. That’s not the intent. It’s a library that you can use to build your own game and learn how to program at the same time.

Listen to the full episode for more or you can read the full transcript below.

Transcript

This is not a new idea. It’s been around and quoted in many different forms for thousands of years. And it just keeps going. It’s not like after a few weeks of studying something, you’ll be able to list out all the things that you have left. You’ll have a list. That’s for sure. But then each item on your list will lead to several more and they’ll each lead to several more. It doesn’t end.

I like that. And I can certainly vouch that after learning how to program for the last 25 years, I have a long way to go.

I choose this topic today because I wanted to explore with you one aspect of this never-ending journey to knowledge. You see, as you learn more and realize that you can continue learning more, it also means that there’s more I can teach you.

I remember once when I was learning Karate and my Sensei told me that he might notice a student doing a hundred things wrong but would only mention a couple at a time. Why is that?

First of all, if we get too much of anything, it becomes hard to focus. Too many choices can lead to indecision. Too much feedback can lead to feelings causing inaction. If we’re given a long list of all the things done wrong, it’s more likely we’ll just give up.

Take this podcast as an example. There’s about 200 hundred episodes so far and yet there are entire aspects to programming that I haven’t started explaining yet. And even the topics that I have explained already just barely cover the basics. There’s so much more that I can explain to you.

I try to explain topics that will be needed for future topics before taking on those future topics. Makes sense, right? And after listening to 200 episodes, you’re now ready for even more.

And at the same time, I’ve tried to boost your confidence, show you how easy this is, and prepare you to experiment and learn on your own.

You see, another side effect of today’s topic is that a person just beginning to learn something is more likely to feel confident about their skills than another person a little further along who is starting to realize the full picture.

So if a person just starting out has a tendency to already feel confident, then why would I need to boost that person’s confidence even more?

I think programming has a reputation of being too difficult and beyond the reach of a lot of people. Too many people think they could never do this. Think that they’re not good enough with math. Or even think they have to graduate from college in order to program.

By boosting your confidence, I’m hoping to get you further along the learning curve before you realize the full extent of what’s involved and decide to just give up. I’ve had a lot of students who have shown some great potential and active engagement who just stopped attending classes.

I can’t say that I’m any different though. I’ve definitely had my share of starting things only to never finish. Just ask my Sensei.

I think it’s been my love of creating things that’s kept me involved with programming for so long. It truly is rewarding to break through some problem that I might struggle with for hours or even days or weeks and finally see tangible results.

And to give you a very real example of today’s topic even for me after 25 years, I recently started thinking about, and I mean really thinking about all the things that I still need to complete in the game library I’m working on. This is code that I’m preparing for a five day workshop to help you go from beginner to having your own game in a week’s time.

There’s no way that you’ll be able to understand everything in just a week. But just like how you can learn how to drive a car in a week even though you may not know yet how to change the oil yourself, I still believe you can learn how to use my library to build your own game in a week even though you may not be ready to even acknowledge the existence of the variadic template publisher subscriber code.

But here’s the thing. When I first came up with the idea to organize this workshop, I thought I could have everything ready in about a month. Maybe two. And hold the workshop in august or September. Well, it’s October already and how far along is the library?

It’s actually quite far along. It can manage some intricate details for you and make them seem as easy as just pressing the gas pedal in a car. But I have to acknowledge one big reality. It’s not done yet. And if there’s one thing I’ve come to accept over the last several month, it’s how much more work still remains.

I just posted a short video on Facebook that shows some of the capabilities of the library so far. You can find this at Facebook.com/takeupcode. I’ll be adding more videos that document the progress to this page. I’m not promoting this page yet so if you go there now as this episode is being released, you’ll be one of the first people to see the game.

It’s a 2D side scroller with an animated character that can move around on some tiles, jump, and change the animation depending on what the character is doing. You might wonder what all the fuss is about if you see it. After all, it’s not nearly as flashy or polished as a blockbuster game. That’s not the intent. It’s a library that you can use to build your own game and learn how to program at the same time.

Sure, there are other programs out there that allow you to make games. And some really good games too. But do they serve as an example of some of the best ways to structure a large software development project? Do they show you how to manage resources so they’ll scale to a large size? Probably not.

I’ve said many times that if you can build a game, then you have the skills to program almost anything. And when you’re learning how to program, why not make it fun and interesting?

Hopefully, at the same time, you’ll come to understand that there are things I can teach you about programming that go beyond the code. Just realize that this concept that’s been around for thousands of years about our expanding awareness affects all of us all the time. It can lead to artificial confidence early on. Even if that early on is 25 years later.