2.1 职位选择
谈起软件行业的职位,大家自然就会想到软件开发工程师,其实硅谷的职位远不止这个。只要我们在招聘网站搜索公司名字,就可以看到大量的不同性质的职位。与开发相关的有研发工程师、测试工程师、运维工程师、产品经理、前端工程师、数据科学家、架构师、基础框架工程师、用户体验工程师,等等。本书会重点介绍大量招聘外国人的职位,如研发工程师、测试工程师、产品经理和数据科学家。
研发工程师(SDE)
这是最普通的职位,也是需求量最大的职位。这需要你精通一门面向对象语言,比如Java或C++,最好还能掌握一门脚本语言,比如Python或Shell,加上若干个项目经验,此时你就能胜任初级的软件开发工程师的工作。一般来说,研发工程师更具有自由度和自主性,比如能够设计新产品特性、提交并修复BUG等,但晋升竞争激烈,因为每个团队都有大量的研发工程师,想脱颖而出并非易事。
测试工程师(QA)
在有些公司,比如微软,测试工程师又称为SDET,即测试开发工程师。这是很多人会忽视的职位,也有很多人会误解,认为这种职位没什么技术含量。其实在一些公司里,测试工程师编写代码的量不会小于研发工程师。测试工程师与研发工程师相比,缺少自由度,通常他们的工作与项目捆绑在一起。但是,由于测试工程师进入门槛较低,并且晋升快,所以适合做事细腻的女性工程师。
产品经理(PM)
如果你的英文较好,而且在产品方面有敏锐的洞察力,那么产品经理也会是一种很好的选择。产品经理是市场和开发之间的桥梁,通常需要把客户和用户需求转化为产品文档,并兼顾产品的营运。产品经理在上班时候不是在开会,就是在去开会的路上,因为他们需要和开发、测试、用户体验等团队协调,甚至和客户见面。产品经理并非都是科班出身,他们来自各行各业。在不少IT公司里,公司CEO就是最大的产品经理。
数据科学家(Data Scientist)
伴随着大数据的出现,对这个职位的需求量也越来越大,目前成为硅谷最热门的职位之一,薪水相比研发工程师只多不少。数据科学家就是采用科学方法,运用数据挖掘工具寻找新的数据洞察的工程师,通常需要有大数据处理、机器学习和数据分析的经验。它的准入门槛较高,但如果你拥有计算机博士或者统计学博士学位,则可以试一试。