马克谈天下(303) IT换工作的经历分享
如果你周围有朋友在IT行业,最近一年有过跳槽的经历,大概率是,她或是他会感觉非常好,我说的不是好,而是非常好。
征得朋友同意,今天分享今年三月份他换工作的经历,所有公司的名称只用一个字母代表,大家可以自己脑补,但是在分享这个之前,我先把一个HIRED的报告翻译给大家看一看,
Hired 提供了一个独特的人工智能驱动平台,将技术和销售人才与顶级公司相匹配。 为了阐明这一工作类别,该平台发布了其年度报告《2022 年软件工程师状况》。
该报告发现,拥有超过 1,001 名员工的企业通常面临着与初创公司(1-300 名员工)竞争的压力,这些公司的资金和增长水平达到了前所未有的水平。较小的公司正在迅速赶上有吸引力的薪酬和福利,以吸引和雇用顶尖人才,初创公司的薪酬与 2021 年软件工程师平均年薪 155,000 美元的企业持平。还有,这些数字不包括股票和其它的优惠选项。
以下是研究的一些重点
● 编码语言Go 是最高需要的技能:随着技能成为这个全球就业市场的新货币,Go 成为软件工程师最需要的技能,其次是编码语言Ruby on Rails 和Scala。精通 Go、Ruby on Rails 和 Scala 的工程师在 Hired 上的面试请求是市场平均水平的近 2 倍。
● 安全工程师的薪水最高:与 2020 年相比,安全工程师的薪水增幅最高,在所有软件工程职位中平均薪水最高(165,505 美元/年)。
● 全栈工程师的需求最高:与 Hired 平台上的其他软件工程职位相比,具有全栈专业知识的工程师收到的面试请求增幅最大。
● 全球远程软件工程工资增长:2021 年所有市场的远程工资都有所增长。最显着的增长是多伦多、洛杉矶、奥斯汀和丹佛等市场的候选人,平均远程工资的工资增长在 7-14% 之间同比 (YOY)。
● 公司正在从较小的市场招聘更多的远程软件工程师:对远程工作持开放态度的软件工程师总体收到的面试请求比不接受远程工作的应聘者多 20%。虽然旧金山湾区继续提供所有地区平均工资最高的 168,000 美元/年,但包括奥斯汀、西雅图和芝加哥在内的较小市场去年的工资增长高于传统科技中心——加强了向招聘的转变偏远地区的人才。
● 软件工程师继续接受非传统教育和技能提升:通过非传统途径(例如训练营和自主学习)获得技能的软件工程师数量在过去两年中稳步增加。虽然 46% 的软件工程师拥有计算机科学学位,但 24% 是自学成才的,另有 11% 是通过训练营程序学习如何编程的。
● 软件工程师在他们的职业生涯中最有动力的是迎接新挑战和不断学习的机会;构建产品和解决问题;和收入潜力:工程师最想用他们的编码技能解决的三大紧迫问题是公共卫生、教育机会和未来几年的工作未来。
● 公司必须优先考虑公司文化和灵活性以招聘顶尖软件工程人才:在对理想工作环境的最关键要素进行调查时,软件工程师将其评为“优秀的经理”、“工作时间的灵活性”和“与他们相处融洽的同事”可以学习”作为最重要的分类。
好了,先简单介绍一下朋友的背景,那真的是和名校无缘,和学霸无关,他是千禧年后从中国一个211大学中几乎最后几名,一个穷乡僻壤的大学毕业,而且学习的是食品工业,用他自己的话说,就是他全部的电脑技能在大学毕业后就仅限于电脑游戏。但是机缘巧合,2008年他来到了美国,而且完全没有考过GRE,TOFEL,估计你也猜到了,是的,小哥是H4(就是小哥的太太来美国读书后拿到H1),但是小哥也不是那种吃软饭的,他一边到餐馆打工,一边到大学读夜校(其实就是职业培训班),当然以他的基础,学习编程还是比较吃力的,但是他有个很大的优点,就是知识面广,为人随和,他及时抓住了两个机遇,一个是美国IT行业对于东南亚国家的outsourcing,一个是美国IT行业对于AGILE / SCRUM的重视,他曲线救国,从PM(Project Manager)的角度切入到IT行业。那有个问题就是,小哥的英文是不是很好,毕竟作PM还是需要和很多人打交道的,但是有个IT界不太让外行注意的现象是,很多的PM其实都是新移民,当然印度人居多,而小哥的第一家公司正好是一个以小项目为主,外包给越南的小IT公司,这样就完美的避开了编程能力缺乏,英文有口音等几个缺陷。
随后的几年,小哥以平均三年换一家公司的速度,换了两次工作,但是作为PM,一直都感到和小组中的高级程序员工资收入的差距,好在小哥是个很有眼光的人,他敏锐的观察到CLOUD的趋势,从2016年开始,通过公司的培训系统,先后拿到了Amazon和Azure的证书,而小哥在几次权衡利害之后,也放弃了彻底转为程序员的想法,2019年他转型去做了DEVOP,随后的几年,又陆续考了security相关的证书,还把前台的技术Angular,React,和很流行的后台技术Spring Boot都统统学习了一遍,等待机会。
今年二月下旬,小哥因为到DICE网站上更新了自己的简历(其实是因为最近拿到了一个新的证书),突然发现自己的EMAIL里面涌入了大量的猎头的EMAIL,其中多数是印度人的名字,但是工作机会五花八门,从小的Startup,到拿到C轮的准上市公司,再到千人规模的中型公司,包括世界500强企业,美国政府部门,各种IT相关的工作,可以说是应有尽有,而且不少猎头非常直接,给出的工资待遇都超过了小哥现在的待遇不少,这让小哥有些蠢蠢欲动。
通过筛选,小哥试探性的约了几个面试,包括一个Startup公司,一个大银行,还有一个保险公司。据他说,第一轮面试,Startup公司的面试超难,给他一个两个小时的线上考试,然后又是一番智力测试,考得他晕头转向。后面的大银行面试却是完全相反,技术方面的问题就有不到30分钟,其它一个多小时都是和四个不同的人聊天,包括回答一些公司文化的问题,个人喜好的问题等等,反正就是除了不太考技术,其它的都问了。最后一个是医疗保险公司,第一轮的面试中规中矩,一个小时的技术问答,一个小时的其它面试。
然后,就是第二轮面试了,当然,Startup公司就没有第二轮了,因为小哥的考试估计不太好,小哥也就是当作是练习,无所谓被淘汰。大银行的第二轮面试,小哥其实是有些忐忑的,主要是因为不知道会有什么难题,他还特意推迟了一周时间,其间,小哥又做了两个面试,据小哥说,如果他愿意,几乎可以每天都面试,但是面试不光是个智力活,也是一个体力活,还要偶尔受到一些自视甚高的人的BULLY, 所以他对于面试也是很挑剔的,这也让猎头们非常抓狂。两个面试,一个是传统的retailer,一个是一个州的部门项目,他说都还不错,就是retailer用到的Kafka他不太熟悉,政府部门的项目,好像PAY RATE又不够高,都算是练习了。
结果是保险公司的第二轮面试先来,出乎意料的是,第二轮完全没有什么技术问题,大多数都是domain knowledge,因为他以前在一家小的相关公司工作过,这方面都对答如流,还有就是和管理大团队的manager聊天,主要就算是behavior测试,还有和teamwork有关的一些问题,不过谈话间,也暗示了他项目很紧急,可能要加班等等。
在大银行第二轮面试的前一天,他收到了州政府项目的offer,当然是受雇于一个中型规模的consulting公司,PAY RATE很一般,小哥没有当场拒绝,只是说要考虑一下。
大银行第二轮面试,最后也比预想的要容易,感觉和第一轮的模式相似,不过是不同的技术面试,外加一些公司文化,处理冲突等等问题,因为有了一些最近面试的经验,他回答得都很从容,最后半个小时是和部门得经理面试,气氛非常融洽,重点在于小哥被要求每周到公司办公室两天。
随后的几天,还是每天都被猎头的EMAIL和电话狂轰滥炸,每天都有超过10个的面试请求,小哥因为不急着跳槽,就再筛选出三家面试一下,算是体验市场节奏。
这次遇到一个“硬头”,一个中型规模的服务公司,特别安排了三个小时的面试,前面一个小时线上面谈,算是暖身,然后的两个小时是HACKERRANK的线上测试,小哥因为在公司请假了半天,安排了两个面试,对于这个考试比较不太重视,最后结果是78分,被告知没有达到80分的面试及格线,但是因为很接近,还是邀请他做第二轮面试(后来没有去做第二轮面试)。
当天下午的第二场面试是一个大型汽车公司,阴差阳错,对方急缺做后台的工程师,居然让他做Spring Boot的模拟项目,小哥只好硬着头皮去试一下,这次是PEER CODING,要求是用TDD模式做模拟项目,模拟一个ATM机器,做面试的小伙子是个南美PERU人,很善谈,一边和他做coding,一边简单的聊天,因为小哥的CODING属于自学成才,所以很是费劲,小伙子几乎是完成了大部分code,只是要小哥讲一下概念,看看是不是理解BDD,TDD等。小哥最后只好说自己是做CLOUD为主,coding比较少,算是解释了一下为什么写code那么费劲。
过完周末,好消息陆续传来,首先是保险公司的offer到了,猎头还特别感谢了小哥的及时配合,过了一天,大银行的offer也到了,HR特别催促着让小哥上网填写表格,做DRUG TEST,同一天,大型汽车公司的第二轮面试也安排了,猎头特别打电话告诉小哥,说是第二轮基本上就是和manager聊天,基本上不出大错,offer就会确定的。果然,第二天,完成了第二轮面试,两个部门的经理都各有半个小时的面谈,客客气气,主要是对于小哥的CLOUD和SECURITY的经验很感兴趣,说是不用他做coding,还是继续做DEVOP和SECURITY相关的工作。
眼见四个offer就要到手了,小哥开始回绝了其它的面试要求,准备做一下选择。
第一个,州政府项目的offer,工作是中型规模的consulting公司,项目挑战不大,肯定不会加班,完全的remote work,时差一个小时,PAY RATE很一般,没有吸引力,pass。
第二个,保险公司的offer,项目是很前缘的技术,挑战比较大,貌似要加班,可以remote work,时差一个小时,PAY RATE中等偏上,可以考虑
第三个,大银行的offer,项目比较平淡,没有太多挑战,工作要求中规中矩,肯定不会加班(面试中反复提到过这种好的文化LOL),缺点是每周要去公司两次,没有时差,PAY RATE中等偏上,可以考虑
第四个,大汽车公司的offer,工作不会有太多的难度,老本行,偶尔会有after hour加班,可以remote work,没有时差,PAY RATE中等,不太考虑(因为重复性太大,没有新意)
最后在保险公司和大银行之间做一个取舍,大银行估计比较容易入手,但是要每周去公司两次,每次都需要commute几乎四个小时,这个看着比较头疼,保险公司入门比较难一些,技术上有难度,需要花很多时间学习,加班也是一个减分项,而且有一个小时时差(不算大问题),两个都不错,但是都不完美(完美的工作是没有的吧)。
在小哥犹豫的时候,除了给第一家公司发了拒绝offer的EMAIL,后面三家公司都继续跟进。大汽车公司的猎头非常积极,第二天就提出可以在原来的PAY RATE基础上上调一点,大银行的猎头最激进,直接问小哥,哪个部分不满意,如果是不想去ONSITE,可以提出来,如果是PAY RATE,没有问题,一口气可以提高10%,还是保险公司的猎头比较慢一点,只是问了要不要去做DRUG TEST(正式offer前都需要做的)。
小哥那个时候是左右为难,还特别打电话和我聊,看看如何抉择。
我的理解是,工作选择应该有几个方面,一个是个人发展的潜力,一个个人能力的匹配,还有就是如何兼顾家庭模式,当然还有净收入(就是税后收入,去除工作相关的开销),以及自己喜欢的公司文化等等。综合下来,大银行可以有发展潜力,能力完全匹配,但是兼顾家庭差一点,净收入最高,公司文化貌似不错(没有什么狼性,但是也不慵懒),最大的缺点是每周两次COMMUTE。保险公司也有不错的发展潜力,项目很前缘,能力需要受到考验,兼顾家庭没有问题,净收入也不错,公司文化属于有点狼性,但是不压榨的那种。
一周后,我去问小哥他最后的选择,他说他很艰难的推掉了大银行的OFFER,那个项目的manager还特别打电话想要劝他回心转意,不过他还是婉言谢绝了。最后选择的是保险公司,我恭喜他的同时也问了他一句,为什么要选择一个更难的项目,和面对可能不熟悉的技术,他的回答是,因为项目很前缘,也是保险公司很重视的项目,只要自己熬过了前期的学习过渡期,后面肯定可以有很多的机会做coding,这样就从DEVOP,终于跨入了coding的行列,看来他还是对coding恋恋不忘,现在终有回响。
小哥三月下旬入职保险公司,又有差不多两个月过去了,期间一直没有和我联系,直到这个周末,几个朋友小聚才见到他,和我们分享了他的近况,他说自己的新工作非常充实,每天都是白天开会,讨论,学习,晚上学习工作到11点多,周末都加班工作才勉强赶得上进度,但是项目现在告一段落,两个月加班的日子终于要结束了,他才发现自己原来是可以那么拼,以前可能是懒散惯了,没有看到自己被压榨的潜力。
小哥没有美国的完整学历,但是他从H4出发,从IT职业培训开始,从最适合的方向切入IT行业,然后不断寻找合适自己的机会,一路积累经验,最后终于进入了他理想的工作状态,作为他的朋友,我给他最真挚的祝福。