您的位置:首页 > 职场人生

How to Break in as a Game Programmer(如何成为一名游戏程序员)

2015-10-01 01:45 736 查看
Sitting in a tiny cramped cubical, wearing an uncomfortable and stuffy suit, working on 25-year old financial software with a boss over your shoulder asking for those TPS reports ... Or sipping a beer, relaxing in a T-shirt and shorts, working on the next Xbox 360 smash hit.

My Story

I think it's pretty clear why so many people want to get into the video game industry. It was a no-brainer for me, and for the last four years, I've tried, failed, and finally accomplished just that.

I'm going to share the things I found that helped and hurt my journey into the game industry.

I recently graduated from Michigan State University with a degree in computer science and a minor in Digital Media and Arts. While I was in school, I interned at Image Space Inc. (Rfactor), and Electronic Arts (BFME2). I'm currently employed full-time at Rockstar Games as a software engineer.

Is the Game Industry for You?

The first thing you have to ask yourself is will you like the game developer lifestyle. While many software engineers are used to working all hours of the day for school, anyone who has a dream of raising a family may not be so keen to work six days a week during crunch time (anticipated overtime that's pretty inherent in the industry), or come home after 9 p.m. some nights. Game studios are getting better at paying for overtime and not allowing anyone to work 7 days a week, but the hours here are not anything like a typical 9-to-5 job.

I personally love the flexibility of being able to come in around 10 in the morning and take an hour or so break to hit the gym or go to the beach in the middle of the day. As long as I get my work in on time and put in at least eight hours five days a week, my company is relatively flexible.

Office Environment

The work environment is also very relaxed. Dress is almost always casual, and drinking beer at meetings, playing video games, and talking to the studio president about his level 60 undead mage are common.

Another great aspect of working with games is the sheer variety of work. The programming disciplines include artificial intelligence, graphics, network, tools, gameplay, and is pretty much limitless. As a gameplay programmer I can't begin to tell you how much more exciting it is to test my work in this industry than in a regular software company. It's the difference between making Saramon kill all of the little hobbits and clicking a drop-down box repeatedly to make sure it doesn't crash.

So, what do you have to do to land the job of your dreams in the game industry?

Education

Picking a school. As a programmer, the best option is to get a degree in computer science at a traditional four-year university. Many programs and schools are popping up claiming to teach "how to make games," but you really want a good, solid foundation and a rigid computer science curriculum. Additionally, it's helpful to know that the majority of game companies that recruit directly from colleges do so at the top computer science schools around the country. Finally, because the game industry is hard to break into, it's smart to have a more general theory-based education that isn't specific to just games so you're employable. At the same time, you'll want to a pick a school that offers courses that will help you get on a path that can lead to the game industry. For example, my university had a department that offered several classes in game theory and game design. Even though I was in the college of engineering, I was able to pick up those extra classes and get the best of both worlds.

Selecting courses.A lot of studios I've worked for have been searching for well-rounded programmers. For students, that means you really have to pay attention in all your computer science classes. Even if you have no interest to be an AI or graphics programmer, it's still very important to understand the basic fundamentals to be a successful programmer at a game company.

You also need to be pro-active in seeking out courses. Oftentimes there may be a great course that would help you but it isn't open to your major. Learn to harass your advisor or dean of students and get an override. Find a professor who will let you take a few credits in independent study and pick a great game related topic that you otherwise wouldn't be able to learn about at your school. For example, I found Professor Brian Winn in the Telecommunication College at MSU who allowed me to do several independent studies with him on 3D graphics and game engine programming. All these independent studies made my portfolio stronger, my skill sets broader, and my resume unique.

Stand Out

Resume. Take a look at your current resume. Depending on what jobs you've held during college, your resume probably looks very similar to hundreds of others -- people who sit in the same classes as you every day have the same resume as you. And the hundreds of thousands of people at other computer science programs all over the country have that same resume, too. At a few of my internships, co-workers told me they got more than a few thousand applications and only glance at each resume for a few seconds.

Internships. Start looking for internships early. Even if they aren't in game development, at least it's a start. Do some thorough research to find a close game company or be ready to travel somewhere else for a summer internship.

Make something! Whether it's just a level for a game, a small mod, or even a complete game you wrote using a game engine, make it playable, and see it through to completion.

Take your own courses. Set up independent studies with professors that nobody else will have.

Put your materials on a web site. It's really easy to throw a URL on a resume. While it's not an initial eye catcher, further down the road when companies actually want to look at your sample code or play a game you made, or even just see screenshots of your work, they will be able to quickly and easily.

I landed my first game internship out of sheer willpower (and maybe the fact that I worked for free). I was so excited and passionate about breaking into the industry that I found a fairly local company and made it happen, with my school's help. The second internship I got I attribute to making my own fps game using a free C++ game engine 3D state -- and the fact that I already had a game internship on my resume.

Internships

Let's dive a little more into internships. Many of you might have already experienced the catch-22 of the game industry: Most open positions require a very experience person with several games shipped. It can be rather hard to find an internship. And that was the most challenging part for me. But once I had two internships under my belt, I found it rather easy to generate interest from my resume.

Some good places to check frequently are http://www.gamasutra.com/, http://www.creativeheads.net/, and http://jobs.ea.com/. Electronic Arts has a really good internship program, probably the largest of any game company.

I tried several strategies. First I would just send my resume to every game studio's human resource department asking for an internship regardless of if I saw one posted or not. I also compiled a list of game developers and would send them my resume regardless of if I saw them posting jobs available. I really didn't get very far with either of these strategies but what was impressive was when I applied to the same companies a year later in my junior year of school I got a better response and some of them even had a copy of my resume I sent a year before. So even if you don't get a response, don't assume you're resume was just tossed.

The important thing is to start searching early, probably sophomore year, just to get your feet wet expecting to get something junior year or summer.

Assuming you were able to make your resume standout and found a good internship, the next step is interviewing.

Interviewing

Pre-interview. I went through several tests, phone interviews, and on-site interviews for my various internships and jobs. A book I really wish I had at the start was Programming Interviews Exposed by John Mongan and Noah Suojanen. I only got the book near the end of my job interviewing days and it was a great help. I'd strongly advise you get this book as it covers the entire interview process in detail and covers the majority of technical questions you would probably face. I'll just cover some specific things from my experience.

Almost every company I interviewed with handles the process differently. Some examples:

Initial phone interview by human resources with no technical questions followed by a timed programming test followed by and all day on site programming exam.

Initial non timed programming test followed by half day on site interviewed.

Initial phone interview by human resources with no technical questions, followed by a technical phone interview, and followed by another technical phone interview.

A simple program to complete like chess or some algorithms.

These can be really draining especially if you get multiple companies requesting you to complete programming tests at the same time. Some of them are extremely long and detailed taking days to complete and covering all aspects: AI, Math, Physics, and Programming. Some request that you use no outside assistance but others will allow you to use books and the Internet.

It's great to get a chance to take these tests early in your college education so you can get an idea what kind of skills and knowledge game companies are looking for. While almost all of the programming tests I took were different there was definitely a common thread between them.

On site interview.Again, Programming Interviews Exposed gives great advice on how to deal with on site interviews but some specific advice i can give for both phone interviews and on site interviews is to sound passionate and do some homework on the company. Before an on-site interview, practice the programming language they'll be testing you on. Understand the position you're interviewing for. For example, if it's a console company and they mainly use C, be ready to answer questions on linked lists, memory usage, and other low level questions. If it's a tools programmer role, be ready to answer questions on the STL, MFC, and C++. Make sure you specifically ask. Often times the human resources people won't have any idea and won't give you good information. For example, I had an on-site interview at EA Orlando and when I asked for more technical info on the interview I wasn't told all of the testing would be done in C. Having only used C++ with very little C experience at that point, the test didn't go very well.

How to Hold On for Dear Life

Even if you don't get the job look at it as getting closer to the goal. If a company denies you after a programming test don't be afraid to ask for specific feedback to give you an idea of your weaknesses and work on them. Often times early on in a computer science program you're more focused on getting a program done and not getting it done well.

Another book I'd recommend that does a great job focusing on improving your code would be Effective C++ by Scott Meyers. Not following some basic principals covered in this book like using constants whenever possible, pass by constant reference, and declare class members private alone can be enough for your code to be rejected. Really spend a lot of time on any code you may send in and make sure it not only works but it's high quality and memory efficient.

The game industry has been steadily growing. Game companies hiring straight out of college is also on the rise. EA has en entire HR department dedicated to college recruitment. Things are slowly getting a little easier for college students to break into the game industry. The most important advice I can give to you is to just keep trying. I was rejected several times when I was searching for my foot in the door job. It might not be easy for you but if you really are passionate about making games for a living it's definitely possible to get your dream job.

Steven Messinger is a graduate from Michigan State University with a degree in computer science and a specialization in digital media and arts. He's worked as a gameplay engineer at Electronic Arts on the PC game Lord of the Rings: Battle for Middle Earth II, as a tools programmer for Image Space Inc on the PC racing game Rfactor, and is currently employed at Rockstar Games working on an unannounced Xbox 360 game.
翻译:
<span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">是坐在狭小的办公空间里,穿着不合身的拘谨的制服,致力于一款已经问世25年了的财务软件,还有一个管着你的上司催你交那些技术问题摘要报……还是喝着小酒,随意地穿着T恤短裤,开发下一款xbox360大作呢?</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">我的故事</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">有很多人想进入电视游戏行业,我也是其中之一。在过去的四年里,我尝试,失败,并最终达成了目标。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">现在,我将与你分享那些在我进入游戏行业的旅途中帮助过我和妨碍过我的事情。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">我刚从密西根州立大学计算机科学系毕业,并辅修了数字媒体与艺术。当我还在学校的时候,我在Image Space Inc. (当时在做《Rfactor》) 和 Electronic Arts (当时在做《BFME2》)实习了一段时间. 现在我是Rockstar Games的全职软件工程师。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">游戏行业适合你吗?</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">你需要问自己的第一件事情是你是否会喜欢游戏开发者的生活方式。很多软件工程师已经习惯于稳定的工作时间,而任何一个想要照顾好家庭的人都不会想过那种有 时需要每周工作6天或晚上9点后才能回家的生活(在这个行业里,加班早已是家常便饭)。游戏工作室在加班费方面比较厚道,而且也不会让员工一周干7天,但 这里的工作时间依然和稳定的朝9晚5完全不同。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">我个人很喜欢这种灵活的工作时间,它让我可以在早上10点多开始工作,在中午花一个小时去健身或者海边散步,只要我能按时完成我的工作并保证每周5天八小时的工作时间。我们公司在工作时间上相对比较灵活。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">办公环境</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">这里的工作环境也非常舒适。可以着装随意,可以在会议上喝啤酒,可以玩游戏,也可以和工作室boss的60级亡灵法师聊天。(译者注:本文发表于06年11月2日,当时wow满级就是60级)</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">游戏程序员工作的另外一个重要方面是多样性的工作内容。其编程范围涵盖了人工智能,图形,网络,工具,游戏可玩性等各个方面。作为一个游戏可玩性程序员, 我真不知该怎么告诉你,相比于一般的软件公司,我的工作有多让人兴奋。那是控制Saramon杀死所有哈比人(hobbits)和反复点击下拉菜单已确认 程序不会崩溃之间的差距。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">那么你应该做什么来实现你进入游戏行业的梦想呢?</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">教育</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">选一所学校。作为一个程序员,最好的选择是在一个传统的的4年制大学里拿一个计算机科学的学位。虽然现在有很多学校冒出来号称将教你“ 如何制作游戏”,但你真的需要一个比较好的稳固的基础和一套正规的计算机科学的课程。另外,要知道现在大部分游戏公司都直接从大学里招募新人,全国各地都 是如此。最后,因为进入游戏行业的竞争很激烈,所以学习用途广泛的一般性理论基础教育比那些只学在游戏行业中才用得到的知识的人更容易受到雇佣。同时,你 要注意所选择的大学里是否有能为你进入游戏行业提供帮助的课程。比如说,我读的大学里有一个提供游戏理论和游戏设计课程的系。虽然我是软件工程系的,我还 是可以在保证不影响专业课的前提下去旁听那些对我有帮助的课程。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">选修课。很多我任职过的工作室都一直在寻找全面的程序员。对于学生来说,这意味着你真的必须花精力在你所有的计算机课程上。即使你对人工智能或计算机图形学程完全没有兴趣,了解它们的基本原理对你成为一个成功的游戏程序员还是非常重要的。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">你在寻找课程方面也应该保持积极。通常,可能会有一门对你很有帮助的课程却不是开在你们专业的。试着求求你的指导教授或院长答应你去听那门课。找一个允许 你在独立研究里拿几个学分的教授,然后选一个和游戏相关而你除此之外在学校里无法接触到的研究方向。比如果,我找到了我们学校远程通信专业的Brian Winn教授,它允许我跟着他做一些3D图形学和游戏引擎编程方面的独立研究。这些独立研究经历强化了我求职时的演示DEMO,扩大了我的技能覆盖面,并 使我的简历与众不同。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">脱颖而出</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">简历。看看你现在的简历。根据你在学校所学的专业,你的简历可能和那些每天和你坐在一个教室的其他成百上千的学生完全一样。而全国又有成千上万的来自其他学校计算机科学系的学生的简历和你们的一样。在我的几次实习中,同事告诉我他们收到数千封求职申请,而每份只花几秒钟扫一眼。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">实习。早点开始找实习。即使不是游戏公司,至少它是一个开始。仔细的找一个和游戏沾点边的公司,或者准备好去其他地区做一次暑假实习。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">做点什么!可以是一个游戏,一个小mod,甚至一个用游戏引擎制作的完整的游戏,把它做到可以玩,然后坚持把它做完。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">做你自己的研究。和教授一起做那些其他人不会有的独立研究。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">把材料放在网上。只在简历里放一条简单的URL。可能它们一眼看上去不是那么引人注目,但当公司真的想看看的你的演示代码或者玩你做的游戏,或者只是看看你的成果的截图时,一个简洁的URL将使事情变得简单而快捷。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">我凭借顽强的毅力得到了第一份游戏公司的实习机会(也可能是我说我不要钱这点吸引了他们)。当时我连做梦都想进入游戏行业,终于在学校的帮助下,我找到当 地的一家公司并成功的实现了梦想。我得到第二份实习机会是因为我用一个免费的C++ 3D游戏引擎自己做了一个FPS游戏出来——而同时我的简历上已经有了一个在游戏公司实习的经验。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">实习</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">让我们深入的讨论一下实习吧。你们中的很多人可能都被游戏行业的一个奇怪的规定为难过:大部分工作岗位要求应聘者参与过几款已上市游戏的开发工作。这一点 对正在寻找实习机会的人恐怕很难做到。这对我来说也是最麻烦的部分。但是当你的简历上已经有了两条在游戏公司的实习经验,人们就很容易对你的简历产生兴 趣。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">一些值得经常光顾的地方有 http://www.gamasutra.com/, http://www.creativeheads.net/, 和http://jobs.ea.com/. EA有着很好的实习安排,这可能是所有游戏公司里最大的实习基地了。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">我曾经尝试过很多策略。首先我会给每个游戏工作室的人力资源部门发我的简历询问是否需要实习,不管他们是否宣称正在招募实习生。我还列了一个游戏开发公司 的清单然后逐一送上我的简历而不管他们是不是正在招人。我这两招我都没有用太多次,但还是给我留下了深刻印象:当我大三再次发简历给些公司时,我得到了更 好的的回复,而且其中的一些公司甚至还保有我去年寄去的简历的备份。所以即使没有收到回复,也不用担心他们是否随手扔掉了你的简历。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">重要的是尽量早点开始找实习,大二也许不错。你需要的只是亲身去做,然后期待在大三或大三暑假时能有所收获。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">如果你可以使你的简历脱颖而出然后找到一份好的实习,那下一步就是面试了。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">面试</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">预面试。我经历过好几次测试,电话面试和网上面试。我真希望我能早点看到John Mongan 和 Noah Suojanen写的《Programming Interviews Exposed》。我在面试生涯的晚期才得到的这本书,它给了我很大的帮助。我强烈建议你入手这本书,因为它涵盖了全部的面试流程细节和大部分你可能被问 及的技术问题。下面我讲一些我亲身经历过的东西。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">几乎我面试过的每家公司的流程都不一样。举几个例子:</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">一开始是人力资源部门不涉及技术问题的电话面试,然后是限时编程测试,接下来是全天的在线编程考试。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">一开始是不现实编程测试,然后是半天的在线面试。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">一开始是人力资源部门不涉及技术问题的电话面试,然后是涉及技术问题的电话面试,接下来是另一个涉及技术问题的电话面试。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">编一个简单的比如国际象棋的程序,或者一些算法。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;"> </span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">这些面试真的很耗费精力,尤其当好几家公司同时要求你在规定时间内完成编程测试的时候。它们中有些极其冗长而且充满细节需要花好多天才能完成,而且包括了所有的方面:AI,数学,物理学和编程。有些测试要求你不许寻求外界帮助,而另一些允许你使用书本和网络。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">在大学里最好找机会早点做这些测试,这样你就可以对游戏公司需要什么技术和知识有一个大概的了解。尽管我做的几乎所有的编程题目都不一样,他们之中还是明显存在一些联系的。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">在线面试。还是要说,《Programming Interviews Exposed》对如何面对在线面试也提出了非常有价值的建议。我给出的关于电话面试和在线面试的具体意见是“充满热情”和“提前了解一下你应聘的公司 ”。在在线面试之前,练习一下他们打算考你的编程语言。了解你所应聘的岗位。举例来说,如果是一家游戏主机开发公司而他们主要使用C语言,那你就要准备回 答链表,内存管理之类底层的问题。如果你应聘的是游戏开发工具程序员,那你就要准备回答STL,MFC和C++方面的问题。务必要把事情问清楚。通常人力 资源部的人什么也不知道,他们无法给你有价值的信息。举例来说,我曾经参加过EA奥兰多的在线面试,当我询问更多关于面试的技术信息时,他们没告诉我全部 测试都要求使用C语言。因为我当时只用过C++而对C语言知之甚少,那次测试进行的不怎么顺利。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">如何拼命的坚持下去</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">即使你没有得到这份工作,也可以把它看作是使自己更接近目标的一次尝试。如果一家公司在编程测试后拒绝了你,不要害怕,去要一份具体的反馈,这样你就能了解自己的缺点并加以改正。通常在你刚进入计算机科学系的时候,你应该致力于把程序写出来,而不是把程序写的优雅。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">我要推荐的另一本书是Scott Meyers的《Effective C++》,它对于提高你的代码质量很有帮助。不遵循这本书中所提到的如“尽可能的使用常量”、“传常量引用”、“声明类成员时设访问属性为 private”之类的基本规则的话,将足以确定你的代码是不合格的。真正花大量时间在你将提交的每一行代码上,并设法确保你的代码不仅是能运行的,而且 是高质量并高效的使用内存的。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">游戏产业正在稳步成长。游戏公司也在雇佣更多的应届生。EA的整个人力资源部们都专注于招募应届毕业生。大学生进入游戏行业正变得越来越容易。我能给你的 最重要的忠告就是不断尝试。我在寻找第一份工作时曾被拒绝过好几次。这对你来说可能并不容易,但如果你真的对以开发游戏为生充满激情,那你的梦想就一定可 以实现。</span><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(113, 113, 113); font-family: Arial, Verdana, sans-serif; font-size: 13px; line-height: 22px;">Steven Messinger, 毕业于密西根州立大学计算机科学系,辅修数字媒体与艺术。他在EA的电脑游戏《指环王:中土大战 II》中担任游戏可玩性工程师。在Image Space Inc的电脑竞速游戏《Rfactor》中担任游戏开发工具程序员,现在在Rockstar Games 开发一款尚未公布的Xbox360游戏</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: