So you want to break into the video game industry (you want a game biz job). First, you have to know which type of job you want -- if you don't know which you want, you need to read about the game industry and the types of jobs in it. Then you might need to make a decision. Third, you need to be qualified for the job. Fourth, you need to know how to find information and how to ask good questions (you need to not ask bad questions). Finally, we have tips for getting the job.
Let me start with a brief summary of my situation. I messed up my A-Level education my best grade was a B in AS Psychology, was lucky enough to find a ‘good’ (At least I consider it good) course in Game Software Development but following graduating with a 2.1. I have had only one interview and an online tech test (that I simply wasn’t prepared for). I continued looking for a programming job for 4 months after that. Worth mentioning that bar two people whom I don’t know what they are doing? The majority of my course have jobs (One is not games related) although it did take much longer than 4 months, time I wasn’t in a position to wait for.
I decided to pursue an MSc by research basically using evolutionary methods to solve a combinatorial optimization problem. I have only just started doing this and in order to apply I did do a project using genetic programming. Thus I have a year or two to decide how I can ready myself to be job ready and or PhD ready, assuming I complete my MSc. I decided to do this with the intention that improving my portfolio would be a bi-product.
My issue is every graduate game dev and even generic programmer jobs require A-Level Maths at B or higher or heck even A Levels of B or higher. This I assume once my portfolio is updated (I can say it is shockingly bad at the moment) would put me in a different pile I assume. I am however looking to improve my chances but for now the portfolio is next to useless.
Three of the best programmers in my peer group have no maths A-level, all are capable enough to use maths in their programming though. I admit my programming or rather my ability to cope with programming tests and even exams used to be awful (perhaps it still is but I won’t know till I look for jobs again and get interviews).
Would it be worth my time acquiring a Maths A level even with an MSc behind me or would my time be better spent polishing a portfolio?
Do you think A-Level qualifications should really be used as an assessment of a candidate for a programming job over their degree? e.g The 2.1 I hold becomes worthless because of my issues in coping at high school.
Huh, I was hoping someone would reply who knows what A-Level education grade B and 2.1 graduation of a course in Game Software Development actually means. Different countries have different education and grading systems, you know.
But since nobody did, I'll jump in and tell you what I look at on incoming CVs for programmers: How much programming education and how much programming experience, both especially in C++.
Most CVs don't even list the math grades explicitely, and if grades are included, I don't look at them, because in 99% of the cases I don't know the specific school, course or university they can from anyways, which makes it impossible to assign any meaning to those arbitrary numbers. This is especially true from grades that were achieved during the forming ("teenage") years.
During the interview I reality check the claimed programming skills with a C++ or general programming quiz and I also check some secondary skills. It's not so important that the answers are perfect, it's more insightful how the questions are answered. Even if someone doesn't know the answer, and that usually happens a couple of times because of the vastness of topics available for asking, I usually still can tell whether the interviewee will be able to understand the answer once she's heard it. Often by telling them the answer and observing the reaction.
As for math, I usually ask only one specific question: What is the dot product of 2 3D vectors and what can it be used for. You'd be surprised how many struggle with this question, often even people who claim to have done Shader programming and are interested in CG...
Most of the places I've worked would regard not having a decent A-level in maths as anything from a warning sign (you're not top of the interview heap) through to instant rejection. Even a full on compsci degree with a high honours and a decade in the business won't save you if you don't have those A-level grades.
Remember that in the UK, these tests aren't applied by a developer or a hiring manager or by anyone you can reason with. HR or worse, an external recruiting agent, will look at your CV and say "no industry background, no A-level in maths... bin." You're competing with a LOT of people. Hirers are looking for reasons to thin down the groaning pile of CVs they currently have.
Should you go get that A-level, hell yes. Go and pass it. You're looking at a layout of a couple of textbooks to revise the right stuff from and the entry fee which will be a few dozen pounds.
Just as an aside, I'm slightly agog that there are UK universities running computing courses which admit people without A-level maths. Back when I read compsci, it was "get a B or higher at A-level maths or forget about computing at a university."
I took an HND to BSc(hons), so I paid with half a year more time than usual. I was also pretty sure that's how the pile went.
I know that when I first was interested in comp sci (back long before I lived in the UK) maths was definately a needed skill.
As for what a A level maths grade at B means or a 2.1 in a degree focussed on game software development...The former would be equivalent to the exams you write at 18~ sometimes called a matric certificate in some countries and getting the second highest grade (at NQF 3). The later well is an NQF 6 (Where your top mark is a 1st and your next grade is a 2.1) level qualification whether it means anything to anyone is another story, especially given the stories i've read about other games courses where the graduates couldn't program but got a first and the bad press given to the blanket that games degrees get probably isn't helping (although I don't see comp sci degrees getting a lot of good press given that a lot don't do C/C++).
Yes I wish I had done a pure CS degree but that wasn't an option (Nor do I regret my degree, I had great lecturers imo and gained awesome friends) with how my life worked out but if I had I doubt i'd have aspirations of entering the game industry one day. Guess its likely to be one of those forks in the road. I really don't look foward to a possible day where I could have a PhD but still never get a graduate/junior software development role.
I can understand requiring maths at a standard that is universal rather than asking if my course did any eventhough I know my course covered matricies, vectors (dot and cross products) and even differential equations, most of which were used in assignments to some extent.
More math is always better. As it turns out you don't very often use very advanced math directly in code, but its basically a requirement for being able to do so when needed, or to understand the higher-level math and then approximate it in a more efficient way.
Carmack's famous line is something like "Everything becomes a linear equation if your time-step is small enough." but you need some higher-level understanding in order to understand why that's true, how small a time-step you need, and how to make the transformation.
A similar simple example from graphics programming is that you can draw a line iteratively by using a linear equation; you can't do a circle iteratively in the naive way -- but you can by using the first-order derivative; you can't do an ellipse iteratively by using either the naive way or the first-order derivative, but you can by using the second-order derivative. That's a basic use of calculus to transform the mathematical definition of those shapes into an efficient, iterative algorithm.
I would strive to know Geometry, Linear Algebra, and Calculus really well. Discrete math is also important, and Number and Graph Theory can be really important too. Curves and surfaces are good to know, as are physics (which is really just an application of most of these mentioned.)