40岁码农自述:移加6年后 我又跳槽到美国微软(组图)

大伟探秘加拿大 0

大家好,我是老金,今年40,两个娃的爸爸,6年前来到加拿大,安家温哥华,标准码农一枚,在朋友的鼓励之下,在对美国IT就业市场进行了研究后,经过几个月的刷题、投简历和面试,今年年初终于成功拿到西雅图微软的offer,继续我的程序员职业生涯。


移民缘起

跟国内的家人和朋友聊天,发现有些人不太理解我为什么在这么大年龄还在折腾呢?有什么意义呢?在国内35岁的程序员就已经被淘汰,不在很多公司招聘范围内了。

我是一个没背景、低欲望、没啥野心、喜欢技术的普通程序员,说实话,有的时候我心里也有些疑惑,这样的“折腾”是否真的合适,但回顾过去这些年的职业生涯,总觉得有一只看不见的手,在牵引着我,不知不觉的走到现在。

这个手其实很简单,就是作为一个普通工程师,追求幸福的渴望。

移民前我就职于上海一家知名通讯公司,在冲击国际市场的大潮中,我有幸借着工作机会游历了亚洲、欧洲等十几个国家,很吃惊的发现,其实在国外,普普通通的工程师,凭着一技之长深耕自己喜欢的领域,照样可以有富裕、幸福的生活。

在中国官本位盛行的情况下,德国的工程师们有权利集体炒掉自己的manager;一名资深的国际通讯ITU专家仅仅研究时钟,30年可以做到全球顶尖;德国本地的同事60多岁了,还很享受工作状态,闲暇之余还在网上更新自己的简历,跟我说I need to think about my future, I don’t want my brain shrink。

回上海后,看着日渐拥挤的地铁里充满了后浪们渴望成功的眼神,职场上的停滞不前,回到家里照顾着一到冬天就因为空气污染不停咳嗽的女儿,朋友聚会时听着大家讨论着孩子惨烈的升学竞赛,压力和焦虑感让我意识到中年的危机已经向我袭来。

这时远在加拿大的前同事告诉我了一个好消息,加拿大技术移民已经重新开启,我因为专业对口、工作经验匹配以及因为经常出国锻炼出来的英语,让我顺利申请到了移民名额,14年全家登陆温哥华。


加拿大的IT工作

来温哥华之前最担心的,莫过于如何在陌生的国度生存下来。移民后找工作的经历并不很顺利,因为我没有本地工作经验,加上英语交流并不是很流利,让我跟很多机会都失之交臂。但温哥华软件工程师的需求还是比较大的,在20多次电话面试、5-6次Site Interview后,我成功拿到了第一个offer,按照朋友的话讲,一步迈入了中产阶级。

第一份工作的薪水一般,年薪6万加元折合人民币30万左右,现在北上广的很多公司也能给出这样的薪水,但这份工作对我的意义还是很重大的,北美职场的第一脚顺利踢出去了。之后又陆续换了2份工作,薪水也逐级上升到Senior的10万加元水平。

更重要的是我有了更加广泛的选择,为了更好照顾家庭,我在加拿大的最后一份工作地点并没有选择薪水更高的Downtown,而是选在了离家开车仅5分钟的本土公司。公司是兄弟两个创建的,他们自小在美国北卡罗莱纳长大,之后随着父母叶落归根回到温哥华,借助温哥华颇具性价比的人力资源创建了这个公司,为美国各大公司提供实时通讯解决方案。现在还是非常怀念在这个公司的时光,从上到下强调家庭第一,上下班时间自己掌握。我经常3点不到就跟大家打个招呼去接娃放学,要是没什么急事就直接带娃去游泳、滑冰各种课外活动,有活就随便找个地方打开电脑就地解决;经常组织去动物园、家庭烧烤、PNE公园、圣诞早餐等可以带娃一起参与的团建活动,哄得孩子们比大人都开心。

温哥华虽然是全球前10最适宜人类生活的城市,但房价和生活成本也是逐年增长;孩子们在新大陆渐渐长大,各方面的成长都给我们带来了不同程度的惊喜,比如孩子们师从国内移民来的著名小提琴家,孩子们的迅速进步再次唤醒了我们追求卓越的渴望,同时也也会让我们体会到成长带来的压力和挑战。全家入籍后,我不由得再次问自己,是继续在温哥华粗茶淡饭享平安,还是想带着孩子一起旅行,去探知更广阔的世界?

我选择后者,并不是因为我有野心,而是我有信心去追求更精彩的生活。加拿大公民的身份已经给我们全家上了终身保险,免费医疗、高性价比的教育、完善的养老制度让我们彻底的无后顾之忧,为什么不趁着年富力强,南下驱车10分钟,到美国去闯闯呢?如果不顺利,随时回加拿大生活,不是也很好么?

但考虑到毕竟我已年近40,我还是谨慎的给湾区的一个朋友打电话咨询。朋友长我10岁,3年前跳槽到硅谷,现在已经全家安顿有了稳定的生活。他有些奇怪我的犹豫,告诉我相对于加拿大,美国的机会还是太多了,你正是当打之年,来吧。


准备应聘美国

从此我下定了去美国找工作的决心。但在美国找工作的第一道坎,就是各个大厂招聘流行的算法面试,而且难度逐年有所提高;解决方案也很简单,就是刷题。注册了Leetcode账号后,我就开始了5个月的刷题。

刚开始刷题时感觉还是很痛苦的,本科学的数据结构和算法已经扔了10多年了,再捡回来看已经很陌生;Leetcode随便一道Easy的题我都能做个2-3个小时还有bug,充满了挫败感。不由得感慨,我就好比是一个车开了10多年的老司机,突然让我去开F1赛车去参加比赛,感觉10多年的车貌似都白开了。

感觉这样不行,网上看了很多刷题的建议、策略和各种刷题视频,发现还是我的方法问题。这里还是很感谢Cspiration的创始人Edward,他的经历让我很受鼓舞,并按照他推荐的刷题归纳列表刷题,没必要把Leetcode1000多道题都刷了,只要集中按照类别刷好基本的200多道题,普通的面试就都不成问题。

刷题这几个月还是很辛苦的,我谢绝了所有朋友交际和应酬,白天上班、带孩子,吃完晚饭后再回到办公室刷题刷到10点多,周末除了去教会,剩余时间基本都泡在办公室、图书馆刷题了,因为在家多少还是会分心和受到干扰。特别感谢太太那几个月的支持,家里大事小情、陪孩子做功课、哄娃睡觉都靠她了;也非常感谢岳父岳母在这段时间从国内来加拿大帮助我们照顾家里,做饭收拾房间等家务活都包了,我们能有更多的精力和时间放在工作和孩子身上。有时实在觉得疲劳了,就专门找个半天的时间带家人出去走走,放松下自己。

我按照Edward的建议刷题,感觉好了一些,但遇到一些Medium难度的题还是觉得很难,经常刷到很晚了还是没思路,但好几次开车回家的路上,突然会开窍,然后兴高采烈的回家再打开电脑把题做完。

刷了2个多月后,有了点感觉了,这时刚好亚马逊的HR联系我,我就开始了我第一个面试。亚麻通常开始是HR的电面,确定你的基本情况没啥问题后,就是第二轮上机面试,随机挑选2道题在1个半小时内完成。如果顺利,将会是第三轮技术电话面试,然后是第四轮现场面试Site Interview。我当时有些轻敌,也缺少美国面试经验,在第三轮电话面试时表现得并不好,被拒,被放入冷冻期半年,半年之内不能再申请类似的职位了。

这个打击对我来说还是有些大的,特别是信心上。复盘总结了一下,首先还是题刷得不够,其次是用的那段时间常用的C#语言,在算法面试中并不占优势。总结经验,迅速更换更合适的Python语言刷题,这时已经进入12月了,时间对我来说已经不太多了,因为美国的招聘职位通常在圣诞节后、1月上旬开始大量放出。

这段时间我逐渐加大刷题的强度,利用一切可用的碎片时间,等孩子下课的椅子上、咖啡店里都留下了刷题的身影,题做的也越发熟练。


拿到微软Offer

非常感谢在微软的大学同学的帮忙,在圣诞节前帮我内推了几个职位,但之后就长时间没消息了,我开始也没抱特别大的期望。

过完了新年,西雅图的职位就像开了闸的水,哗哗地放了出来。好歹我也是10几年的老程序员了,但这阵势我还是第一次见到,除了我们常听到的微软、FLAG大厂,Indeed、JP Morgan、通用、波音、星巴克、奔驰等公司的职位刷屏一般的涌出,更不用说海量的中小公司了。

吸取亚马逊面试的教训,除了应聘大厂的职位外,我还投了大量的中小公司,因为大厂的反应比较慢,所以通常会先接到中小公司的面试机会来提升面试经验。

在经历了几次小公司的电话面试后,我的面试经验和刷题水平逐渐的上升,我也得到了第一个现场面试Site Interview的机会。这是个小公司,但我发现我非常enjoy在现场跟程序员们一起讨论问题、写代码、交流心得体会的感觉,状态也逐渐打开,后面也陆续拿到了几个中小公司的offer。

期间也接到了一些大厂的面试邀请,包括Google的电话面试,可惜我有些紧张,没有继续下去;Facebook的HR也注意到了我的简历,约好了三个星期后的技术电话面试。

