I’m still early in my programming career only finishing my game programming degree a year and a bit ago, a couple months after my studies I found myself working at a tech startup. I’ve been here for a year now and can tell you that I can’t see any better way to jump start your tech career not just for programmers but also managerial, production, financial and marketing roles. Since my studies didn’t specifically set me up for the role I’ve found myself in, the startup culture really boosts the can do! attitude.
More recently I found myself fixing bugs in code that I haven’t written and don’t fully understand. That’s the fun of it though, if we did things that we knew how to do then we wouldn’t learn anything. However the counter argument to that could be that sometimes you can be thrown in the deep end and just drown, and that happens sometimes but its okay to ask for help and realise your limits. An even worse case could be that you think you know what’s happening and some shitty code gets through to make the problem even worse. That’s just the real life situation you have to deal with and push through if you want to truly improve yourself in one of the best ways.
I want to go on a mild tangent here and tell you a meaningful aspect of my life, I like video games. When I was deciding what to do after high school I tried to take the subjects I was good and put them together to form a career decision for myself, unfortunately life isn’t as systematic as programming. I was going to study architecture which I needed an art portfolio for, anyway to not drag on for too long I realised I couldn’t draw so I thought that career path wasn’t for me. It was actually my mum who suggested “You should do something computers, you like that right?”, and after that I found my self studying game programming, which I have never looked back on (give it a go!).
Now that you know I like games so much there are many reasons for it, one reason is that I truly believe it is a successful application of the best learning mechanism that exists in the modern world today. There are many papers backing this, maybe I will do a post later about it with references to show? In a nutshell it can put you in what psychology people know as “flow state” or sports people know as “the zone”, very easily and well. This state you are in is extremely focused, calm and alert all at the same time, similar to driving or an intense play in your favourite sport (Table Tennis for me :D). This state in games has a slight difference, there is absolutely zero real life real repercussions to mistakes you make in games (games with micro-transactions I don’t consider games (another rant post after this?? hmmm)). This lets you do things you would not normally try in real life and gives you that extra wiggle room to try different approaches.
Coming back to the subject of this post I think of bugs in code as a new challenge in a game and the reward for finishing them is upping my skills in something I previously did not know about. This was I can enter the “flow state” with a calmer approach rather than a frustrated state which does not reap results well. Obviously I realised I can’t do risky things that I can freely do in the video game world as a mess up in the real world has real world consequences! What I’m trying to say is that seeing bugs and problems in coding, or any other disciplines, should be seen as a new challenge, a new lesson to be learnt that will only better you and increase your skills. If you already know how to solve the problem then that’s great, that’s why you get paid 😉
P.S. I would love to hear your thoughts, please comment below!