Education-related questions from a beginner.

Started by
8 comments, last by Dave Weinstein 11 years ago

Hey guys. I have very little experience programming. I took two courses in HTML which isn't even really programming I suppose, but thats all I have to work off of. I've decided I want to pursue programming more, hopefully as a career. I love video games and I think I would really enjoy programming games, so I started learning C++ on my own using a textbook called accelerated C++. I've been making steady progress although it has been somewhat difficult I am going to keep working at it as much as I can.

The reason I'm posting is to ask a couple of questions.

First, how important is a computer science degree if I want to get a job as a programmer in games? What about outside of the gaming industry? I just finished 2 years of college studying Finance and frankly the idea of going back for a fresh 4 year degree doesn't appeal to me. I'm interested in learning on my own and trying to build a small portfolio and possibly getting an entry level job from that, maybe even a QA job just to get into the industry. What are your thoughts? Is it really important to have a CS degree or if I can work on some mods or small projects to show I'm capable can you get a job from that?

Secondly, how would you recommend learning C++ or other languages without attending a 4 year university? Are there any online resources you would recommend? As I said I'm working through a textbook on my own and obviously books can be very useful but I want to try to learn through other mediums as well and I am unsure as to what is out there beyond college courses.

Lastly, what languages are most sought after right now, and what would you recommend that i learn first? C++ seemed like a logical choice since I wanted to get into game programming, but what other languages might I want to learn either to get a job in games or outside of games? Is C++ a good first language or is there something else I would be better served learning?

Thanks a lot, really appreciate any advice you guys can give.

Advertisement

Well I cant give you any advice on how to break in the industry, it is very possible to learn on your own, especially nowadays.

There are a ton of books and online tutorials and videos out there. Also GameDev.net has been on spree with articles, they are a great source of info.

Then you can actually take computer science classes online for free from sites like coursera, Udacity, and EdX. Its never been easier.

Edit: I also want to add, that taking those courses can get you a certificate as well, if your into that.

MIT, Stanford and some others have free online courses on teaching programming. Also, if you don't have a degree, then having a portfolio is going to be very important. Having a couple of certifications wouldn't hurt either, but that's secondary to the portfolio. You should expect to devote at least 2 years to learning C++ (or any language for that matter). If you are aiming for game development, make sure you have polished games and well written code. And just as important, make sure you can understand and explain that code if asked what it does and why you chose to code it the way you did.

Beginner in Game Development?  Read here. And read here.

 

Getting hired without a degree is nigh impossible these days.

First, how important is a computer science degree if I want to get a job as a programmer in games? What about outside of the gaming industry? I just finished 2 years of college studying Finance and frankly the idea of going back for a fresh 4 year degree doesn't appeal to me. I'm interested in learning on my own and trying to build a small portfolio and possibly getting an entry level job from that, maybe even a QA job just to get into the industry. What are your thoughts? Is it really important to have a CS degree or if I can work on some mods or small projects to show I'm capable can you get a job from that?

A "CS" degree is not that critical. Well, it hasn't been for the last 20 years though it's becoming more important of course. I've worked with an Astrophysicist, Biochemist, an English major and other majors (some even PhD's) you would not expect including "art" variations. Currently having a degree helps a lot to be noticed but more notable (for good shops in my opinion) is having made games. Even a crappy individual effort to make a game is better than all the degree's in the world, well if an old dino like me is involved. CS degree, bleh, dime a dozen, has he tried to make a complete game??

Secondly, how would you recommend learning C++ or other languages without attending a 4 year university? Are there any online resources you would recommend? As I said I'm working through a textbook on my own and obviously books can be very useful but I want to try to learn through other mediums as well and I am unsure as to what is out there beyond college courses.

Lastly, what languages are most sought after right now, and what would you recommend that i learn first? C++ seemed like a logical choice since I wanted to get into game programming, but what other languages might I want to learn either to get a job in games or outside of games? Is C++ a good first language or is there something else I would be better served learning?

This is more suited to your desires. You want to make FaceBook games, learn Java/Python/HTML etc. You want to make the next Battlefield game, C++ is likely to be the required language. But it is all really subjective and who knows what the next trend may be. Perhaps X++ will take off and we'll be using that next year, more than like though, C++ is a pretty good bet. :) I've gone from assembly, to forth, to basic, back to mostly assembly, played with Logo of all things, to C, to Pascal to C++ etc etc. It all changed on the fly as to what was best or used on any given project. Learn one first and the others "mostly" fall into the "you can learn it quickly" category.

Here is my opinion. I might be totally wrong, but thats how I see it.

You know whats the problem? The problem is that learning programming takes A LOT of time. Learning syntax and sending helloworld into std::cout is not hard. Learning and implementing complex patters and complex math - thats where it is getting tricky.

I mean if you want to get any good at C++ and build up decent portfolio, you need to study programming like 1.5 to 2 years. Then add college level math (linear algebra, calculus, descrete mathematics) ontop of it.

And after all you will end up studying the same 4 years, but you will not have a degree. I think it is reasonable to get CS degree if you are total beginner at this point.

A degree doesn't really matter if you already have extensive knowledge and portfolio. Nerds like me spend years doing computer stuff as a hobby and are able to show potentional employer good enough portfolio and even published games, therefore the employer doesn't really care about formal education.

When we put out an ad for a game programmer we get many hundred responses. Sometimes several thousand responses.

