A person I just met at a GGDA meet-up asked if he could talk with me about my business and the games business in general. He’s a student that’s trying to decide between pursuing business application development or game development. Although some of his questions surprised me, I thought all of them were interesting and worth answering in this blog (that way, they’re out in the world for posterity). My answers are just MY answers. They should not be taken as gospel, other than they are my truthful answers at this point in time. I welcome comment on them, but I’m not looking to debate anyone about my opinions, because that’s all they are…my opinions…based on my experience as both a Business Programmer (once upon a time), A Tools Programmer (the less fun part of Game Development), and a Game Developer (working for someone else), and even a Solo/Indie Game Developer (the most fun part of all).
1) Hows GDC going btw? Did you have a booth setup for Puzzles by Joe and all that? (He also added that he got a free expo pass but wasn’t able to attend due to other expenses).
GDC is always great. There is an IGDA scholarship program you can check out for next year and a few other scholarship programs out there that provide All Access passes. (For my money, the expo isn’t the best part, it’s all the lectures…especially the first two days which have their own specialized tracks (I usually do the Indie-Dev Track…but there’s an Educational Track, an Artists Track, Programming, Business, etc…)
I don’t do the “booth” thing with Puzzles By Joe because I have several distribution channels that allow me not to have to work that end of the business. I think that deserves it’s own blog someday. In a nutshell though, I’m lucky to have distributors like Big Fish Games, iWin, Game House, Wild Tangent, Exent that all distribute my games for me.
2.) I know in game development, companies tend to layoff people if there isn’t a project to be made (I think this ties into the game industry being saturated with new people as well, but idk for sure). Is this true in regular software development as well? Once a software is developed, are there usually layoffs?
In “regular software development” layoffs are much rarer. In most (not all) businesses, it’s not a “hit-based” or “project based” model. I worked for a Bank, Grocery Store Chain and a Restaurant Chain as my first 3 programming jobs and there was never a worry about layoffs (unless the company was bought out and absorbed by a bigger company). I also worked for two tech firms and although layoffs happened, they were never project based. If a company is providing an ongoing product or service, it always has plenty of things to do beyond the next “upgrade”.
3.) Are there long hours in software development? I know in games there is crunch time of sometimes 60 hrs, but I’m not sure about regular programming.
In general, I’d have to say No to this, but there are exceptions. When I switched from being “just a programmer” to a “Software Engineer”, I was a “salaried” employee and at that job it was expected that we would work between 40-50 hours doing whatever it took to get the job done. However, there was hardly any real “crunch times” because there were no arbitrary “ship dates” to meet. We had schedules but much more relaxed.
Lastly though, IT has changed and if it’s non-games but still “Apps-Development” then maybe there is crunch time there. I can’t say for sure.
4.) I have an ME degree from gatech, but I don’t know if that means anything to hiring managers and engineers from software development companies. Is an ME degree okay, or do they usually dismiss people without CS related degrees?
I don’t know how it is today, but I’ve always found that “smart is smart” and that “rules are meant to be broken”. Back in the day, I had a pure (non-business) Mathematics degree and had only taken one computer course. I answered an ad for a bank and took a “programming aptitude test”…to get that job. After working 3 years using a language no one outside of NCR knew called Neat-3, I got a job at a Cobol shop…but I quickly became the only non-Cobol programmer in that shop (solving problems because of their lack of understanding the Cobol file system). I then learned C on my own and got a job at an proprietary OS/Fault Tolerant company. Then I broke into games as a tools programmer. Finally, at one point I got hired by iWin to create/design/port (not really port) a Mah Jong game for the Casual PC Download market. That was in C++ which I was only using as “a better C”….not really doing Object Oriented C++.
Really finally and to come full circle, while seeing how Clutter performed in the market, I took a job at a local slots/gaming company and became their “Math Guy” part-time for a little over 2 years.
So your ME degree actually says a lot about you. You might actually be a better programmer/developer than someone who graduates in a less formal discipline. Once you feel you’re a competent programmer, the fact that you completed an ME degree could help differentiate you in the job market.
Some companies may dismiss you because of the non CS degree…but a lot may not, but most companies will respect the completed-related-degree…especially if you’re confident about it, and keep learning programming on your own.
5.) Is it stressful? Like are there a lot of deadlines that MUST be met and generally cannot/will not get pushed back?
I’ve never been in a true “big-games-company” that had the severe crunch time that a lot of companies have, so I really can’t say much on this. Most stress is self-imposed and even in non game companies, management will often try to “take advantage” of it’s employees and get more work out of them than is reasonable. For me, I’ve always pushed-back in the few cases I felt it was excessive, and I never had a problem in this area.
In fact, in one case (and I’ve worked remotely since 1997…and saving the 1 hour to 2 hour commute time does wonders for the overall “stress” and “how many hours are you putting in” issues.) I self-imposed a 10 week deadline on myself so that I could do Mah Jong Quest II my way. Management felt that I was asking for enough rope to hang myself with…so they agreed to the terms (they thought sure I couldn’t do it). I proved them wrong….which was a win-win for both of us.
6.) So far I’ve been teaching myself programming (~5 years in C, C++, and now C#), but I know programmers usually work in teams in the industry…and I’m not sure what THAT is like lol. To get experience in working in a team, I guess working on an open source software would be good right? Do you think open source projects is a good way to get teamwork experience?
I’ve never done the open source thing. “teams” can me a lot of different things. Very few companies do “pair programming” and in most places what you work on is not worked on directly by someone else. You end up carving-up little niches that the other people kind of know that you’re the guy they need to see, if they want changes made in that area. For instance, I wrote tools for a few years…and sometimes I supported tools that already existed and sometimes I wrote new ones. If one of the other game developers needed something (like the tool doing something new)…they would most likely just tell me what they needed and I’d go do it. It was a rarity where someone else would actually dive into the code and put a fix or change in themselves. (That might be different elsewhere, but not anywhere I’ve ever worked).
So lastly…I know you want assurances and hard-fast answers to your questions, but there are none. It sounds like your doing the right things, and often the right path just presents itself. My current advice to anyone in college or just starting out is this…
Follow your passion….but….perfect your craft….while looking for ways to get paid for doing either. I think you’re asking the right questions…but don’t be fearful that you’ll go in the wrong direction. You won’t know for many years whether Games or Business is the right path for you.
I wanted to be a Teacher…until two things happened. I got a Math degree from RPI (similar to GT) because I wanted to know more than the teachers I had in high school that just had “teaching degrees”. I took one course in computers (on keypunch) and although I was a “natural” I was bored and annoyed to wait 3 days to find out I missed a semi-colon. Although I got an A in the course, it was the only computer course I took. Went to get a masters in Education…and was bored again by what they wanted to teach me about teaching. At the same time, I sat down to a CRT (green dots, black screen) and helped a friend of mine with her computer course. Well…instead of a3 day wait to find that missing semi-colon….we found it immediately, told the CRT to run the program again….and BOOM….it worked. The heavens opened, I began salivating like Pavlov’s dog and never looked back. I would be a Computer Programmer.
So…3 years as a business programmer….followed by 10 years as a “Software Engineer” working for “real computer companies” like Triad and Tandem…followed by 6 years being a “Game Tools Developer”…followed by 3.5 years creating games that no one wanted to play…followed by 4 years being a Game Designer/Developer…followed by 6 years being a true Solo-Indie-Developer.
So…ask the next question, but don’t worry about the answer.
Show no Fear.