在这时微软终于有回应了,距离开始申请已经2个月过去了,2个部门给我了面试机会。第一个的manager是温哥华某大学毕业的,面试交流感觉还挺好,本以为老乡见老乡,两眼泪汪汪,但无情被拒。第二个部门的manager是美国卡耐基梅隆毕业的,标准学霸级别的,现场面试发挥感觉一般,本来以为没机会了,但没想到还要我了!

几天之后我又去JP Morgan现场面试,这也是我最后一个Site Interview了,去西雅图的路上已经看到有人陆续带起了口罩,JP Morgan办公室里的人也已经讨论这次的疫情可能是Pandamic了。

过了周末,JP Morgan也给了offer,我特别咨询了湾区的朋友,她的建议是如果工作在西海岸,还是最好去IT大厂,如果在东海岸,可以考虑去金融行业,另外金融行业的压力和风险绝对不亚于IT公司,IT大厂的性价比相对会更高些。谨慎考虑后,我还是保守起见,选择了微软,同时婉拒了即将到来的Facebook面试。

拿到微软offer后,不幸第二周疫情就爆发了。不久美国停止了所有美国签证,有点担心我的签证会受影响,特意发邮件咨询律师,说禁令前一天就已经把我的申请材料都提交了,跟我没啥关系。之后又发生美加边境关闭、美国禁止外国人入境,阅读了下禁令内容,认真比对了下禁止入境签证列表,发现我申请的专门为加拿大公民设置的TN工作签证不在禁令名单中。

申请材料通过后,我带着Petition信到和平门边境办签证,半个小时搞定,告诉我属于essential worker,虽然边境关闭了,但如果工作需要,可以随时跨境。但为了安全,微软Office在疫情开始时就关了,估计今年一年都没机会跨境了。

顺利入职后,我才知道manager为这么着急要我入职,因为疫情期间这个部门就跟斯大林格勒前线差不多,疫情的特殊需求让用户数量上百倍的暴增,小伙伴们从早到晚的忙,不过我相信这段时间的经历会对我后面的职业发展会有很好的帮助。



美国和加拿大之间的人才竞争

工作几个月后,我之前在国内的领导郑总来温哥华探望女儿,顺便跟我见了一面,跟前领导聊天经常会有思路豁然开朗的感觉。记得刚移民加拿大、我们在白石海边见面时,他看着我意味深长的说“你这个年龄来加拿大,还嫌早了一些。不过既然来了,就不要两头跑了,否则两边都顾不上。”我听从了他的建议,安心在加拿大工作、生活,也度过了非常充实快乐的几年时光。这次见面,他除了开心的祝贺我去了微软,但又看着我意味深长的说“看来美国成功把你偷去了!”

他这么说是有道理的。其实全世界发达国家,都会尽可能的吸引人才。

本以为我移民加拿大,之后来美国工作,都是我按照自己的意愿一步步走过来的,但其实这都是加拿大、美国的政策制定者早就已经规划好的,核心政策就是以良好的生活环境、优厚的待遇和优势的教育资源,从其他国家吸引高素质人才家庭,来弥补发达国家日益老龄化带来的人才资源不足的困境。

对以高科技创新立国的美国来说,IT行业已经是传统支柱行业了,中国、印度培养出来的具有扎实基本功、丰富工作经验、特别是有家庭有孩子的工程师,是他们最想要的,因为他们来了会更加稳定。

近两年美国H1B, L1以及留学生签证的缩紧,但美国高科技公司就像巨型火车头,是需要大量的人才投入的,这个矛盾要怎么破呢?一个办法就是从加拿大吸引人才。加拿大人有着良好的高等教育,说着相同的语言,有着共同的文化,受过相同的职场文化熏陶,挖过来最合适不过了。

美国引进人才历史是很悠久的,最成功的案例就是钢铁侠马斯克了。马斯克出生在南非,10岁随母亲移民回加拿大(他母亲是加拿大人),加拿大皇后大学学习两年后去美国继续求学、发展,创办Paypal、SpaceX、特斯拉,在硅谷神一样的存在。

加拿大人在美国的另一个典型形象就是美剧《硅谷》里的架构师Gilfoyle了,他作为加拿大人,没办签证徒步跨越美加边境来美国,认为自己就是“Citizen of the World”,在朋友找停车位的功夫就补办好了美国工作签证。

加拿大也准备好了反抢的准备,近期川普收紧签证,加拿大加拿大科技行业的一个机构 – Communtech 最近花费 10 万美元在硅谷地区设立广告牌,在从旧金山到 Santa Clara 的 101 号公路沿途,总共有 9 个大尺寸广告牌被设置在关键位置。广告牌上写着:

