(Note: This is a repost from 2007)
A small recap of events starting from I decided I wanted to be a games developer to present day including all the mistakes and turning points along the way.
Young and lazy
During A-levels, I started to get really lazy at school and more or less went through a rebel phrase where I honestly didn’t care about anything let alone my future and just wanted to have fun with my friends. So, when it came filling in the UCAS form (UK University forms), I really didn’t know what to put in and I didn’t talk to my parents about it. The deadline loomed so I literally made a snap decision that I wanted to do something with computers since they interested me somewhat.
After a short scan through the UCAS courses book with the keyword ‘computer’ in my head, I found a couple of Games Computing courses listed which immediately peaked my interest being a large computer games fan at the time. Both courses were immediately put on my form without any research in what the course would entail and the Universities. This was a huge mistake on my part and something I wish I could rectify in hindsight.
Now that the damage was done, it came to the time where I needed to tell my parents of my career choice which was made by a snap decision. As you probably guessed, they weren’t exactly thrilled with the fact that their son made this choice without their consent or discussion, even worse is the fact that I come from a typical Chinese family where the traditional view is that the children would take on more traditional careers such as being a doctor, accountant or a lawyer. It took some convincing on my part to show that being a games developers wasn’t a dead-end job and there were real opportunities available by showing job ads from the back of Edge magazines.
I eventually did get round to looking at my first choice University before I started there to look at what the course was about and a look around the general area. Due to my nativity and lack of expectations of what I should expect from the course, I was impressed by anything shiny they showed us on the open day.
BSc and Jack
I started this course with very little knowledge about computers and even less about programming and the games industry. All I knew that this course was going to be about games as did a good number of first years, what could be cooler than that? This dream was quickly shattered as we realised that we actually had to do work.
Many failed or changed courses by the end of the first year either because they couldn’t understand the course material or failed outright. While everything was really new to me, I started to pull my finger out of my ass as I was determined to show my parents that I could do this. if anything.
I passed my first year fairly comfortably and during the free time that I had, I was learning how to model using 3D Studio Max. In fact, up till sometime in the 3rd year I wanted to be a 3D animator. This changed to a programmer when I was working on my final year project with my friend using the GBA as the target platform and got my teeth into a more meaty and involved programming project.
During the progression of the course, they taught us material from different disciplines such as level editing, modelling, animation, programming, software engineering and sound, it provided a reasonable grounding in all aspects of a game. However, they did not teach any one subject in-depth enough to industry standard. Combined with the fact that I didn’t do anything extra such as a mod or a small game outside the academic course (which was a huge mistake), I became a ‘Jack of all trades’.
Of course I didn’t realise any of this till later, the fact that I ended up with 1st honours didn’t help and meant that I thought I was hot stuff and getting a job wouldn’t be so hard because of that.
Naive and arrogant
After passing my course, I started hunting for jobs as any self respecting graduate would. One slight problem though, I absolutely had no idea what the hell I should be doing to apply. I pulled my portfolio together which were some of my best assignments from the BSc and started posting my CV on various job sites, both generic and specialised for QA or programming related jobs. Looking back, my portfolio was really poor quality and really did show the fact that I was Jack of all trades and master of none. It is no wonder that no-one would give me an interview based on it.
What I didn’t realise at the time is the distinction between the companies and agencies when I applied for jobs and most of the time ended up talking to agencies more then companies. What made it worse is the fact that I was extremely passive about the whole job hunt, I really thought that the jobs would come to me rather then the other way round which I should have been doing. No surprise that I only got 5 or 6 interviews during that 6 month period of job hunting.
However, I did manage to get a couple of interviews at games companies, one for QA and another for tools programming. It was here that reality kicked in when I realised how little I actually knew about games development.
The programming test that I took for the tools programmer role was the worst shock for me. Trying to answer the questions on the test was a real struggle for me as reflected in my very poor mark and as I got questioned over the test, it started to sink in how poor a programmer I actually was despite my University grade that I received.
As you could imagine, this was a huge blow to my confidence, it really did make me wonder what were the last 3 years for? What did I learn? Did I screw something up?
Passion and drive
I started to slum it for a while, helping out with my parents takeaway as I have done for the past decade trying to figure out what I could do. It was at this point that my cousin helped out by offering me a temp office assistant role in his accountancy department as a favour to my parents. His aim was to get me out in the real working world rather then stay in my parents’ and make something of myself. This is something that to this day that I am really grateful for and was effectively a turning point for me.
The job was fairly mundane to begin with (photocopying and the such) as you would expect but I progressively started to taking on more responsibilities in the office to the point where I was doing the same tasks as a junior accountant if he/she was in my place. During this time with my cousin being in the same office and the kind of person he is meant I always got an occasional talk on why I wasn’t doing anything and I should be looking to build up skills to do something that I wanted to do, not someone else and not waste time ‘fucking about’.
Then came the choice, I started to become adept enough at my job in the office that there was possibility of getting more training and taking the exams needed to become a certified accountant. This was where I made my first real conscious decision to really try and make it as a developer rather then take this opportunity to train on the job and become an accountant.
Despite the fact that I could train on the job and get paid, I opted to enrol in a MSc Games Programming degree using the money I saved from this job. This time, I didn’t make the same mistake and did my research on the University first and talked with the course head about the material before I enrolled. The University had a very good reputation and the material looked solid enough from my standpoint.
MSc, new start and struggles
One year after my BSc course entered, I was now doing an MSc. Right from the start, it was apparent that my knowledge was definitely in the lower tier of the year as I lacked some the finer details of knowledge due to my previous education. Despite that, I was determined to make this work and come out with the skills needed to enter the industry.
Unfortunately, it wasn’t long in the first semester that I had hit my first hurdle. I really started to feel the sheer weight of work needed to complete the course and falter. At that point, I was literally only a couple of words away from quitting because I really didn’t think handle it. I called up my parents and asked how would they feel if I actually did quit. Fortunately, they were really supportive and said that they would understand whatever decision I make.
What they said next was the main reason why I didn’t quit there and then, “What is the worst that can happen if you don’t quit now and finish the semester?” Then it hit me, if I drop out now, I have immediately failed, if I could hold out till the end of the semester, I could at least said that I tried whatever the outcome.
Eventually I persevered with a lot of help from friends on the course, the tutors and some old fashioned willpower. This was the time where I really thought I had grown and started to recognise some of my strengths and weaknesses as a person and in my skills.
Around the start of my dissertation, I really started to get my ass in gear about job hunting. This time, I wasn’t going to make the same mistakes and I really was out to get one this time. My CV was tweaked to various degrees and my portfolio was now in a presentable format and high quality thanks to the MSc.
With help from other course mates, finding the companies to apply directly to was much easier and I was receiving interviews in a much higher frequency as before as I was more pro-active in chasing applications. However, thanks to my lack of core fundamentals of a traditional Computer Science degree, this really hampered my performance during technical interviews. I did my best to learn from my rejections of the skills I was lacking and work my way towards fixing the holes in my knowledge.
Eventually, I got a call from one of the companies that I was rejected from for a different position, level scripting/integration contract role and they needed someone on short notice. Here I was left with a dilemma, would I accept the interview knowing full well that this isn’t the position nor salary I was aiming for purely to get my foot in the industry and some experience or do I wait it out for a better role.
I took it as I was getting desperate at this point, had the interview the next day and came out of it with a good feeling. The salary was reasonable as it was enough to live off and the location and benefits made it even more attractive. By the end of the day, I had the offer which I promptly accepted and I started work the following week. I was now officially in the games industry.
I joined at the same time as a group of graduates for the same role so it was kind of cool being with the same group of people in similar positions of experience and education. Even though it was a contract role, we knew there was a possibility of a full time position at the end of it so quite frankly, I made sure that I worked my ass off to make the most of it.
Every opportunity where I could learn something new, I took advantage of and understood everything I was doing. In my monthly meetings with my lead, I made it known that I wanted to move into a permanent programming position and in return, he kept me aware of opportunities that would arise that allowed me to prove my worth. The fact that I really enjoyed working with the team meant that this was so much easier to do so as I really wanted to help them complete the game the way they wanted it to be.
Looking back, I believe it was around the run up to final that I really started to make my mark in the team as I was going at full steam killing bugs and implementing last minute gameplay features at a ridiculous speed. The fact that my lead was going even faster felt that I was being led by example rather then being passed a ton of work.
Eventually, it all paid off, at the end of the project I was given a permanent role at the company as a programmer.
Not finished yet
One thing that struck me when I was given my role was that everything I aimed for in that last couple of years was just for this one singular point. I hadn’t put any thought on what I wanted to do beyond this and left me wondering on what I should aim for now. 7 years after I started my BSc, I am now a games programmer, what will I be in another 7 years time?
I have had some ideas ranging from moving up in the company, starting my own and teaching, all of which are appealing but I know I am not quite ready yet. After a couple more games under my belt and it may be a different story.
What would I have done differently
I made some really grave mistakes in my journey, being naive and passive about my career direction was the biggest one. Knowing what I know now, I would have definitely chosen to do a traditional Computer Science degree with placement and some hobby projects in the pipeline. Doing so may have shaved 1 or 2 years off my target goal.
Do I regret any of it? Definitely not, regardless of the journey I still learned a lot even if it meant doing it wrong first in order to do it right. I am glad to get where I am now and always take a special interest whenever I hear someone else doing the same so I can advise them not doing the same mistakes as I did.