Answer by Elynn Lee, interned at Google in New York City Summer 2013 and 2014; Amazon in Seattle Summer 2012; Facebook in Palo Alto Summer 2011
埃琳·李的回答。她的实习经历包括:2013和2014年暑假,纽约,谷歌(Google);2012年,西雅图,亚马逊(Amazon);2011年,帕洛阿尔托,Facebook
Here are some things I’ve learned from my internships that I find to be handy. Some of them have to do with programming, but some things you can’t necessarily prepare for in advance.
以下介绍我在实习中总结的几个经验。其中部分与程序设计有关,但有些是你事先不一定能准备好的。
Be ready to work in a team
为团队协作做准备
This one sounds easy, but it might not be for some people. If you’ve done any pair programming, you might have a leg up on this. If you haven’t (or don’t have the opportunity to), pay special attention to the team dynamic when working on group projects. Being able to work with people (from different backgrounds and walks of life) is very important!
这听起来容易,但对有些人来说可能并非如此。如果你曾进行过双人编程,你可能占有一定的优势。但是,如果你没有这种经历(或没有双人编程的机会),参与团队项目时,要特别注意团队动态。能够与来自不同背景和行业的团队成员共事,是非常重要的!
Get used to thinking about complexity (both space and time) and scalability
习惯考虑时空的复杂性和可扩展性
This was a big change for me coming from my school work, where correct can still get you a pretty high grade even if it’s not the fastest solution. When doing your projects next semester, start thinking about how well will these data structures or algorithms scale and what are some alternatives (and what are the trade-offs?). That solution might be the most intuitive, but how much extra space does it take up? How fast/slow is it? It’ll get you thinking about different kinds of problems and show that you’re thinking about more than what’s the “correct” answer.
对于刚刚放下课堂作业的我来说,这是一个巨大改变——做作业时,只要做对了就能得高分,哪怕它并不是最快的解决方案。下学期学习时,你要开始思考这些数据结构或算法究竟有多合适,有哪些替代方案(需要做哪些取舍?)。某个解决方案或许是最直观的,但是它额外占用的空间有多大?它的速度如何?这种思维方式会让你思考各种问题,说明你开始考虑超越“正确”答案之外的其他方面。
Figure out how you are most productive
弄明白如何实现最高效率
For instance, learn to work for extended periods at a time. This was hard for me at my first internship. I definitely used to get distracted really easily. So, in the semester before your internship, consider finding out how you best focus. Do you need headphones? Do you work best when you’re whiteboarding or writing things down or drawing pictures? At both of my internships, there were options to work in different rooms or quiet rooms by yourself (one of them even let you work outdoors). For me, I have to have headphones and, if I’m in the middle of something, I turn off my company chat. I also silence my phone during work hours (because I’m really bad at ignoring notifications) and take walks outdoors (weather permitting) every 2 hours or so. Find out how you are most productive! Figure out how you focus.
例如,你要学着一次工作更长的时间。我第一次实习时很难做到这一点。当时,我很容易分心。所以,在实习前的那个学期,你要试着找到集中精力的方法。你需要戴耳机吗?你在白板上书写、记录或画图时能表现出最佳状态吗?在我的两次实习经历中,我要选择在不同房间或独自在安静的房间工作(其中一次实习甚至要求在室外工作)。对我而言,我仍需要佩戴耳机,如果我正在从事某项工作,我还会关闭公司聊天室。此外,在工作时间,我会把手机调成静音(因为我的确不善于忽视手机上的通知信息),而且如果天气条件允许,每2小时左右我会到室外散步。你要找到实现最高效率和集中精力的方法。
Be prepared to work hard (and often long)
准备好努力工作(和经常加班)
This is more of a mental preparation. I know a lot of people who are very efficient and can get all of their work done from 9 to 5 and still get return offers or do very well in their internships. Depending on the company, you might not have a 9 to 5 work day, and if you’re not willing to work past 5pm, it can take a toll on your work. At one of my internships, it always seemed like I always left at the same time regardless of how much work I actually got done (needless to say, I didn’t feel like I did well).
这一点更需要有心理准备。我知道,许多人工作效率很高,能在上午9点至下午5点期间完成所有工作,并获得工作机会,或在实习时表现优异。根据实习单位的安排,你的工作时间可能不是朝九晚五,而且如果你不愿加班,这就会给你的工作带来不良影响。在我的一次实习经历中,不管我实际完成了多少工作,我总是在同一时间下班(不必说,我感觉自己做得并不好)。
Closer to the internship, start getting into a good sleep routine
People who know me will think this sound really strange coming from me, but it’s definitely something I started to do (especially during my last internship). You don’t necessarily need to be in the office at 7 am, but you will find that a good number of teams have general times when most people come into the office. For my team, our scrums were at 10, so most people got in around 9:30 or 9 at the earliest (unless they were really busy). Additionally, even though a lot of people leave at 5pm or some “unspoken” agreed on time, you may leave the office later on some days or have events at night. Thus, it meant that me trying to go to sleep at 4 am every night and then staying until like 6:30pm or so wasn’t really working after a couple of weeks (I did end up completely oversleeping and getting into the office at like 1:30pm). So, even if your sleep routine is sleeping at 2 and waking up at 9 or 10, that’s better than what I was trying to do!
实习日期临近时,要开始养成良好的睡眠习惯
Do some research on the city
认识我的人会觉得,我说出这样的话着实奇怪,但这的确是我开始尝试的事情(特别是在我最后一次实习期间)。你没必要在早上7点就到办公室。但是你会发现,对于许多团队来说,他们都有大致的到岗时间,在这个时间段,大部分团队成员都会到达办公室。我所在的团队通常上午10点开会,所以大多数人9点半左右到办公室,有些人最早9点到场(除非他们特别忙)。另外,即使许多人下午5点或在其他“默契”的约定时间下班,你可能需要加班或在晚上参加活动。对我而言,尝试每天凌晨4点上床睡觉,并坚持到下午6:30左右下班,几周后,这种作息时间就再也无法坚持了(最后我完全睡过头,下午1:30左右才到办公室)。所以,即使你习惯凌晨2点睡觉,上午9点或10点起床,这仍然好于我的经历!
Slightly less technical, but if you’re moving to a different city, look at what are some cool things to do ahead of time! The worst feeling is coming to the end of the internship and realizing you don’t have time to do the 30 million things you heard about from your coworkers or other interns. While you are there to work, you’ve always got weekends to explore. Internships help build your resume and your experience as an engineer in the real world, but they’re also an opportunity to explore a new city (or explore different parts of the city you live in if you’re staying closer to home).
研究一下实习工作所在的城市
Be ready to learn!
这一点没有多少技术性,但是如果你去不同的城市实习,建议你提前研究一下可以做哪些不错的事情!如果到实习结束时,你发现自己没有时间做同事或其他实习生介绍的很多事情,这是最糟糕的感觉。虽然你去那儿是为了工作,但是你仍然有周末可以利用。诚然,实习使你作为工程师的简历和经历更加丰富,但同时,实习也是一次探索新城市,或所居住城市的其他地区(如果你的居住地邻近实习单位的话)的机会。
So by now you might be wondering why none of these answers really have to do with “study this code related subject” or “review these algorithms.” To me, I felt like I learned so much on the job that I wouldn’t have been able to learn purely from a class. The only real thing I wish I had looked up before (though, I could have just as easily done it in California and was lazy) was to look at PHP more, because I was doing work in PHP that summer. But for my second internship, it was mostly in C++ and was Android related, but I didn’t do any review and felt right at home. Companies usually have an exceptional network of people that you can draw knowledge from; especially your mentor and team! As long as you are open-minded and have a willingness to learn, you’ll be fine!
随时学习!
This is what immediately came to mind, but I’ll add more if I think of more things. Hope this helps.
到现在为止,你可能会想,为什么这些答案都与“学习代码相关课程”或“复习算法”无关。对我个人而言,我在工作中学到了很多无法从课堂上学到的东西。有一次暑期实习,我从事的是服务器编程语言(PHP)工作,如果我能提前复习PHP就好了(我本来可以轻松而从容地在加利福尼亚完成)。这是我唯一希望能提前涉及的内容。第二次实习主要是跟C++语言和安卓操作系统(Android)相关的工作,我没做太多复习,但我并不感觉陌生。实习单位通常有许多优秀的员工,你可以从他们身上学到很多东西,特别是你的导师和团队!只要你思想开明,愿意学习,你就完全可以搞定实习工作!