My Story - From failing out of university, to starting in QA and working my way up for almost 10 years in the games industry

Greetings,

I thought I would post my story. Casey read it during his special stream on Sunday December 4th, 2016. I believe it was the second last story to be read. I will link it when he posts the archive.

Please let me know if you have any questions.

A quick summary:

After dropping out of civil engineering and working for a few years, at almost 25 I enrolled in a Video Game program. Managing to get a job initially as a QA tester, then moving to Test Engineer and finally Build Engineer, I've worked for nearly ten years on AAA game series such as Skate, Need for Speed and FIFA at Electronic Arts, and Prototype at Activision.

At 37 and inspired by (Casey) and Handmade Hero, I quit my job to be a better programmer.


A longer explanation:

I started in Civil Engineering, but after dropping out due to both my health and really a lack of interest in the field, I worked as a surveyor for a few years. It started as a co-op job for school, but due to me failing my last term (and finding out while working), I simply continued working for a while.

I was not enjoying the work for there was very little ambition at my job, that I wanted to go back to school. I happened to see a commercial for a video game program at The International Academy of Design and Technology in Toronto and got excited for all the wrong reasons. I ended up not only going to this school, but also graduating.

Time frame, this would be July of 2004 I started class, and graduated December 2005. I was turning 25 when I started.

The school was okay, but really, it was just very expensive and unfortunately for most of the students who managed to get through it, most did not get jobs in the industry. I can tell you more about the school if you wish, but like with everything, you got out of it what you put into it. Our last project (sixth and final term) was for the whole class to make a fighting game. We made Animal Cruelty - a Smash Brothers type game with barnyard animals, using Ogre3D for the main engine, and RakNet for the networking layer.

After graduating I had a really hard time getting an interview, let alone a job. I think I may have had only a handful of interviews before finally getting a job at Electronic Arts as a QA tester. This would have been May of 2007.

I was a QA tester on a few titles (Need for Speed: Pro Street, Madden 09) before getting a job as a Test Engineer on NFS: Undercover. Obviously, I'm not an engineer, but EA tends to freely give out Engineer as titles. Test Engineers were basically software programmers for QA, they would help out both the dev and QA teams writing simple tools and integrating debugging features for the teams.

Over a few years I moved over to Build Engineer positions on Skate 3 and Need for Speed: The Run. If you are not familiar with the position, remember the drudge work in episode 1 of Handmade Hero? Settings that up for the team were some of my responsibilities.

In 2011, I was laid off and managed to get another Build Engineer position at Radical Entertainment (Activision). It was definitely fun but unfortunately was laid off again when the game shipped, April 2012. Sadly, the whole (most?) studio was laid off a few months later.

On my birthday of 2012, the FIFA server team reached out to me in need of a build engineer and I joined them a few weeks later, October 15th 2012. I state the date for almost 4 years to the date, October 14th, 2016 was my last day. That is where Casey and Handmade Hero comes in.

I am good at what I do, but I want to be better. So I quit my job having nearly 10 years experience hoping that I could learn as much as I can during the time off so when I go back to work, I will be even better. My goal of my time off is simply to learn and I have a goal of making at least one simple game. A dream would be I am able to make money doing that, but I do not want to set myself up for failure.

Anyway, at 37, after 9 years working for large video game companies, I've quit my job to be a better programmer, and try out making games from scratch. At the moment I'm currently writing transcriptions of HandmadeCon 2015, but will move on after learning as much as I can from you.

</end>



To explain further my decision to quitting my job this year: I left due to being burnt out both physically and mentally. The former is usually pretty obvious for people to know they have to make changes to their lives; but, I feel the latter also needs to be taken seriously.

I felt I needed to make a lifestyle change in order to recover both, but also that I won't end up in the same condition later.

What spurred the idea of leaving though was Handmade Hero and the world it brought to my attention.

Handmade Hero inspired me in many ways. Even Casey's simple build system made me start to evaluate how we did builds at work. There were reasons for why we used the tools we used, and why it was as complicated as it was; however, I started to take a step back in my approaches to solutions.

I think there is a lot of value in simplicity, and a lot of the problems we ran into would be solved or easier to debug/fix with the system simply being more simple.

Another big inspirational moment was during Casey's interview with Mike Acton in HandmadeCon 2015. Casey had asked what are things that Mike looks at in candidates, to which Mike's reply was curiosity. To have that drive of wanting to learn more. Casey follows up that with "Even the ones that were curious, they have the right mentality ... what do you want them to be prepped to do?" (i.e. What do you wish some candidates would do more of?)

"Practice."

This just opened my eyes. Casey has often said during Q&A that you should try to program every day to get better, so this part I understood and thus tried to do. But the idea of practicing I had not thought of before. I immediately pictured trying to learn a piece on the piano where depending on your skill level, you may be able to play it the first time sight-reading the music, but to perfect the piece you must practice it, over and over so that it becomes second nature.

One final thing that I will say that helped inspire my decision of leaving was a response to a question from Jonathan Blow asked about why he chooses to work as an Indie Developer:

The future of gaming - Jonathan B...savin, Amy Hennig and Alex Wilmer


"Can you show up and believe what you are actually doing today is the most important thing that you could be doing versus any other choice that you can make in life. ...it's easier to achieve that when you're in control of the mission statement."

Often at work there might be something that would come up that I truly feel is more important than what I was tasked to do. However, due to commitments on what I've been assigned, my only option was to either not do it, or work overtime to work on both. A good manager and lead will listen to these ideas, but it does mean you need to come up with a good argument (for there are ripple-effects in changing commitments).

I've been working long enough (meaning I have a good deal of experience) that trusting my gut is enough for me to know it is the right thing; but one thing I've learned is that if it is your gut versus their gut, they will take theirs unless they are specifically looking for your expertise about something.

I may have quit my job due to my health, but I was inspired to learn and inspired to work on things that I feel are most important.

Again, if you have any questions, from working in large gaming studios (I will try to answer things being respectful of the NDA), to interviewing a fair number of candidates, please feel free to ask.

Brian.


Some things to note:

- I liked my job and loved the work that I was doing as a Build Engineer. I may have described it as the drudge work, but that is more because that is how Casey described it. I actually quite enjoy a lot of that process. As a Build Engineer, we get a lot more freedom in implementation than game developers in large teams (unless you are senior enough of course). For the most part, the requirement of our tools is how they function and can they be maintained. So the implementation is for the most part entirely up to the Build/Tool Engineer which gives a lot of creative control.
- The video linked above was an okay talk, but what stood out to me was that response from Jon. The talk is more about design than programming.
- The part I worked on in Animal Cruelty was the networking layer, setting up the GUI, setting how the different game states and how resources were loaded (using the API, nothing that low level). The thing I want to point out was my networking experience landed me on the online QA team for NFS, and because of the great people I worked with, they helped me get the Test Engineer position. So the decisions I made in life such as going to a school that I would not recommend, opened opportunities down the line.
I wish I had your courage to do that. I graduated in computer engineering and always loved games. To be a developer was something I always had in mind, but never found my way to it. I live in Brazil and graduated twelve years ago.

No I am 36 years old, married and father of three kids. Too bad my career life took me to audit and I have been working like that for over 14 years now. Life became busy and I decided to take a few hours per week to try to improve as a developer as much as I can. But to be fair, it's hard!!

I started following Casey and watching each video, trying to learn and get the concepts I miss, or that weren't taught during school.

It would be nice to have some sort of experience with testing or even QA.

Thank you for sharing your story.
Hey augusto, I'm also from Brazil. I'm 32 year old and not actually that interested in games, but learning how to make them and how Casey structures and develops.
Greetings Augusto,

QA would be tough to switch into with dependents. You would have to treat it similar to my 'I am quitting my job for a period of time and using my savings', for QA wages, especially at lower levels is quite low. Obviously it's possible, but just take that into consideration.

The best advice I can give is similar to what Pat Wyatt said during HandmadeCon 2015, and that is able to demonstrate your passion. Have something you can show your projects, perhaps even source code (something like github, etc). It does not need to be complete games, but could instead focus on ideas or concepts that you can demonstrate.

A friend of mine had a youtube account and would upload videos of things he was working on. Taking that idea, perhaps have a blog focused on what you've worked on, describing briefly what you did with a video, pictures and/or code to compliment the posts.

You would need to check the contract of the company that you are working with though. I have seen the NDA be an issue with others in what they are limited to discuss even if it has nothing to do with the company's IP.

You say that you graduated in Computer Engineering, so have the job positions you've had been software related? If so, tailor your resume to emphasize what you have programmed, but it definitely does not hurt to also mention your other work.

The most important advice I can give is work with your partner.

My other half is financially dependent on me, but by working together and showing a plan made her reassured with the whole thing. And in the end for me, that was what helped me realize I was not making a mistake. Having my other half's support and knowing she was not worried meant that we were in it together.

Having people who are financially dependent on you may limit your options, but it should not eliminate all of them.

Brian.
hugows
Hey augusto, I'm also from Brazil. I'm 32 year old and not actually that interested in games, but learning how to make them and how Casey structures and develops.


Same here. These series are a wonderful way to learn the "basics" with someone that has them intrinsic to his way of coding. I think this kind of knowledge and experience would be really hard to get from a book.
Hey Brian, I just wanted to say thank you so much for your story. I'll keep mine short but basically I have no degree and this is not because I was lazy but rather I programmed as a child (PHP, C++, Python), stopped, went into a completely different career field and then had a very unfortunate event occur which ended my other career. I think this is secretly because programming is where my destiny lies because less than a month later I picked it back up and I've been at it for 6+ months straight now, literally all day every day I am teaching myself and coding. I started with C#, and JavaScript and did some back-end web dev before I realized I don't enjoy that, even though I actually won my first hackathon at a local "Code School." I am currently learning C and although I recently started C, I've been watching Casey for months now plus since I've learned so much programming in such a small time, even C is coming to me quite easily.

It can be discouraging because a lot of the "traditional route" people who did the HS, college, straight into job thing act like it's impossible to do this without a degree but I know that isn't true. Uncle Bob Martin doesn't have one, Casey doesn't have one, Anders Hejlsberg who created C# doesn't have one, etc... I do believe you have to know your stuff, have a fantastic portfolio, and meet eh right people though and that's what I'm currently working on. But it's tough because people sometimes treat me like I don't have a degree because I'm lazy or stupid and that's not at all the case. In fact, my dream is to become so good by self-study that my knowledge far extends what a single degree program can encapsulate, coupled with projects and experience of course.

That said, your story motivated me A LOT so I thank you from the bottom of my heart, fellow Handmade Dev! I know you'll do great and I think we can do this together.
Brian
Greetings Augusto,

QA would be tough to switch into with dependents. You would have to treat it similar to my 'I am quitting my job for a period of time and using my savings', for QA wages, especially at lower levels is quite low. Obviously it's possible, but just take that into consideration.

The best advice I can give is similar to what Pat Wyatt said during HandmadeCon 2015, and that is able to demonstrate your passion. Have something you can show your projects, perhaps even source code (something like github, etc). It does not need to be complete games, but could instead focus on ideas or concepts that you can demonstrate.

A friend of mine had a youtube account and would upload videos of things he was working on. Taking that idea, perhaps have a blog focused on what you've worked on, describing briefly what you did with a video, pictures and/or code to compliment the posts.

You would need to check the contract of the company that you are working with though. I have seen the NDA be an issue with others in what they are limited to discuss even if it has nothing to do with the company's IP.

You say that you graduated in Computer Engineering, so have the job positions you've had been software related? If so, tailor your resume to emphasize what you have programmed, but it definitely does not hurt to also mention your other work.

The most important advice I can give is work with your partner.

My other half is financially dependent on me, but by working together and showing a plan made her reassured with the whole thing. And in the end for me, that was what helped me realize I was not making a mistake. Having my other half's support and knowing she was not worried meant that we were in it together.

Having people who are financially dependent on you may limit your options, but it should not eliminate all of them.

Brian.


Thank you so much Brian. Even though I graduated as a computer engineer, my programming skills went down to a different level, more focused on the machine/robotic side. I learned a lot, but it was really low level. It helped me though to understand Casey's initial lessons really easy.

I changed my carrer as an IT Auditor/Consultant because it's something I also liked, but mainly because my motivation has been always solve problems or challenges. So to be a engineer helped me in understanding how things work and than provide a solution for it.

So, to use that for programming is also great because I don't stop until I find the right code or the right way of doing something. I stopped following the series in a daily basis because I had some struggles in life, and even though not having a professional experience on it, I keep coming to this subject all the time.

I will take your advice and I will start with a blog. Well, better start with an idea first and then working towards showing it.

Any advice on that too? I mean, should I focus on developing an idea for a new game, or programming by itself, or a methodology?
Hey Augusto,

I think the first thing you need to do is come up with a long term goal, if you have not already. Is your goal simply to learn how to make games? Is your goal to change careers? Is your goal to just program more? <your goal here>

After you've come up with a goal, I think you need to answer yourself several questions:

* Do you have a rough time-line in mind for your goal?
* How do you deal with failure? Do you get discouraged easily? Does failure or the risk of failure set a figurative fire under you?
* Can you be interested in working on something not interesting? Or do you always need to work on something "fun"?

I can get discouraged if I constantly run into failures with little to no wins. So I tend to give myself realistic goals that I feel I could achieve (thus I tend to give more buffer time to things with more unknowns), with stretch goals understanding if I fail, it is okay.

Once you have an idea of your goals and the answers to the questions, your blog should compliment. Remember what Pat said, "demonstrable passion": finding something that you are passionate about and you can demonstrate it.

Mike Acton said in his Handmade Hero 2015 talk was he looks for "curiosity". In resumes of people who lacked experience in the areas that I was looking for, I looked for what were they passionate about, what were they curious about. So try to demonstrate in your blog your curiosity? Did you try other methods, were they better? Were they worse? How did you determine better/worse?

I hope that's a start and good luck.

Brian.
Greetings Todd,

Thanks for the kind words.

When we've looked for candidates for the positions I was part of, schooling had very little impact; however, I know this is not the case for all positions. I would focus on experience: what have they done?

However, there is a huge but! to all of this. We do not get all resumes. We get resumes that the recruiters gave thus your resume did need to 'pass' enough of the check-marks. The recruiters would go by a list that we would give them thus if people just rushed creating a job posting, it would be easy for things to be ignored.

Experience was always more valuable than just schooling (again, for the positions I was involved in), but often the job post would be something like A University Degree or equivalent experience. What does that even mean?

This does mean it is harder to apply for positions when you do not have schooling nor work experience. It would be hard for recruiters to know what the portfolio means unless it was properly described. But even still, unless they have a technical background, how would they know what to look for?

Another thing I can add is not all positions are made public. Sometimes this is due to them wanting to hire internally first, but other times it is because the position has yet to been approved. I was able to get several interviews (and was offered one) for not the positions I was initially applying. So I do not think it hurts to reach out to companies.


Brian.

Edited by Brian on