如果我的签证被取消怎么办?如果我失去了工作,失去了医疗保险怎么办?来加拿大吧!

那么加拿大、美国通过什么样的优惠政策全球挖想要的人呢?我们看一些数据就明白了:1 薪资情况



根据“2020 年中国程序员薪资和生活现状调查报告”,中国程序员的年薪呈正态分布,主要集中在 5-25 万之间,占比高达 67.2%。年薪在 5-10 万的程序员占比为 19.4%,年薪在 10-15 万的程序员占比为 21.6%,年薪在 15-20 万的程序员占比为 15.8%,年薪在 20-25 万的程序员占比为 10.4%,年薪在 25-30 万的程序员占比为 7.6%。此外,年薪在 30 万及以上的程序员占比为 15.2%,年薪在 5 万以下的占比仅为 10.1%。

而根据Robert Half薪资指南显示,美国软件工程师的收入在10.37到17.2万美元之间,高级程序员薪资在14.57万美元。



这个收入仅仅是全国平均的收入,而在湾区、圣何塞等地的收入会比平均收入高40%以上:



加拿大软件工程师的收入相对低不少,在7.72 - 13.8万加元之间, 其中高级工程师收入大概10.7万加元,但地域差距就很不明显了,各个城市差距在5%左右。



整体来说,加拿大程序员薪资大概是中国的2-3倍,美国程序员的薪资大概是中国的5-6倍。

但要知道美国的程序员跟加拿大、中国程序员的一个很大的不同,是薪资只是Offer的一部分,更多优秀的工程师看中的是公司配给的股票。拿微软为例,每年员工都会配给几万美元的股票,越早进公司的员工股票单价越低,配股数量越高,所以老员工的持股价值会非常可观,二十年的老员工如果理财的好,应该都已经达到财务自由了。很多程序员喜欢去独角兽公司,目的就是一旦上市很多员工马上就能成为百万、千万富翁。

除了薪资,加拿大和美国第二大吸引人的,是拒绝年龄歧视。



根据“2020 年中国程序员薪资和生活现状调查报告”,22-24 岁的程序员占比高达 23.4%,25-29 岁的程序员占比高达 39.9%,30-34 岁的程序员占比高达 22.7%,这三个年龄段的小伙伴成为了程序员群体的中坚力量。其中年龄在 22-24 岁的程序员,大部分应该是刚刚本科毕业参加工作的同学。而 35 岁及以上的程序员占比仅为 7.6%,也说明程序员队伍里主要是 35 岁以下的人,35岁以上HR估计就不收了。

而反观美国,根据 DataUSA的调查显示,美国程序员的平均年龄男性在39.1岁,女性在38.6岁。



正如我之前讲的,IT行业已经是美国、加拿大的传统行业,40-50岁的程序员也是正当年,我工作过的公司经常能看到头发灰白的老程序员津津有味的写代码、讨论方案,很享受工作的乐趣。更重要的,是鲜有公司奉行996文化,更多的是强调家庭和工作的平衡。

最后吸引人的,是相对公平的社会秩序,加拿大、美国美好的自然、人文环境和优质的教育资源,这对我们这些没有背景的普通人来说,应该是最吸引我们来这里工作、安家、教育后代的地方了。

总体来说,加拿大、美国是以高性价比的工作生活质量,从高人口红利国家吸引全球高科技人才安家落户的,根据我6年的工作生活经验,我认为要想要在这边成功安定下来,需要有三个核心能力:

1)英语能力,北美都是英语国家,英语是必须通过的应标准,所有兴趣来北美生活的同学,在写代码之余,必须要有意识的长时间培养和加强自身的英语听说读写的能力。2) 北美职场经验,Office文化是非常重要的,如何有礼有节、轻松高效的与同事沟通,避免踩雷,扩展自己的人脉和影响力,将是除了技术以外,更需要加强和培养的能力。3) 技术能力,写代码是我们的看家本事,但我们必须要有攻克算法面试的能力,,LeetCode刷题还是不可少的这样才能抓住属于我们的机会。

最后,我们最最重要的能力,就是学习能力,换一个角度讲,跟孩子在新大陆共同成长、一起学习,享受生命的更新和学习的快乐,不是一个很美好的事情吗?

如果有意愿想要跟我一样,先带着家人来加拿大的工程师们,请联系我的好朋友大伟,相信他丰富的移民知识和经验,一定能够帮助到你们!

愿天下码农都能拥有自己的幸福快乐人生! 阅读原文

文章来源: 留园 查看原文
https://www.6parknews.com/newspark/view.php?app=news&act=view&nid=443800
分享文章:
还没有评论
登录后发表评论
返回 到顶部