By Jonathan Weinberger of Udemy
The growing gaming industry offers a multitude of opportunities for developers. Grossing $100 billion in revenue worldwide today, by 2020 that figure is expected to reach $120 billion and with emerging technologies like virtual reality, the gaming industry is hotter than ever, and in need of more developers. The first steps for those looking to dive into this exploding field can be daunting. With learning to code online, several different programming languages, new terminology, mathematics, and software to learn, how do you know where to begin and which learning platform to use?
Online tutorials like those on YouTube are valuable resources, but they will only take a new developer so far. I picked up some good tips on YouTube but still struggled to grasp essential concepts. I wanted to internalize what I learned along the way and figure things out for myself, not just be spoon-fed the answers. So, I started making my own videos that include interactive challenges that helps others learn to think like a game developer.
Eight years and a few thousand views later, I’ve taught thousands of students the basics of game development. As an instructor on Udemy, I’ve come to realize that everyone learns in their own way, but if you’re looking to learn to code efficiently and successfully, you should look for a program that offers the following three things:
1. Interactive Exercises
All seasoned coders know that the best way to be a great coder is by doing—the more you practice, the better you become. So when video tutorials offer lessons with spoon-fed answers, it doesn’t actually help you learn the skills necessary to work independently.
Instead, aspiring coders should look for lessons that let them practice their skills along the way, with feedback after they complete a challenge. This grants students the ability to address issues they will face once they’re on their own, while allowing them to problem solve the solution with access to expert support, if needed. This helps coders understand the logic and concepts behind these solutions, as well as the “why” behind their code. When a student understands why they’re writing code, they’ll be able to apply what they’ve learned to future scenarios.
2. Supportive Community
There are countless benefits to working in a group, but one of the biggest for developers is the ability to collaborate and learn from peers. Working with developers who are going through the same learning process allows you to ask more questions and share tips and tricks, which ultimately makes the whole experience easier (and more fun) for everyone involved.
Sharing the learning experience also opens the door to making new connections and meeting people with similar interests. You could meet a mentor, future colleague, or business partner—the opportunities are endless.
3. A Real Game as the End Game
As I mentioned earlier, coders learn by doing. As an aspiring developer, it can be difficult to demonstrate your skills to a prospective employer before you have work to showcase your knowledge. That’s why I recommend novice developers look for courses that culminate in a tangible piece of work that demonstrates your understanding of the entire game development process.
If you plan to invest in learning, especially learning to code, take the time to make a list of non-negotiables you hope to get from your coursework. This will help you determine what type of course is the best for your learning style and ensure you’re getting the most out of your experience.
Jonathan Weinberger is a self-taught software engineer with more than eight years of experience and the author of Learn Unity Programming with C#. He has developed several Unity games for the likes of Cartoon Network and Adult Swim, as well as enterprise AR applications for companies like GE, Coca-Cola, and ThyssenKrupp. Find him on Twitter: @GameDevJon.