Team Focus – Dave Conway Aug 19 - Tosh

“Truth can only be found in one place: the code.” ― Robert C. Martin

Has it been two weeks already? This week we'll be sitting down with Davey, our lead programmer on Installation 01, to learn more about him, how he got started, some advice, and more! As some of you may have noticed though, this is in fact not Wednesday but instead, Sunday where you usually get your fix of all the happenings with the weekly updates.

This week we'll be taking a small break and be back at it next weekend. In the meantime, if you want to see some of the things we're doing go check out twitch.tv/installation01 to watch our most recent stream with 3D Artist LegendaryGamer while he makes the Mark V [B] armor set and answers some of your questions!

Hello! So, as always, give us a little rundown of yourself and what you do here on Installation 01 for those who may not know.

Hi I’m Davey, and I write code! I am the lead programmer on installation 01 and my role is to manage the code team with the help of Sauce by assigning tasks, helping out with the said tasks and writing tools to speed up the development of the game.

Ah the man in charge! Leading people is hard; leading programmers is even harder. What would you say is the hardest part about leading other programmers and creating a plan for all of them to follow?

Due to the team being in different countries around the world, we are all available at different times. This has the potential to prove difficult, however solid communication and planning assists with self-organization and collaboration.

Agreed, a plan, and communication are essential to any good team, especially one that is so spread out. Just before, you mentioned you lead with the help of Sauce, one of our task managers on the project. Tell me, as a lead how much room do you give the other programmers to take charge and make decisions or do you strictly follow the plan you put forward?

We have found it helps to have as much freedom as possible when it comes to working on things. Sauce and I have believe that it is easier on everyone and less stressful to let everyone pick the feature they want to work on mainly to play to everyone’s strength. This has definitely allowed for better productivity and less stress for everyone on the team.

It’s interesting, sometimes the best leadership merely is to enable others to do what they want and what they are passionate about with just a little direction. Now, you speak to playing towards people’s strengths. What would you say your strengths are and what you enjoy most about programming?

I would have to say my strength has to be writing tools and features the other programmers can use to speed up their own development that and working on anything that provides a real challenge. That’s also what I enjoy most about programming solving problems and providing the tools others need to get the edge on what they are currently working on.

I see, so basically you kind of specialize in building up others and making everyone as efficient as possible, indeed the words of a leader haha. Tell me, what made you want to pursue a career as a programmer?

One day some dude showed up at my school back in 2012 and ran a session for game development, so I thought to myself I should give it ago and paid for a mate and me to do it. From then on I found myself hooked it was a very bare bones course and probably way too expensive, but it was the sole reason for me even thinking about game programming as a career path.

That’s really interesting and quite unique. Did you always know you wanted to pursue something in the gaming industry or was this your very first encounter to do with it at all and took a random chance on the class?

That was actually the first time I even thought about the concept of making games, and I was instantly hooked. So yeah it was a gamble, and so far it has been the best thing I have done towards finding the thing I wanted to do professionally.

Wow, that’s amazing how something so random can spark what you choose to do for your life. It really puts things in perspectives about how one little thing can change everything. I have to know, what was the first programming language that you learned?

A: Well the course was for unity 3 or 4. I can’t remember which exact one it was, but naturally, that meant everyone was using the now deprecated unity script that was made to look like javascript than anything else.

Let’s all just be glad that it’s gone haha. Now, what would you say your favorite programming language is? Also, what’s the most recent language that you are learning?

I would have to go with C# because it’s easy to understand, powerful and just all round useful. I mainly use C# about 99% of the time be that for game development or just making random programs, but when I’m bored, I do like to pick a random language and learn the basics of it.

C# does seem to be getting more popular recently. I’m a big fan of C++ myself. I have been teaching myself other languages on the side though like a bit of C# and Python through online courses and friends. Which brings me to my next question, do you feel a Computer Science degree is needed to really excel and be hired in the industry today or can you get by being self-taught and motivated?

I think nowadays most companies hire the people that show off their talent and the skills, not just the people that have an expensive piece of paper but at the end of the day it’s not about the course you do it’s about the experience gained during the session. I am mostly self-taught and feel like as long as you can prove you can do the work well anything is possible.

