一、美国
对于大部分想出国工作的程序员朋友来讲,美国应该是他们最向往的地方,硅谷有apple、google、meta(facebook),西雅图有microsoft、amazon等大厂。在这些公司工作,不仅work life balance 很好,并且能获取几十万美金高薪。那么,对于国内的人员来讲,我们如何实现目标能,对于不同的人员,有以下途径:
(1)留学
留学然后找工作,我认为目前来讲是程序员在美国工作以及找到优质工作的最好途径,高中毕业申请本科,或者本科毕业申请研究生。申请到之后,找实习,保证高的GPA,然后找full time 工作。尤其是实习,非常好的一条捷径,我当年暑期找实习工作,amazon,有的同学被问一道two sum,写出来了,实习offer就给了,然后实习表现没什么问题的话,return offer 直接就下来了。
如果实习大厂没找到也没什么关系,毕业前继续找大厂工作,只要算法过关,基本上找到大厂工作没什么问题。如果你是有工作经验,要找有工作经验的职位,那除了算法还会问到系统设计,系统设计又分为两种,功能性设计,及系统架构型设计,功能型设计是问一些功能如何设计及实现,从产品经理角度。架构型是从架构师角度来让你设计一个系统。
(2)国内transfer
对于留学来讲,国内transfer难度陡增,当然了也不是一棒子打死。在国内的程序员,可以面试google, apple, amazon, hulu,microsoft(这几家是我认识有人trans成功),以及其他的一些公司。面试难度因情况而异,但是难度不小。面试通过后,进入公司,公司会有transfer政策,不同公司的不太一样,不过据我了解,有一定程度内卷,多人抢少数名额。
二、加拿大
加拿大相比美国来讲,码农岗位少,工资低。但是,相对国内来讲,还是有优点的,首先没有996,内卷。周边环境好,薪资相对国内来讲也不错。对于加拿大而言,过去工作相对比美国容易一些。
(1)留学
首先申请留学部分跟美国大同小异,但是毕业后找工部分比美国要容易一些。首先加拿大2年的master毕业后给三年工签,读书1年的给1年工签,而美国却是还要h1b抽签(不少人千辛万苦找到工作后还是折在了这里),而且美国就算有opt也需要公司的来挂着。找到工作之后,根据不同省份或者联邦的EE通道,很轻松就能申请移民。对比美国h1b抽签,排绿卡来讲,搞定身份快且容易。
(2)国内transfer或直接找工作
transfer部分与美国大致相同,直接找工作方面,2019年amazon 温哥华 office还是有在北京直接挖人过去的,疫情之后就断了,疫情结束可能会继续开放,这样国内的程序员可以通过面试直接过去工作。
(3)买雇主有身份后跳槽
如果一个程序员,在国内卷不过其他人,面试无法到国内大厂,然后amazon hiring event 也关闭的情况下,他想通过工作去加拿大,如果肯花一定数量的钱的话,是可以与加拿大的雇主达成协议,然后他们提供工作,你交钱,等拿到身份之后再跳槽,有了身份之后,找工作容易得多。目前国内不少加拿大中介大部分都是在搞这一线路,价格,以及靠谱程度需要多加甄别。
(4)其他方式拿身份后找程序员工作
加拿大有100多种移民项目,可以通过其他途径拿到身份,然后再找程序员的工作,有了身份找工作跟没有身份找工作差距很大。因为加拿大或者美国的公司,他能否雇佣外国人是需要资质的,有资质的公司竞争是挺激烈,比如说留学生只能投这些公司。所以拿到身份的人找到工作是容易得多。