(This article is cross posted on my website Indielicious.com)
When I was a kid, all I wanted to do was make games. I nagged my Mum to buy me a Commodore 64, and after many months of whining and promising to do constructive things with it, she caved and bought me one for my 13th birthday. I was obsessed. I devoured everything I could get my hands on about computers and programming, and I quickly taught myself to program in BASIC. The first real programs I wrote were games, lots of games.
Programming, which is my expertise, is getting a lot of attention at the moment, with Obama standing up and saying flat out that every kid in America should be able to program. That is unbelievably cool. I’ve been reading a lot about the programs being launched, and studying the Bootstrap Curriculum, and it makes me so warm an fuzzy inside to see so much love being given to something so dear to me. These programs are extremely relevant to the games business, and we should all be paying attention, and getting involved. I’m willing to bet that any kid wanting to get into programming right now, isn’t doing it so they can code banking software (although they’d probably make a good living). No, they want to code so they can make games, because games are cool. Games is where it’s at. Everyone wants to make games.
Kids are sophisticated creatures, and the opportunities available to a bright and motivated mind today, are unbelievable. There are so many tools and resources available now, to anyone starting out, with builders and SDKs and toolsets and free online tutorials and help. It is simply a fantastic time to be making games.
As an experienced game developer, and having had a rather long and productive career, I find myself wanting to help and mentor young, aspiring programmers more and more. I’m beginning to feel a growing responsibility, and a desire to share whatever real world wisdom or knowledge I’ve accumulated over the years, with the young, would be developers clamoring to get a foothold in the business. And I think there’s an important distinction to make here. I think there is immense value in real world experience, once a kid has learned everything they can at school.
Kids come out of school with the basics they need, in computer science and math. They are armed and ready to apply that knowledge to the art of creating games, but the realities of making a game are very different to the romantic notions they come out with. I’ve talked to many young people about this, and there is a huge hole in their understanding. Making games is hard, and I’m not just talking technically. As an indie, or even a hobbyist, there are a dozen different hats you have to wear to make a game, and a thousand details to wrangle and tie up in neat bows before you can stick a fork in your creation. There is a saying, that the last 10% of making a game takes up 90% of the time it takes to make it. Now although those numbers may be wrong, the sentiment is bang on. Whether it’s because of boredom, or the team unravelling, or the project’s scope spiraling out of control, or just plain naivety and mismanagement, it’s hard to finish a game, and the Universe will throw everything at you to stop you finishing your project.
So how can anyone prepare for that? How can a kid, fresh out of school, all bright eyed and bushy tailed, possibly anticipate just how hard it is to make a (good) game from start to finish? The simple answer is, they can’t. The only real way is to jump in with both feet and just do it. They will quickly find out whether they are a finisher or not, and whether they can wear a dozen different hats successfully. Only doing and failing and doing again will give a person the experience they need.
Doing and failing and learning is a really important part of life and growth, but if the right person is in the right place at the right time, to offer guidance and be a mentor, some of that learning can be enhanced immensely. Experience is actually something that can be shared and given, as advice or help, to help smooth out that bumpy right-of-passage a little.
Before I went indie, I had a big old career, running technology and teams of engineers for a big games company. I built the team on a good, seasoned foundation, but most of the engineers I hired were juniors, fresh from school. I was a big advocate of internships and mentorship at the place I worked, and one of my favorite aspects of the job I had, was guiding and mentoring the junior members of my team. I set up structure and systems where they would be supported and encouraged to be bold. As a manager, providing that guidance and mentorship at just the right time, without getting in the way or squashing their spirit, is one of the most important things you can do, especially if you want to build a successful team. I was once asked about my management style, and where I learned to build and grow a successful team, and my response surprised the person who asked me. I told them that being a single parent, raising my Son, taught me everything about managing people, especially young, inexperienced people in a team.
Now this isn’t meant to be patronizing to my engineers. I’m not comparing them to children. It is just honest. Letting someone fail just enough, and guiding them just enough, is critical to growth, esteem and success. You can’t jump in and do everything, or wrestle the keyboard out of someone’s hands, whenever they mess up. You have to correct and guide, and I think this is where experience and mentorship is so valuable.
Although I know I have a lot more games in me, I think that mentoring will become a bigger part of my future. I like the idea of being a wise, old sage; of guiding young developers, and helping them to succeed. I think that all the experienced, seasoned developers out there should consider giving some time, and invest some of that wisdom and knowledge that was hard earned, in the next bright sparks, coming into the industry right now.