The first pass is just to prune the huge pile down to something we can print without feeling guilty about killing a forest.

If you aren't in the same geographic area or you don't have a university education or you don't have some game development experience or you don't have some other immediately obvious thing that says you must be hired, your application will not survive the initial cut.

If you are qualified to do the work but you don't have the traditional credentials for the job, you will not be interviewed for the job.

It isn't that we don't think you can do the job. You probably could do the job just fine.

The problem is that you are not in a vacuum.

If you don't have the education and you don't have the work experience, you need to find an alternate route into the industry.

The simplest alternate route is networking. You need someone inside the industry to take note of you, and you need that person to convince their company to hire you.

Most job vacancies are filled by networking. Somebody you know recommends you for the job long before the job is ever advertised to the public.

You don't need a computer science degree to understand how to make games.

If you have prior programming experience, a semester worth of training can help in making the game easier. Or if you are super dedicated to programming, you can probably teach it yourself much faster. What is more important is that school won't teach you how to make a game. The programming courses can teach you the principles of programming that help you make a program. Game is just software. Even a simple implementation game can be more involved than your average console application.

What is more important is spending the right amount of time understanding the fundamentals of programming concepts and ideas and connecting how these pieces come together to make a game. Schools can guide you but if you are motivated and driven, you can learn it yourself. In the end, it is rewarding and challenging. The final results are worth it.

You can start with C++...But it is more advanced I would say in terms of learning game programming for that language. You can do loads of research of what issues you may be running into. But it is a learning experience, you will have some road bumps or obstacles in any language because it is just testing you how much you know about your language.

Java is a good language to learn. It has a built in Java graphics library so you do not need to find one. I would say everything you need to make the game happen is provided by the Java library. You just need to know how to use it.

I would not get caught up in the language. The language is just a tool. Find one that is comfortable. Eventually, you will need to adapt to a new comfort zone(that is learning a new language).

Don't just read books. Start questioning and discussing with people who are more knowledge about general programming or game programming. Just start doing small stuff-make simple games and be happy with it. As you get better at making games, start challenging a little bit more. Push yourself.

The knowledge from CS does help though I would say.

If things get challenging, start breaking it down to the point until it is understandable.

How to break into the industry: Interviewers like seeing a portfolio/demo/prototype/project. So if you have that, that MIGHT get you a job but it is not guaranteed. Just get something running. A project speaks louder than your degree or resume. Most people can't finish projects but if you can, you are ahead of the game which is why I recommend you work on game projects that are simple(which can actually be completed by one person)

frob's advice is sound. The easiest way to get into the industry is to know someone in the industry who can recommend you.

-Stay in touch with university aquaintances (especially those with interest in pursuing a career in games who may land jobs).
-Try to intern/co-op at a games company and keep in contact with your coworkers.
-Release any (good) games/tech/engines/etc. you make, get your name out there.

Without being referred for a job, or being head hunted due to some excellent projects tied to your name, you will need to somehow survive the mountain of resumés, which usually means needing the standard education/experience/skills. A CS degree (or equivalent, of which Finance is not) would be ideal.

What you need to learn depends on what types of games you wish to work on. Indie games are more varied with language. AAA titles are almost exclusively written in C++ (usually in conjunction with a scripting language).

I personally find that QA is not a great stepping stone for programmers. In all the years I've worked in the industry, I've only seen one person transition from QA to a programming role. Depending on the studio though, working in QA may give you access to programmers who you could network with and learn from.

There are two issues here.

First, you have to develop the programming skills that will allow you to succeed as a professional programmer.

Second, you want to get into the game industry.

Clearly, you do not need a degree to develop programming skills. However, a good college program may well be the most time efficient mechanism to get those skills; one of the drawbacks of being self-taught in anything is that by definition you are learning from someone who doesn't know what they are doing.

So, one way or another you need to develop professional grade skills. Could be a college program, could be the various online free college courses, could be sitting down and just working through it and reading a lot as you go.

Which brings us to the second issue. I'm assuming you actually want someone to pay you (since if you were doing it entirely on your own you wouldn't be worried about finding a job).

So, here is the problem. Games are one of the few parts of high tech (if not the only part) in which there is a glut of entry level talent. And the thing is, there isn't a simple "do this, then do that, then do this other thing, yay job!" list to give you. People get jobs without degrees. People get jobs without prior experience. People get jobs without demos. None of that helps you unless you are one of those people, and if you were, you wouldn't be asking this question.

It is entirely possible that last year a studio in your area hired someone who was almost exactly the same on paper as you are today. That doesn't mean you'd get a job there today, maybe another studio had a layoff and there are now people with professional experience on the market. It is entirely possible that the person tossing your resume in the trash bin had inferior credentials to yours when they got in to the industry. None of that matters.

If you really, seriously, truly want to get in, and you want to get in as a pro, you need to come across as the best qualified person for the job at the time they are making a hiring decision. For entry level, you want to have a degree, references, good networking, and a great demo or demos. Also, you want to be lucky.

So, do you need to go to College? No. But you do need the skills. And if all the programming you've ever done is some HTML, it is likely that formal instruction will get you the skills in a shorter amount of time than doing it on your own. Also, a good CS degree will help you if (as is likely) you end up leaving the game industry before you leave the workforce.

This topic is closed to new replies.

Advertisement