I agree entirely, programming is really cool and unique in that sense. As long as you can do it and show for it, you can thrive. What’s some advice you would give to people just starting out who are interested in learning programming? What’re some things they can do to better themselves outside of classes and showcase their knowledge?

:Well stuff like that changes depending on the language and discipline they would like to get started with that but for game development the best advice I can come up with would have to be watch a lot of videos on the subject like stuff from GDC, find some open source projects to rip apart and learn how they work from the inside out but the biggest thing that would hold people back has to be the fact that most people don’t get started making games right away even if they are bad games who cares if you can manage to make a lousy pong that’s one step closer to making something great.

As for showing off what you are capable of, I would start by making a lot of games/programs and picking the best ones to put on GitHub/personal portfolio for others to see.

Absolutely, practice makes perfect, and you’ve really Just got to start doing it and doing it consistently. Although, no matter how much you enjoy it, the programming can be a tiring, frustrating process and you can quickly burn out. How do you personally manage not to burn out? Moreover, how do you keep your team from it?

Definitely spend less time writing the code and more time asking yourself what needs to be done and what the best way to do it is. If you have a basic idea on what needs to be done then you will spend less time writing code, and as a result, you will have better code. Really try to spend less time tracking down bugs and more time having just having fun haha.

As for preventing burn out for the team, I have found not letting them stay on one task too long and pulling them off of it if it starts to burn them out. It’s better to simply assign someone a new task than to keep them frustrated. Doing this allows them to come back and do the other stuff later with a clearer mind.

That’s a fascinating approach that I think everyone could benefit from, merely taking a step back and thinking about it instead of constant frustration when something goes wrong could go a long way. Also, giving people a break from tasks is honestly a fantastic way of handling that. It gives everyone that little break you need from working on the same thing for too long. You’re very clearly knowledgeable in the field and far too good for us, but I have to know, what made you lend your knowledge and skill to this project to help make it become a reality?

Haha thanks! Well before I joined the team I would attempt to make a game get nothing done, rinse and repeat. So I decided to make a change and try to join any team that would take me on board. Then one day I was browsing discord and found a post by the old lead programmer asking for help with networking, so I instantly applied and managed to get the position.

Going from getting nothing done to leading everyone else, man you’ve grown quite a lot over that time and by all means earned your place here. I’m curious, with doing a lot of planning and making things for your team here, what would you say your typical work week looks like now compared to when you first began?

Well with all the new internal changes we just implemented I can confidently say I’m working on more things related to the game and actually getting things done more than ever before. Actually managing to help organize everything on top of that has made things seem easier and that’s a big thanks to the rest of the team, I honestly couldn’t have gotten this far without them.

Absolutely, everyone on our team is phenomenal honestly. It makes it all that much crazier that we’ve been able to build such a team. So tell me, how would you describe working on Installation 01 in one sentence so far?

Absolutely brilliant, it’s helped me improve as a programmer far beyond what I could have imagined.

Indeed, I think it’s done that for all of us. Truly a fantastic experience other than the tyranny of Bean. Geez, all this work talk gets tiring, doesn’t it? Let’s end this with a couple of fun questions! What was the last video game you played start to finish and what did you like and dislike about it?

Indeed it does haha. Well, the game, in this case, games, I recently completed start to finish would have to be Halo 1-3 campaigns in a row on legendary. I’ve always liked the adventure it put me on, and it consumed all the time I needed it too haha. The only thing I disliked about it was I had to do it on an Xbox!

Oh man, I love doing that every couple of years! It’s even easier now with the Master Chief collection, so Xbox isn’t so bad anymore. Absolutely a worthwhile journey to experience even if you don’t own it though. Well, this leads cleanly to my final question, out of all of the Halo games, what is your ultimate multiplayer match?

Well that has to be a tie between team swat and Infection on Reach on no particular maps!

That sadly marks the end of the interview, thank you so much for taking the time out of your busy day to sit down and answer a couple of questions and give some fantastic advice to everyone. As always don’t forget to go check out ReignOfDave on Twitter to keep up with Davey and the work he’s doing. I’ll see you all again in two weeks where we’ll ask more questions and get some more answers. Of course, TheFeelTrain will see you all next weekend with a fresh weekly update on all the things going on behind the scenes.

Tosh