Comments on: Students and Quality of Life I think you make some really great points here, so I only have a few other ``general comments'' to add about development in general, not necessarily in the games industry. There are lots of things young developers don't realize are important, things that become immediately obvious once they start trying to manage open source projects or work as part of a bigger team. People take classes in C++ or Java thinking that this stuff is 95% of what they do. In reality, *writing* the code is usually something full time developers don't spend all that much time doing. There are lots of things people forget to learn. One major one is the toolchain, and how it fits together. It really helps if you understand how your code is compiled, linked, loaded, and stored. Students these days type their code in an editor and push the ``debug'' button, and everything works great. In the real world people spend a long time making sure their application is packaged and deployed correctly, they read about resource storage and installation on the various operating systems to make sure their applications run as cleanly as possibly. Another key concern is documentation, many languages have a specific documentation system (JavaDoc, Haddock, DOxygen, etc...) and using tools like these makes survival a lot easier. Along with this goes testing, a topic they don't teach at all in any required class at my university. There are (supposedly) several good books on this topic, and I think this is one of the first thing people usually attack when they venture into real jobs. University experience can be useful or boring for developers, it really depends. I don't think that university experience would be ``detrimental'' to anyone unless you mean compared to the time you would have otherwise spent writing code. A well structured class in algorithms and data structures will help anyone, period, this isn't one of those things where you can say ``when are we going to use this in real life?'' Even if students grow up to use the fanciest data structure or heuristic in their field, the concepts for these are all based on the basic ideas presented in introductory classes. Understanding how these ideas works transforms you from a developer who can cut and paste code from a book, into one who can efficiently refactor a changing system. However, this understanding need not take place at a university or in the context of a particular class -- there are plenty of people who pick up a book and learn it on their own! I think you make some really great points here, so I only have a few other “general comments” to add about development in general, not necessarily in the games industry.

There are lots of things young developers don’t realize are important, things that become immediately obvious once they start trying to manage open source projects or work as part of a bigger team. People take classes in C++ or Java thinking that this stuff is 95% of what they do. In reality, *writing* the code is usually something full time developers don’t spend all that much time doing.

There are lots of things people forget to learn. One major one is the toolchain, and how it fits together. It really helps if you understand how your code is compiled, linked, loaded, and stored. Students these days type their code in an editor and push the “debug” button, and everything works great. In the real world people spend a long time making sure their application is packaged and deployed correctly, they read about resource storage and installation on the various operating systems to make sure their applications run as cleanly as possibly. Another key concern is documentation, many languages have a specific documentation system (JavaDoc, Haddock, DOxygen, etc…) and using tools like these makes survival a lot easier. Along with this goes testing, a topic they don’t teach at all in any required class at my university. There are (supposedly) several good books on this topic, and I think this is one of the first thing people usually attack when they venture into real jobs.

