Great software engineers are hard to find, let alone hire and keep.
优秀的软件工程师很难找,更不要说聘用和留住他们了。
Which is why more people than ever are trying to become one. The average annual salary for Google (GOOG) software engineers, for instance, now hovers1 around $145, 000 and skyrockets to as much as $550, 000, according to job site Glassdoor.
难怪越来越多的人拼了命想成为软件工程师。招聘网站Glassdoor的数据显示,谷歌(Google)软件工程师的平均年薪保持在145,000美元上下,但也有550,000美元的天价。
But training to be a software engineer and snagging a high-profile, high-paying position afterwards isn't simple or easy, even for some computer science grads from top-tier schools. Zach Sims, co-founder of the education startup Codeacademy, and Matt Mickiewicz, co-founder of tech job recruiting site Hired.com, offer several do's and don'ts for landing a plum role in Silicon2 Valley.
但经过培训成为软件工程师、拿下知名高薪职位,就算对一些名校计算机科学专业的毕业生来说也绝对不是一件容易的事。教育初创公司Codeacademy的联合创始人扎克•西姆斯和科技业招聘网站Hired.com的联合创始人马特•密茨凯维奇就如何在硅谷获得高薪工作提出了几点建议。
Don't: Just take courses.
不要只学习课程。
Build something, like a website or an iPhone app. "If you're just taking a class, it becomes much more about fulfilling the requirements for a class, but if it's about what you want to build, you're constantly being reinforced by seeing the actual manifestations3 of what you're learning, " says Sims. Plus, many potential employers will want to see a portfolio4 of real-world work demonstrating what you can really do.
动手做点什么,比方说一个网站或iPhone应用程序。西姆斯说:“如果只上课,更多地是满足课程要求。但如果是你想做点什么,你就会不断地应用学到的东西,得到成长。”而且,很多潜在雇主也希望能看到一些现实的作品,了解你真正能做些什么。
Do: Study data structures and algorithms.
要学习数据结构和算法。
Both are computer science fundamentals, and both make up a large part of the interview process with companies, explains Mickiewicz. It's possible for people to build some applications and write a lot of code without having a deep understanding of data structures and algorithms -- and some do -- but that lack of basic understanding is something potential employers will suss out quickly.
密茨凯维奇解释说,两者都是计算机科学的基础,在公司面试中占比很大。有些人可能会编应用程序,写很多代码,但对数据结构和算法没有深入的理解。潜在雇主很快就会发现基础理解的缺失。
Don't: Do it just because.
不要有理由才做。
Understand what you're getting yourself into, and make sure it's for the right reasons. "You can kind of dip your toes in and figure out whether this is something you're really interested in before committing whole-hog, " says Sims. He also points out that it's unrealistic to assume you'll get a job at a top company that pays $120, 000 a year. "Not everyone works at Google. Not everyone works at a startup."
搞清楚你要做的是什么,确保有合理的原因。“可以尝试一下,搞明白这些是不是你真正感兴趣的,之后再全身心投入,”西姆斯说。他还指出,想当然地以为未来能够获得一线公司年薪120,000美元的工作机会也是不现实的。“不是每个人都在谷歌工作。也不是每个人都在初创公司工作。”
Also, don't: Think you can fly solo.
不要以为自己可以唱独角戏。
Contrary to popular belief, coding isn't always a solo activity conducted from one's college dorm room. (Though of course, it can be.) More often, it's a collaborative process with others, who may for instance, help you figure out what to learn, troubleshoot your code or build on top of it.
与普遍观点相反,编写代码不总是大学宿舍里的单打独斗。(当然,可以是这样。)更为常见的情况是,这是一项与其他人协作的过程。别人可以帮助你指出该学什么,找出你代码中的错误,还可以根据你的代码继续推进。
But do: Form habits.
要养成习惯。
"We see a lot of learners say, 'I'll do 15 minutes a day, ' sticking to that and actually doing it, " explains Sims. Indeed, this piecemeal5 approach is more realistic than swearing you'll learn how to build a website in two weeks. To borrow the old adage6: It's a marathon, folks, not a sprint7.
“我看到很多学员说,我会每天学15分钟,”坚持做下去,”西姆斯解释说。实际上,这种看似零散的方式比发誓你将在两周内学习如何建一个网站更加现实。借用一句古谚:这是一场马拉松,不是百米冲刺。
1 hovers [ˈhɔvəz] 第7级 | |
鸟( hover的第三人称单数 ); 靠近(某事物); (人)徘徊; 犹豫 | |
参考例句: |
|
|
2 silicon [ˈsɪlɪkən] 第7级 | |
n.硅(旧名矽) | |
参考例句: |
|
|
3 manifestations [] 第9级 | |
n.表示,显示(manifestation的复数形式) | |
参考例句: |
|
|
4 portfolio [pɔ:tˈfəʊliəʊ] 第9级 | |
n.公事包;文件夹;大臣及部长职位 | |
参考例句: |
|
|
5 piecemeal [ˈpi:smi:l] 第12级 | |
adj.零碎的;n.片,块;adv.逐渐地;v.弄成碎块 | |
参考例句: |
|
|