This blog has been a great space for me to share my own ideas about creating the right environment for making games at Iron Galaxy. Of course, I don’t and couldn’t do it alone. I believe that sharing some of the voices of others at Iron Galaxy helps paint a broader and richer picture of our company. This month, I am happy to hand the keyboard over to Joseph Simons. Joseph is a Technical Director who spearheads many of the educational efforts in the Programming Department.
Iron Galaxy is a unique place to work because we partner with a variety of companies on a wide range of games. Each new challenge is unique. It's rare for us to do the same type of work multiple times. It is also uncommon to have a large portion of programmers deployed to a single project. This strategy is beneficial to Iron Galaxy’s stability because our developers can work in a wide variety of areas like gameplay,
Our solution for the programming team is to offer learning groups that any programmer can join. These groups meet during work hours and typically focus on a talk or paper. There are three main groups you can participate in: the Graphics Journal Club, which discusses various graphical papers that cover the range of work done in that area; the Programming Group, which covers general programming and game development topics and activities; and IGConference, which is open to all disciplines and allows you to present to a more general audience about your work or techniques.
The Graphics Journal Club was started about 5 years ago to disseminate knowledge about graphics techniques among developers who were interested in learning or improving their knowledge in that area. Before the creation of this group, Jon Moore, one of the engineers who runs it, told us that “the company offered no ways to gain specialized skills in rendering without significant investment of time outside of work learning about the state of the art.” This club meets every two weeks and discusses a new publication in the ever-expanding realm of graphics. The senior engineers can better explain and provide context for the techniques being presented, which helps everyone understand the pros and cons of the approach. Jon explained that this will “offer people the opportunity to focus on tackling this high demand work as a way to advance their careers at the studio.”
We started the Programming Group about a year ago. As one of the founding members, I wanted a way to help spread knowledge across the various teams. While conducting interviews, I found that a lot of applicants did not have the strongest low-level skills. Improving these skills is useful as we often do system/engine work and optimizations for our partners. There are a lot of areas in game development, and we try to give exposure to all of them, as it might take longer to get the experience purely on a project. “Sometimes on a project, you're deployed to do what you already know or excel at, so extra opportunities to engage new material is really valuable” David Laskey explains. There are those of us that have been doing this well over a decade and being able to pass along that knowledge is valuable for any company to grow. As Emily Farias, a new hire, mentioned “I am new to the professional side of programming and gaming, but there are many here who have been in the industry for a long time, and I enjoy getting to have and hear an active conversation between noobs (like me) and veterans of the field.” We feel that the Programming Group can facilitate this.
In addition to the normal routine of discussing other talks that people have done, we also provide our own presentations on a variety of subjects. An example is Matt Burton’s talk about modules, one of the main new C++20 features. We also occasionally have programming challenges where we pose a problem to solve and then analyze and cover the different approaches that people used. According to Alicia Cano, “there is just always more to learn, and it is fun to do it as a group. It is easier sometimes to motivate myself too to look at different topics because of it.”
Finally, we have our IGConference Series, which is a multidisciplinary venue where people can present to the company about a topic related to game development. These are open to anyone in the studio, and everyone is invited to join either in person or remotely. In addition to spreading useful tips to anyone who is interested, it also provides a platform for employees to practice their speaking and presentation skill in front of their peers. We have also occasionally gotten external speakers to come share knowledge about areas people are looking to learn more about, such as when SightlessKombat came by to discuss accessibility in games. We typically hold these during lunch and provide food, so that people can enjoy a meal while they learn.
At Iron Galaxy, we believe that our employees are our best asset. By helping them acquire new skills, we make the entire company better. As programmers, we focus on the technical aspects of the game and help each other out to deliver the best product that we can. By learning in these group settings, we can ensure that everyone has a chance to hone their skills and pick up some new ones along the way.