The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.
I'm not going to make any judgments about your life decisions so far, besides pointing out the obvious fact that if you're strapped for cash and getting married, you probably shouldn't be having any kids anytime soon.
You might try looking for some freelance programming work, which would both bring in some cash as well as hone your skills. Try www.elance.com. It's a website that allows people looking for programmers to post their concepts and budgets, and programmers bid for the contract.
Plutonium on
0
Inquisitor772 x Penny Arcade Fight Club ChampionA fixed point in space and timeRegistered Userregular
edited January 2009
I don't work in the industry you're trying to get into, but based on my experiences out here in "the real world", I've learned three things:
1. Education gets your foot in the door
2. Experience gets you in the room
3. Demonstrated competence gets you a seat at the table (along with the ability to not be the biggest douchebag in the room)
People won't even look at you if you don't have some sort of degree/certification/etc. that signals to them that you've proven at least some modicum of knowledge, training, and skill in your chosen profession. I'm guessing this means you will have to pass a lot of programming classes and get a degree of some kind. Unfortunately, this takes time, but it looks like you at least have some sort of goals mapped out and are working towards them.
Luckily, during this time you can greatly increase your chances by getting more experience. It doesn't have to be the best experience ever - it just has to be something that shows people that you can do the work in some capacity, and that you are able to utilize your skills outside of an academic setting. Trust me, this is more important than a lot of people seem to realize. Even if it's just 6 months of freelance project work, you can put it down on the page and describe exactly what that project work entailed. Because, gasp, the vast majority of people don't start out with 2 years of experience at their dream job right out of school anyway.
Plus, what they say about experience being the best teacher? Absolutely true. Having some sort of working experience even remotely related to the field will not only provide you tangible results in terms of the quality and skill of your work, but will also probably help boost your confidence in interviews. It's a whole lot easier to answer a question when you know what the fuck you're talking about.
- repeat, until people are encouraging you to submit your work for publication
- write a novel
- get it published
as a guy who's just finished his MA in creative writing, with a novel(la) under my belt that i'm immensely proud of and am certain is at the very least publishable, i can tell you from personal experience that internet groups and workshops are the best thing in the world for developing your writing
while a good chunk of writing a great novel is having something to say, the majority is the craft itself. before you can do justice to your ideas, you need to equip yourself with a swathe of tools and techniques - and you can only do that by writing, reading, and talking to other writers.
so if you're serious about the novel, get started. write a story. i'll read it. all it takes is a couple of hours and a notepad. or a notepad.exe
Writing and computing are not mutually exclusive activities. In fact, being a good writer will almost always give you a substantial leg up in any profession where communication is important, which is nearly all of them. Whether or not you ever write the Great American Novel, learning to write well will be a major asset throughout your life. Submitting your work for evaluation by others is a key part of this. If you can have a job where this is a part of your work (i.e., writing documentation, writing proposals, writing academic papers) this is an easy way to do it and get feedback. A lot of good writing is rewriting, taking something you've expressed "OK" the first time and then rewriting it several times to be better each time. You also have to know when to quit - there's a law of diminishing returns.
As for becoming a computer game programmer, that's a very tough road to hoe. A key thing to know: the amount of fun you have programming is actually pretty similar whether you're programming a game, a business application, middleware, whatever. Of all the domains in which you could be plying your programming talent, games is one of the most highly-competitive. Game companies, on the whole, don't hire mediocre programmers because they don't have to. If you really want to pursue game programming, you need to excel. However, because there is such competition, a game company will tend to work you longer hours and pay you less than a comparable job programming a lot of other things (because they can), and the programming itself won't be substantially more fun. If you want to pursue games, don't do it exclusively. Concentrate on being a good developer first.
In the near-term, you need to focus on your education. Stay in school. If you want a serious job in software development (games or otherwise), you will want to get a Bachelors degree from a decent four-year university. It doesn't have to be MIT, but you want to go to a school where there is a focus on computing. If money is a concern (and it sounds like it is) there are plenty of exceedingly great programs at state universities that will get you a top-tier degree for perhaps 25% of what it costs to go to a private university. Not all state universities are created equal - you may have to move to a different state and suck it up and pay out-of-state tuition for the first year, which will suck but will still likely be less than a year's tuition at a private school. Doing the first two years in community college, as you are doing, is another good way to save money.
If you're serious about programming or software development as a career, you want to focus on a Bachelors in either Computer Science, Software Engineering, or Informatics (or the equivalent). A Bachelors in Computer Science is the most traditional degree and the one that is most universally-offered. The traditional CS curriculum is a cross-cut approach: you get a little bit of a lot of areas (software development, programming languages, compilers, databases, AI, algorithms, hardware, human-computer interaction, etc.) and you get to specialize in one or two. A small but growing number of schools is offering Bachelors degrees in software engineering or informatics, which focuses more deeply on the organizational and other issues regarding software and systems development, but you will focus less on the more unrelated areas, like AI or networks.
Since you are already in a community college, my advice to you is to start looking at potential places to transfer to now. I cannot stress this enough. Transferring to a four-year university is NOT easy and it is fraught with peril. 80% of the transfer students I have ever met were always walking around pissed off because they had to take overlapping classes, the classes they took didn't transfer like they thought, or classes weren't offered when they thought they were. So many of them had to take that "one last class" into their fifth year because they did not get all their requirements met in four. Once you identify some schools you might want to attend, TALK TO COUNSELORS at both your school AND those schools about this. Admissions counselors ARE YOUR FRIENDS. They want to help students, and they LOVE students that come to them early rather than coming in when they're 4 weeks away from walking and they realize they can't really graduate.
If you seriously want to pursue games (or just maximize your chances at having an upwardly-mobile career in computing) it would behoove you to eventually move out of Bumblefuck and to a major city, preferably one with game studios or software-oriented companies nearby. There are lots of these places scattered around, and you should do some research. There's the Silicon Valley, of course, SoCal (LA area, Orange County, San Diego), Seattle, North Carolina, etc. Proximity to potential jobs and connections helps immensely. Some schools that are located near game studios often have formal or informal relationships with them; inquire about this when you think about where you want to transfer.
One sort of 'maverick' option is to go to a gaming-specific vocational school (something like DigiPen, Full Sail, or one of those). I tend to be super skeptical of these places. Most importantly, recognize that they are effectively vocational schools - like ITT Tech or DeVry (although perhaps a half-step up). They are extremely expensive - DigiPen will cost you roughly $70,000 for a degree, Full Sail about half that.
Vocational schools, including these, tend to teach technologies rather than techniques. This, I think, is a major problem. Technologies change rapidly; techniques change much less so. If you understand a technique, then figuring out how to apply it in different technologies is relatively easy. If you understand a technology but not the techniques, then attempting to "reverse-engineer" out the techniques is very hard. If you're going to spend valuable time and money on education, learn the fundamentals. Here is DrFrylock's #1 rule in computing education: if the classes you are taking have the names of specific technologies in the class names, run.
On the other hand, some of these schools (particularly DigiPen) have produced the occasional sensational result (specifically, Portal). I just think that focusing so narrowly right from the get-go is a huge risk: assuming you get to the end of your education and find you can't (or no longer want to) get into game development, where does that leave you?
Now I am going to tell you some things you really don't want to hear.
Malcolm Gladwell has a new book out, called Outliers, where he attempts in the most Gladwellian of ways to figure out what makes some people wildly successful and other people...well, not. It's really a great read, whether or not you believe all of it. One thing he calls out, which is very likely true, is that mastery in any field takes 10,000 hours of practice. Ten-thousand hours. To put it in more manageable terms, that's 8 hours a day, 5 days a week, for five years. You said:
If someone says, "This is what you need to do this" I make that my life's work.
So I'm telling you exactly what "This" is for you: 10,000 hours of practice at either programming or writing.
The first thing that you're not going to want to hear is that a surprising number of the people you will be competing with to get into the gaming industry have their 10,000 hours in already, or nearly so. Programming is not like neurosurgery: they allow you to practice it just about as young as you want. I personally started at around age 10, and probably punched my 10,000-hour card when I was about your age. This was pretty easy for me because I didn't have real-world worries (i.e., a job) like you do. Is starting that early unusual? Yes, but not nearly as unusual as you'd think, especially for programmers.
What would be ideal for you in terms of catching up would be if you could get a job doing some programming now, so you could at least get paid a little bit while you develop your skills. I sympathize with your plight here, and I understand that you're 1) in Bumblefuck and 2) you need your job at Carget to pay the bills. So, as soon as possible, work on finding a job where you can learn some programming and make some money at the same time. Even a junior assistant PHP code monkey job writing the business logic for yet-another login page would be super helpful. Every hour you spend working at Carget is an hour you're not putting into your 10,000 hour ticket.
The second thing you're not going to want to hear is that getting married in two months at age 19 is a risk to your career. Maintaining a family and a family home is a big investment of time, energy, and money - even if it's just the two of you. It's tough enough to uproot and move to a strange city to be in the vicinity of potential future jobs when it's just you. When there's another person involved, it's doubly hard. If you want to take a year to live in a rented closet eating Ramen noodles and write your novel, it's one thing if you're doing it by yourself, but I don't know too many spouses that wouldn't smack you upside the head for suggesting it.
Since it's deeply unlikely I will convince you to postpone the wedding for 3 or 4 years until you have achieved independent stability (which is really what you should do), here's some second-best advice: don't have any kids until you have finished school and are 7,500 hours into your 10,000 hour ticket.
In the meantime, do what you can to get to those two goals: a respectable Bachelors degree and 10,000 hours into your chosen profession. Think outside the box: I know you said that you have to move to a trailer in Bumblefuck and you're stuck in school, but there are trailers and community colleges all over the country and they're mostly the same no matter where you go. Some of them, however, are located in communities where there are places to work that don't end in -arget or -almart.
Posts
You might try looking for some freelance programming work, which would both bring in some cash as well as hone your skills. Try www.elance.com. It's a website that allows people looking for programmers to post their concepts and budgets, and programmers bid for the contract.
1. Education gets your foot in the door
2. Experience gets you in the room
3. Demonstrated competence gets you a seat at the table (along with the ability to not be the biggest douchebag in the room)
People won't even look at you if you don't have some sort of degree/certification/etc. that signals to them that you've proven at least some modicum of knowledge, training, and skill in your chosen profession. I'm guessing this means you will have to pass a lot of programming classes and get a degree of some kind. Unfortunately, this takes time, but it looks like you at least have some sort of goals mapped out and are working towards them.
Luckily, during this time you can greatly increase your chances by getting more experience. It doesn't have to be the best experience ever - it just has to be something that shows people that you can do the work in some capacity, and that you are able to utilize your skills outside of an academic setting. Trust me, this is more important than a lot of people seem to realize. Even if it's just 6 months of freelance project work, you can put it down on the page and describe exactly what that project work entailed. Because, gasp, the vast majority of people don't start out with 2 years of experience at their dream job right out of school anyway.
Plus, what they say about experience being the best teacher? Absolutely true. Having some sort of working experience even remotely related to the field will not only provide you tangible results in terms of the quality and skill of your work, but will also probably help boost your confidence in interviews. It's a whole lot easier to answer a question when you know what the fuck you're talking about.
- post it in here
- repeat, until people are encouraging you to submit your work for publication
- write a novel
- get it published
as a guy who's just finished his MA in creative writing, with a novel(la) under my belt that i'm immensely proud of and am certain is at the very least publishable, i can tell you from personal experience that internet groups and workshops are the best thing in the world for developing your writing
while a good chunk of writing a great novel is having something to say, the majority is the craft itself. before you can do justice to your ideas, you need to equip yourself with a swathe of tools and techniques - and you can only do that by writing, reading, and talking to other writers.
so if you're serious about the novel, get started. write a story. i'll read it. all it takes is a couple of hours and a notepad. or a notepad.exe
Writing and computing are not mutually exclusive activities. In fact, being a good writer will almost always give you a substantial leg up in any profession where communication is important, which is nearly all of them. Whether or not you ever write the Great American Novel, learning to write well will be a major asset throughout your life. Submitting your work for evaluation by others is a key part of this. If you can have a job where this is a part of your work (i.e., writing documentation, writing proposals, writing academic papers) this is an easy way to do it and get feedback. A lot of good writing is rewriting, taking something you've expressed "OK" the first time and then rewriting it several times to be better each time. You also have to know when to quit - there's a law of diminishing returns.
As for becoming a computer game programmer, that's a very tough road to hoe. A key thing to know: the amount of fun you have programming is actually pretty similar whether you're programming a game, a business application, middleware, whatever. Of all the domains in which you could be plying your programming talent, games is one of the most highly-competitive. Game companies, on the whole, don't hire mediocre programmers because they don't have to. If you really want to pursue game programming, you need to excel. However, because there is such competition, a game company will tend to work you longer hours and pay you less than a comparable job programming a lot of other things (because they can), and the programming itself won't be substantially more fun. If you want to pursue games, don't do it exclusively. Concentrate on being a good developer first.
In the near-term, you need to focus on your education. Stay in school. If you want a serious job in software development (games or otherwise), you will want to get a Bachelors degree from a decent four-year university. It doesn't have to be MIT, but you want to go to a school where there is a focus on computing. If money is a concern (and it sounds like it is) there are plenty of exceedingly great programs at state universities that will get you a top-tier degree for perhaps 25% of what it costs to go to a private university. Not all state universities are created equal - you may have to move to a different state and suck it up and pay out-of-state tuition for the first year, which will suck but will still likely be less than a year's tuition at a private school. Doing the first two years in community college, as you are doing, is another good way to save money.
If you're serious about programming or software development as a career, you want to focus on a Bachelors in either Computer Science, Software Engineering, or Informatics (or the equivalent). A Bachelors in Computer Science is the most traditional degree and the one that is most universally-offered. The traditional CS curriculum is a cross-cut approach: you get a little bit of a lot of areas (software development, programming languages, compilers, databases, AI, algorithms, hardware, human-computer interaction, etc.) and you get to specialize in one or two. A small but growing number of schools is offering Bachelors degrees in software engineering or informatics, which focuses more deeply on the organizational and other issues regarding software and systems development, but you will focus less on the more unrelated areas, like AI or networks.
Since you are already in a community college, my advice to you is to start looking at potential places to transfer to now. I cannot stress this enough. Transferring to a four-year university is NOT easy and it is fraught with peril. 80% of the transfer students I have ever met were always walking around pissed off because they had to take overlapping classes, the classes they took didn't transfer like they thought, or classes weren't offered when they thought they were. So many of them had to take that "one last class" into their fifth year because they did not get all their requirements met in four. Once you identify some schools you might want to attend, TALK TO COUNSELORS at both your school AND those schools about this. Admissions counselors ARE YOUR FRIENDS. They want to help students, and they LOVE students that come to them early rather than coming in when they're 4 weeks away from walking and they realize they can't really graduate.
If you seriously want to pursue games (or just maximize your chances at having an upwardly-mobile career in computing) it would behoove you to eventually move out of Bumblefuck and to a major city, preferably one with game studios or software-oriented companies nearby. There are lots of these places scattered around, and you should do some research. There's the Silicon Valley, of course, SoCal (LA area, Orange County, San Diego), Seattle, North Carolina, etc. Proximity to potential jobs and connections helps immensely. Some schools that are located near game studios often have formal or informal relationships with them; inquire about this when you think about where you want to transfer.
One sort of 'maverick' option is to go to a gaming-specific vocational school (something like DigiPen, Full Sail, or one of those). I tend to be super skeptical of these places. Most importantly, recognize that they are effectively vocational schools - like ITT Tech or DeVry (although perhaps a half-step up). They are extremely expensive - DigiPen will cost you roughly $70,000 for a degree, Full Sail about half that.
Vocational schools, including these, tend to teach technologies rather than techniques. This, I think, is a major problem. Technologies change rapidly; techniques change much less so. If you understand a technique, then figuring out how to apply it in different technologies is relatively easy. If you understand a technology but not the techniques, then attempting to "reverse-engineer" out the techniques is very hard. If you're going to spend valuable time and money on education, learn the fundamentals. Here is DrFrylock's #1 rule in computing education: if the classes you are taking have the names of specific technologies in the class names, run.
On the other hand, some of these schools (particularly DigiPen) have produced the occasional sensational result (specifically, Portal). I just think that focusing so narrowly right from the get-go is a huge risk: assuming you get to the end of your education and find you can't (or no longer want to) get into game development, where does that leave you?
Now I am going to tell you some things you really don't want to hear.
Malcolm Gladwell has a new book out, called Outliers, where he attempts in the most Gladwellian of ways to figure out what makes some people wildly successful and other people...well, not. It's really a great read, whether or not you believe all of it. One thing he calls out, which is very likely true, is that mastery in any field takes 10,000 hours of practice. Ten-thousand hours. To put it in more manageable terms, that's 8 hours a day, 5 days a week, for five years. You said:
So I'm telling you exactly what "This" is for you: 10,000 hours of practice at either programming or writing.
The first thing that you're not going to want to hear is that a surprising number of the people you will be competing with to get into the gaming industry have their 10,000 hours in already, or nearly so. Programming is not like neurosurgery: they allow you to practice it just about as young as you want. I personally started at around age 10, and probably punched my 10,000-hour card when I was about your age. This was pretty easy for me because I didn't have real-world worries (i.e., a job) like you do. Is starting that early unusual? Yes, but not nearly as unusual as you'd think, especially for programmers.
What would be ideal for you in terms of catching up would be if you could get a job doing some programming now, so you could at least get paid a little bit while you develop your skills. I sympathize with your plight here, and I understand that you're 1) in Bumblefuck and 2) you need your job at Carget to pay the bills. So, as soon as possible, work on finding a job where you can learn some programming and make some money at the same time. Even a junior assistant PHP code monkey job writing the business logic for yet-another login page would be super helpful. Every hour you spend working at Carget is an hour you're not putting into your 10,000 hour ticket.
The second thing you're not going to want to hear is that getting married in two months at age 19 is a risk to your career. Maintaining a family and a family home is a big investment of time, energy, and money - even if it's just the two of you. It's tough enough to uproot and move to a strange city to be in the vicinity of potential future jobs when it's just you. When there's another person involved, it's doubly hard. If you want to take a year to live in a rented closet eating Ramen noodles and write your novel, it's one thing if you're doing it by yourself, but I don't know too many spouses that wouldn't smack you upside the head for suggesting it.
Since it's deeply unlikely I will convince you to postpone the wedding for 3 or 4 years until you have achieved independent stability (which is really what you should do), here's some second-best advice: don't have any kids until you have finished school and are 7,500 hours into your 10,000 hour ticket.
In the meantime, do what you can to get to those two goals: a respectable Bachelors degree and 10,000 hours into your chosen profession. Think outside the box: I know you said that you have to move to a trailer in Bumblefuck and you're stuck in school, but there are trailers and community colleges all over the country and they're mostly the same no matter where you go. Some of them, however, are located in communities where there are places to work that don't end in -arget or -almart.
Good luck and godspeed.