University experience can be useful or boring for developers, it really depends. I don’t think that university experience would be “detrimental” to anyone unless you mean compared to the time you would have otherwise spent writing code. A well structured class in algorithms and data structures will help anyone, period, this isn’t one of those things where you can say “when are we going to use this in real life?” Even if students grow up to use the fanciest data structure or heuristic in their field, the concepts for these are all based on the basic ideas presented in introductory classes. Understanding how these ideas works transforms you from a developer who can cut and paste code from a book, into one who can efficiently refactor a changing system. However, this understanding need not take place at a university or in the context of a particular class — there are plenty of people who pick up a book and learn it on their own!

]]>
By: Adam Rademacher/2011/03/07/students-and-quality-of-life/#comment-1326 Adam Rademacher Tue, 08 Mar 2011 01:28:07 +0000 I think the best way to go about ay sort of start-up is to be prepared to fail. When the guys at Blurst switched from doing almost all contract work to all original independent games for a year, they did so with the intention of not caring if they turned a profit in the end. In the end, they made some awesome games, but have since gone back to contract work because it wasn't a strong enough source of income. As for the comments about experience being more important than a university degree, I have several thoughts. First, non-games related programming jobs of any substance have made a degree much more a requirement than we have as of late, so landing one of those straight of high school would seem to be just as difficult theses days. Secondly, I still heavily doubt education being a bad thing. It's true that people can teach themselves all the necessary skills to do game development on their own, I wonder how many kids fresh out of high school would be comfortable teaching themselves the fundamentals. While it might seem like a no brainer to a kid that they should learn about rendering, AI, and engine development, will they pick up calculus, assembly level coding, numeric integration, or even something as simple as team-based experience? We should be up front about what people should be looking for from a university if they are interested in game development (and there have been several excellent articles on the subject). If a university isn't offering something better than a job writing commercial software hacked together with an overabundance of design patterns, then students should be demanding something more and look to a different program if necessary. One of the things that I like about Michigan State is that while the program structure for game development students is decent, the faculty is more than willing to help students tailor their program more towards their specialization with independent study credit directly with professors. Perhaps my only gripe is that you still have to jump through certain hoops that feel less than necessary to get the final degree. I think the best way to go about ay sort of start-up is to be prepared to fail. When the guys at Blurst switched from doing almost all contract work to all original independent games for a year, they did so with the intention of not caring if they turned a profit in the end. In the end, they made some awesome games, but have since gone back to contract work because it wasn’t a strong enough source of income.

As for the comments about experience being more important than a university degree, I have several thoughts. First, non-games related programming jobs of any substance have made a degree much more a requirement than we have as of late, so landing one of those straight of high school would seem to be just as difficult theses days. Secondly, I still heavily doubt education being a bad thing. It’s true that people can teach themselves all the necessary skills to do game development on their own, I wonder how many kids fresh out of high school would be comfortable teaching themselves the fundamentals. While it might seem like a no brainer to a kid that they should learn about rendering, AI, and engine development, will they pick up calculus, assembly level coding, numeric integration, or even something as simple as team-based experience?

We should be up front about what people should be looking for from a university if they are interested in game development (and there have been several excellent articles on the subject). If a university isn’t offering something better than a job writing commercial software hacked together with an overabundance of design patterns, then students should be demanding something more and look to a different program if necessary. One of the things that I like about Michigan State is that while the program structure for game development students is decent, the faculty is more than willing to help students tailor their program more towards their specialization with independent study credit directly with professors. Perhaps my only gripe is that you still have to jump through certain hoops that feel less than necessary to get the final degree.

]]>
By: James Podesta/2011/03/07/students-and-quality-of-life/#comment-1307 James Podesta Mon, 07 Mar 2011 12:17:25 +0000 Once upon a time, many years ago, an aspiring young game developer had two offers in front to choose between: (1) a place at a university, studying computer science, (2) a programming job that was not for a games company. He bought a copy of Edge, and spent the day calling up all the developers he could get phone numbers for, and quizzing them on recruitment. He wanted to know, what would the prefer, from a candidate, a degree in computer science, or an equivalent amount of on-the-job programming experience in an unrelated field. The outcome was unanimous. On the job experience was king. The education system was considered useless, and in some cases detrimental to getting a job in the industry. Times have changed, but not a lot. Once upon a time, many years ago, an aspiring young game developer had two offers in front to choose between: (1) a place at a university, studying computer science, (2) a programming job that was not for a games company.

He bought a copy of Edge, and spent the day calling up all the developers he could get phone numbers for, and quizzing them on recruitment. He wanted to know, what would the prefer, from a candidate, a degree in computer science, or an equivalent amount of on-the-job programming experience in an unrelated field.

The outcome was unanimous. On the job experience was king. The education system was considered useless, and in some cases detrimental to getting a job in the industry.

Times have changed, but not a lot.

]]>
By: Rick Lesley/2011/03/07/students-and-quality-of-life/#comment-1304 Rick Lesley Mon, 07 Mar 2011 03:02:44 +0000