Theory & Practice - Your Skills & Using Them To Get Into The Industry
Adam Langridge, Senior R&D Engineer, Lionhead Studios
Recently, I attended the GamesIndustry.biz Game Career Fair at the EuroGames Expo in London. As part of the event, several lecture sessions were arranged to help inspire and advise attendees. I would like to thank everyone who was involved in aranging the career fair and especially Adam for taking the time to give us a presentation.
Since the session had a general focus on programming and my main interest is coding the following notes are more applicable to aspiring programmers.
Your skills can be broken down into various categories. The main categories include:
Core Hard Skills
- Theory - Core Hard Skills & Other Hard Skills
- Practice - Soft Skills
- Selling Yourself - CVs, Portfolios & Interviews
Core skills are those that suit the following criteria:
- Industry Standard
skills are not likely to change dramatically within the next century and form the foundations of other skills. This can include topics such as mathematics and logic. Skills that cover a Broad
range of topics or can be applied to a range of work responsibilities. Industry Standards
are considered core skills since they are what the majority of companies are using. In order to have the opportunity to apply to a wide spectrum of companies you will need to pay attention to industry standards.
This can therefore include:
- Object-Orientated Programming
- Data Structures
In order to reflect specialist interests, semi-core skills exist. These depend entirely on your chosen discipline. These can include:
Note on Mathematics: Generally, programmers at Lionhead are expected to have a level of mathematical knowledge equivilent to A Level Mathematics with Discrete Maths and Mechanics
- Physics (Physics Programmer)
- C#/Java (Prototyping, Tools Programmer)
- HLSL/GLSL/Cg (Graphics Programmer, Technical Artist)
- Assembly (Hardware-Based Optimisation)
- Servers, Networking & Protocols (Network Programmer)
- Artificial Intelligence (AI Programmer)
- Graphics (Graphics Programmer)
- Human-Computer Interaction (User Interface Programmer)
Non Core Hard Skills
Non Core Skills include those that could be useful but not essential for a job. Sometimes they may be preferred by some companies. Sometimes they may provide an insight into other roles.
This can include:
- IDEs (Visual Studio/NetBeans/Eclipse)
- Frameworks (XNA)
- Console Experience
- Scripting (Python/Lua)
- 3D Modelling
Non-Core skills can help you alot when it comes to making a killer demo on your own, however do not spend too much focus on them as they could distract you from developing your core skills.
Just as important as your hard skills, are your soft skills. Today, games are made by large teams. Billions
of people. You might be spending a large ammount of time on a project too. Your soft skills reflect how you conduct yourself and help you to work well with others.
Soft Skills include:
- Written & Oral Communication
- Time Management
- Independent Drive
- Willingness to Learn
There are many others that could be useful. Communication is particularly important for a programmer as you could potentially be spending a significant portion of time communicating either through meetings, documentation, or direct interaction with colleagues.
Portfolio / Demo
- Emphasise your education - Core skills at the top, reinforce skills with certification
- Concise - Get to the point
- Use targeted CVs, never use a blanket CV
- Help - Use agencies cautiously, apply direclty where possible
- Get a finished project
- Equal in importance to degree
- Less is More
- Grab Attention, Do Only A Few Levels
- Choose something exciting or original
- Ensure it is easy to use or install
- Group Work is really nice but...ensure that you only highlight the work that you did
- Focus on Games
- Get the Guys Excited
- The interview is the last hurdle.
- Make a good impression
- Research Companies
- Programming Test - Depends on Company, C++ & Maths,
- Be Honest, Be Yourself
- Don't Give Up
- Don't Take it Personally
- Ask For Feedback