If you like programming
by Jimmy Greystone - 9/19/13 6:46 PM
In Reply to: Thank you by mrbroske
If you like programming, there's plenty of opportunities to do that without having to get a degree in it. You could get started in some open source project for example. There are plenty for Windows, even more for Linux. You can be involved with those in your free time as a hobby.
Game design is probably a bad choice as well. It sounds great, but you read stories from people who work in that industry and they work some insane hours. Based on stories I've seen, 80+ hour workweeks are not uncommon in the weeks making up the final push to get a game out the door. It's also become very formulaic these days, no one wanting to take a chance on trying something new. So if you like cranking out like a Grand Theft Auto clone time after time after time, and not having much of a social life, knock yourself out.
IT isn't bad, but you either have to be crazy good or have some knowledge of a specific program or platform that few other people do. People who know how do to things like program custom SAP modules, for example, can practically write their own checks. The catch is, you just won't find SAP anywhere outside of the enterprise or government. It's too big and too expensive. Database admins can make some decent money, but with the current love affair businesses have with "the cloud" there's dwindling demand.
My personal advice would be to get a minor or even double major in something completely unrelated to computers, but that you still enjoy. Just so long as it's not something like Psychology where you need a Masters just to be someone's research assistant. The IT world can be brutal. There are plenty of companies who simply don't want to hire US citizens, like those who are constantly lobbying for increases in H1B visas. Then you also get companies, like ASUS, who will discriminate against you unless you're a specific race or ethnicity. At least based on the experience of a friend of mine and some corroborating comments from other people. ASUS has about 300 employees, give or take, and my friend was saying how the number of non-Asian employees was in the single digits. Not only that, most of the Asian employees seemed to be ethnically Chinese or Taiwanese and guess where ASUS is headquartered and does most of its manufacturing? The math isn't difficult on that one. From what I've heard from Asian friends of mine, Asian tech companies are incredibly abusive to even Asian employees, but if you're not Asian then everyone else in the company will basically descend upon you like a pack of hyenas because they can basically.
The simple truth is, unless you luck into working for a company that treats its employees like people instead of cattle, and those are becoming increasingly rare, you'll burn out very quickly in IT. You will be discriminated against based on your age as well in IT. That'll work for you as a new college grad, but every 6 months or so there's a fresh group of new college grads who will work for a lot less because they haven't established a life like you have. A house/apartment, maybe a spouse, kids, pet, car, etc. Sooner or later, if the company is looking to lay staff off, all those raises and promotions you've racked up over the years will make you look like an appealing candidate for the chopping block. So make sure to have a fallback option, because after about age 35 or so, in anything that can be under the IT umbrella, you start to become increasingly unemployable. It's not right, it's not fair, but that's the reality and it's only getting worse. All those pro-business politicians get into office and come up with new and interesting ways to defang agencies like the EEOC, which are charged with preventing this sort of thing, so that their millionaire and billionaire benefactors can make even more money at the expense of the rest of us.
I can't stress enough how important it is to have a fallback option.
Anyway, rant over, if you're going to go into IT, my advice would be to make sure your skill set is as diverse as possible. Don't expect your college courses to teach you anything. Buy a cheap older computer and install Linux on it. Make sure you know your way around the command line, not just a graphical environment like GNOME or KDE. Just try things for the heck of it and don't worry if you break something. Learning how to fix what you broke is valuable experience. Linux will also have a wealth of development tools and opportunities to get a head start on learning to write code.
Expose yourself to as many different things as you possibly can and make sure you focus on the "how" of doing things. The best way I can think of explaining this, is don't spend time memorizing where every single feature of MS Word is located. Spend your time learning how all word processors work. So it doesn't matter if you're using Open/LibreOffice, WordPerfect, or anything else, you can be more or less equally proficient in any of them. Or put in programming terms, every language has the same basic constructs, such as variables, loops, keywords, etc. A for loop in C works pretty much the same way as a for loop in Ada95. The syntax is a little different, but the basic construct is the same. Once you learn that, you can pick up almost any language in a few days, since it's just learning new key words and a slightly different structure. It'd be like if you went to England or Australia where they speak English, so you'll be able to understand everyone for the most part, but sometimes there will be words or phrases that are unique to that particular dialect that you need to learn. Focus on the things that are the same, not what's different. And again, this part can't be stressed enough, expose yourself to as many different things as possible. If you put down experience in some program on a resume, and the person interviewing you has to ask what it is, you're doing it right. Even better is when the person doing the interview is familiar with this relatively obscure program and is impressed that you also know about it.