Noah Schoenholtz is the Lead Full Stack Developer for Creative Assembly, the multi-award winning BAFTA UK games studio behind Total War, Alien: Isolation and Halo Wars 2. Noah has helped to support the launches of Total War: THREE KINGDOMS and Total War Saga: TROY We asked Noah, some key questions about getting into the games sector.
Explain your role like I'm 5 years old
My team helps other teams throughout the company support online services in their games. I use a wide variety of different technologies to do creative problem-solving, making sure that all the different bits and pieces of the things we’re working on will work well together and make our coworkers and players happy.
Take us through your average day at work
First I’ll check my email, calendar, and task list and get prepared for the day. Then I’ll have a couple of morning meetings where we check in on how everyone is doing and make sure the whole team is working toward the same priorities and aware of any big releases or other milestones that are happening soon.
After that, I might have a meeting with one of my teammates to work together on figuring something out, or maybe a meeting with someone from one of the other teams to help me understand one of the problems we’re going to help them solve. I usually try to have as many of my meetings as I can before lunch, so that I can focus on implementation in the afternoon.
The kinds of implementation work I usually do tend to involve building on work that’s been done by specialists, like building the user interface to let our players use a new feature that a Back End Developer wrote, or improving the look and feel based on the guidance from a UX Designer.
What was your educational and career journey into your current role?
I was interested in computers and games from a young age and had the opportunity to study programming in grade school before choosing to pursue Computer Science at University. I got an internship one summer there where I worked on web applications and was able to continue working there part-time through the rest of my studies.
That led me into a 15-year career using web technologies, during which time I continuously learnt new and different programming languages and techniques while working at a consultancy, a small business doing credit card processing for vending machines, freelancing, startups, and an agency working with big media publishers and non-profits before finally deciding to take the leap into games here at Creative Assembly.
What do you love most about your role?
There is no better feeling than taking a problem that’s really causing distress to my coworkers or our players and replacing it with joy. I’ll settle for getting rid of the problem when I must, but joy is absolutely the best outcome. I also love learning new things, so getting the opportunity to learn new techniques and learn about lots of different projects all the time is wonderful fuel for my curiosity.
These things were true outside of the games industry too, but I have loved games for my whole life, and getting to do these same things as part of a team working on games has been even better.
What's the hardest thing about your role?
Prioritization! I always want to say yes to everything, but we have way too many things to do. We have to make a lot of difficult choices about when things are going to happen, or compromises about how to accomplish something in an efficient way.
One of the most valuable reasons to gain experience with a wide range of different techniques is to help ensure that when we do need to make a difficult compromise, we have the best possible range of options available.
What key skills should people work on to do your role one day?
The most important skills are learning and communication. Learning how to learn is vital, and because we all have different learning styles it's important to really know yourself and what works best for you. Technology is going to keep changing, so you need to have a sustainable way to stay up to date. I love creating hobby projects for myself to learn new technologies in a hands-on way, but some great developers I know prefer videos or online courses or attending conferences.
Communication skills are critical as well, both for teamwork and to ensure that you really understand both the details and the big picture of the projects you’re working on. Sometimes people try to separate “soft skills” from technical skills, but the truth is that they are connected. It’s impossible to solve the right problems or put together all the pieces of a complex system without great communication skills.
What advice would you give to your younger self looking to get started in the industry?
Make things! I wish I’d discovered the joy of making hobby projects when I was younger. One amazing thing about programming is that you don’t need a ton of space or tools, just access to a basic computer with internet and time to learn. I have better internet and computers now but not nearly as much time.
Do you have any links to good articles or videos that you think might give some tips or advice to someone starting in your role?
If you’re just getting started, try out some free online code lessons like freeCodeCamp or Codeacademy! If you’re past that point, maybe work on some more advanced skills, like understanding how empathy and communication skills are also coding skills, for example: Emotional Code by Kate Gregory, also available as a video presentation.