Name: Anonymous 2014-06-17 3:47
When going into a project, you may think "I know how to do this". Unless you've done it before, you only have an idea on how to do it. The difference between "I know this" and "I have an idea how to do this" can be a combination of several hours and several headaches.
There's this notion that's infected computer science academia that really needs to rubbed out with some alcohol swabs. You take a data structures class in java and they have the audacity to spout "it's the same no matter what language you're doing it in". No. It. Bloody. Isn't.
Remember, you're dealing with computers here. These are the same devices that will refuse to compile code over a typo. The most insignificant thing can stop a program from working, including quirks specific to the language or operating system your working on.
The thing is, a compiler doesn't accept theory to make programs, it accepts code and it will throw a fit over the most trivial mistake. This is why software engineers aren't afraid of the robot apocalypse. There's no reason to be scared of something that can be taken down with a misplaced semicolon.
Theory is important without a doubt but unlike a professor my goal isn't to teach theory (or earn tenure so I can half-ass my way to retirement). I have to get software out the door and the difference between a theoretical understanding and a practical one is many sleepless nights in front of a computer.
You can design/implement/test part A and then you can design/implement/test part B and everything will seem perfect until you realize they need to be refactored to work together. You then come up with a hack to try to squish them together because you're short on time (and you will always be short on time), and then you have create another hack to make with something else, and then it just snowballs. With every person added to your development team is another chance for there to be a design conflict.
Design is one of the things that legitimately can't be taught to any meaningful degree in lecture. You develop a knack for design through experience, trial and error, and having to go through several plates of spaghetti code.
Another thing you have to remember is that when you're working for a game company, you're working for a game company. They're here to make money and you're going to have to deal with business people. One branch you'll have to deal with is marketing and the voodoo that they do. They get a bad rap which is understandable after fiascos like New Coke, but they also brought us Betty Crocker Cake Mix (stay with me here). In the 1950s, Betty Crocker Cake Mix was well reviewed but it was just sitting on the shelves. A marketing firm was hired to find out how to get the cake mix to move. What they found out is that housewives felt guilty about not putting effort into their meals. The marketing firm remedied this problem by instructing consumers to add an egg and the cake mix is still being sold today. You can only hope they can work that sort of magic on your game because there isn't much demand for a game developer who makes games that don't sell.
The point is you're going to have to deal with people in the game development industry who don't know what a for loop is. All these people speak different languages and it's important that you know how to speak their languages.
That sort of thinking isn't going to fly, even if you're that kid that never shows up to class and gets As on everything. The purpose of college (other than to drown you in debt) is to give you a foundation. Foundations are important but not enough. Not even close. Many of the skills that got me through publishing an app I learned through augmenting what I learned in class with independent study.
There's this notion that's infected computer science academia that really needs to rubbed out with some alcohol swabs. You take a data structures class in java and they have the audacity to spout "it's the same no matter what language you're doing it in". No. It. Bloody. Isn't.
Remember, you're dealing with computers here. These are the same devices that will refuse to compile code over a typo. The most insignificant thing can stop a program from working, including quirks specific to the language or operating system your working on.
The thing is, a compiler doesn't accept theory to make programs, it accepts code and it will throw a fit over the most trivial mistake. This is why software engineers aren't afraid of the robot apocalypse. There's no reason to be scared of something that can be taken down with a misplaced semicolon.
Theory is important without a doubt but unlike a professor my goal isn't to teach theory (or earn tenure so I can half-ass my way to retirement). I have to get software out the door and the difference between a theoretical understanding and a practical one is many sleepless nights in front of a computer.
You can design/implement/test part A and then you can design/implement/test part B and everything will seem perfect until you realize they need to be refactored to work together. You then come up with a hack to try to squish them together because you're short on time (and you will always be short on time), and then you have create another hack to make with something else, and then it just snowballs. With every person added to your development team is another chance for there to be a design conflict.
Design is one of the things that legitimately can't be taught to any meaningful degree in lecture. You develop a knack for design through experience, trial and error, and having to go through several plates of spaghetti code.
Another thing you have to remember is that when you're working for a game company, you're working for a game company. They're here to make money and you're going to have to deal with business people. One branch you'll have to deal with is marketing and the voodoo that they do. They get a bad rap which is understandable after fiascos like New Coke, but they also brought us Betty Crocker Cake Mix (stay with me here). In the 1950s, Betty Crocker Cake Mix was well reviewed but it was just sitting on the shelves. A marketing firm was hired to find out how to get the cake mix to move. What they found out is that housewives felt guilty about not putting effort into their meals. The marketing firm remedied this problem by instructing consumers to add an egg and the cake mix is still being sold today. You can only hope they can work that sort of magic on your game because there isn't much demand for a game developer who makes games that don't sell.
The point is you're going to have to deal with people in the game development industry who don't know what a for loop is. All these people speak different languages and it's important that you know how to speak their languages.
That sort of thinking isn't going to fly, even if you're that kid that never shows up to class and gets As on everything. The purpose of college (other than to drown you in debt) is to give you a foundation. Foundations are important but not enough. Not even close. Many of the skills that got me through publishing an app I learned through augmenting what I learned in class with independent study.