我是 24 spring 入学了 BC 省硕士,24 年 3 月传来消息毕业拿 pr 的政策年底取消,纠结了一番后选择了今年暑假继续上课,暑期毕业。今年六月正式进入了找 full time job 的节奏的,之前其实也颇找了一番 coop,但因为在国内没有实习经验、简历写得不好,以及忙着打工失去了找实习的时间,并没有得到过任何面试,oa 也是全挂。六月被打工的超市赶在试用期结束前开除了,我有点生气愤而当晚就改了新一版的简历出来,区别是这份是用来找全职,而且看了若干小红书经验贴编得更大胆更垂直了,从此之后接到了很多面试,但也一直到 11 月才找到 full time 岗位。
一些心态和方法的不同
一般上小红书找加拿大 cs 毕业生找工心得的话是以下套路:刷题,networking(和人 coffee chat、求内推)、准备 bq、针对每个岗位改简历、上官网投递。但我用的完全不是这种,原因是
- 我非常、非常讨厌社交。一开始也努力在 linkedin 上找了两个人 coffee chat,其中一个校友很友好地给我讲解了 SDE 和 SRE 的区别,也很有用(对找工没什么用,是我更加了解这两个岗位的区别了);另一个人就没什么话说的感觉。当然也没有开口问过内推,首先对方组里刚好有 junior 岗位 opening、还刚好和我对口的可能性就很小,尤其是市场衰退的情况下;其次,虽然也有社交恐惧的原因,但不愿意开口问内推的另一个原因是非常反感这种“一开始聊的好好的最后索要 favor”的社交方式——道理我都懂,也逐渐地能更敢开口了,但是。
- 我也讨厌刷题。虽然从反馈来看,我刷题能力并不算特别差,但经历了各种白嫖 oa、oa 全挂、oa 不给看 test cases、刷到很多作弊信息之后,已经不想为刷题付出任何努力了。
- 更加讨厌针对岗位改简历,如果要认真改,根据 jd 改一份至少要半小时,如果加上 cover letter 就需要更长时间,而我的心态是,大部分公司连一个面试都不肯给我,凭什么让我付出这么多 upfront 努力?对精神伤害很大还没有成就感,所以 tailor 简历这事我很早就不干了。
我还有一个观点是,这套刷题、bq、networking 的方法其实来自于美国,因为这些方法很明显都是针对大厂的,美国大厂多、岗位多,而且只有大厂能 sponsor 身份,自然所有人都 adapt to 这套找工方式。但加拿大,大厂可能也就美国的 1/10 甚至更少,就业危机来临的时候肯定先砍边缘岗位,我也不需要公司 sponsor 身份,为什么还要死磕我不喜欢也不擅长的这一套呢?
所以我从找不到实习、决定开始找 full time 开始就完全换了一套,不用 Linkedin,完全不 networking 也不刷题,直接 Indeed 搜索全加拿大范围内的 CS 岗位,限制 24 小时内,按时间排序,几乎不看 JD,最多看一眼岗位最上面的关键词,直接点进去投。
投递方式也不是官网,最好的是 indeed easy apply 而且不问任何 screening questions,只要简历;其次是 greenhouse/lever,界面清爽简单;再次是其他不用注册账号的方式;最差的就是界面难用、要注册账号、要激活邮箱的大 OA 系统们,在这些中,workday 竟然已经算是好用的了!SAP、ADP、successful factor 无不比 workday 难用。到后来,要注册账号的我只投 workday,其他一律不投,而且也没亏:所有 workday、ADP、SAP 投的公司没有一个给我回复。到了最后阶段,平均每天投 40-50 个简历,这种方法一周能让我拿到 1-2 个 hr call,也就是火烧站长云五的理论:虽然我每次命中成功率很低,但因为绝对数量多,我还是能得到很多成功刺杀的!
在每个被卡住的地方卡到吐血
简历
我的简历真的没啥可写的。应届 CS 生,在国内小城市顶着疫情上完了本科,社恐,厌恶国内主流职场生活,所以我——没有实习。是的,一个本科实习都没有!买的都没有!后来我为了实习焦头烂额的时候固然非常后悔,现在也非常后悔。
所以我有一些非常有创意的方式填充简历。(不讨论“包装”or 瞎编简历的道德感,我的一个理论是公司不仁我不义,但道德感会随着改简历次数变多降低的哈哈哈哈。)三段经历分别是 remote 志愿者经历、自己写了个小 chrome extension 写成 freelance sde,有 200 个左右的用户但没有盈利(废话,这个 extension 是做给我 remote 志愿者的那个机构的,那个机构本身就是 non-profit),还有一段是我写了上线了的纯个人项目,包装成 volunteer。
我自己的体验是写得垂直、分开几个不同工种的简历更好,比如我分别有一份机器学习、SDE、data 的简历,甚至还有一个 IT support 的。要保证每份简历上只有一个工种,比如机器学习的就是两个 MLE+一个 data engineer,sde 包括了前后端,可以适当把自己经历突出某个方面,或者把同事干的事写成自己的(。)到这步基本就渐渐收到 HR call 了。
后面随着面试变多、看 job description 变多,也又修改了几次简历,包括:把一个 AI 相关的项目放进了 SDE 简历了,因为很多所谓的“AI software engineer“其实就是调 API 罢了,但如果简历上没有关键词就是直接被刷了,这种情况写特别具体的 machine learning/natural language processing/cv/搜广推反而用处不大,写点 LLM/OpenAI 就够了;把 Docker/Github actions/AWS 加进去并强调(之前只是放在了 Skills 栏,没有在 experience 里体现出来),因为现在公司对 junior 也要求各种 CI/CD 技能,但实际要求并不高,面试前一天看几个 crash course 足够用了,而且所有用 Hugo 和 Github 搭过博客的人理论上都用过 Github aciton 啊!
HR call
6-7 月我最大的烦恼就是一面过不了,因为投小公司多,hr 很多也直接打电话,所以极为考验口语和 bq 水平。固然有当时还不能立刻工作、没有 pr 或公民身份等等原因,不过电话接多了,也深感口语确实流畅许多。写在简历上和说出来的经历还是很有差别,比如 skills 写着的技术栈,难免会闻到作为 ng 对哪个更熟练,我现在已经能熟练说 most fluent with xxx, have experience with xxx, have exposure/some knowledge of xxx 了……虽然基本就是熟练/用过/只看过速成课程没用过的区别,但这么说出来就好听多了。
除此之外 hr call 也可以适当视奸公司,我一般会看公司官网和 linkedin,如果能视奸到要面的那个 hr 就更好了,虽然用处不大。hr 也会适当介绍公司,除了常规的 bq 和经验(经验更多,bq 更少),也会问 relocation 和 work authorization,我基本全说好好好,反正去不去要拿到 offer 之后再说。
体感 hr call 虽然也有定 30 分钟 google meet 的,但大部分都是 10 分钟解决战斗,通常也会问到什么时候可以开始&工签状态&能否自费搬家&能否接受这个薪资,在这一步直接全说好就行了,自费搬家也是拿到 offer 再考虑的事。
也有不按常理出牌的,有说项目涉及美国政府所以需要公民身份(所以之后几个月一直没招到人的),有一上来就是聊天型技术面,问怎么优化 API 的,还有压力面问半夜服务器挂了怎么办,最后问现在全球共有多少飞机在飞这种,我以为只会出现在国内的脑筋急转弯问题。
总之 hr call 这关大概花了一两个月才第一次成功跨过,之后成功率也并不很高,但能拿到技术面就足够了!
技术面
找工就是感觉已经焦虑了一百年,一看才刚迎来第一个技术面。
因为我面的都是小公司为主,sde 更是只有 startup 看上我,所以也有跳过 hr call 的机会。七月底,一个在 indeed 上随手投的公司说可以直接和 CTO 聊聊,我翻出 JD,赫然写着招 lead data engineer,钱多到有点不敢想象,我:?本着来都来了的精神还是面了,并且彻底视奸了公司:总共只有七个人,只有两个是 tech 方面的,healthcare+AI 相关,看起来小但稳定,hybrid 且工作地点离家近。听起来简直完美。一面和 CTO 很愉快地聊了快一个小时,表现出了对机器学习的扎实基础(瞎说的,我对 ML 的了解是一到任何和数学有关的地方就彻底不行),非常高屋建瓴、指点江山,顺利通知要和 CEO,一个负责医学方面的医生,二面。二面发挥不怎么样,体现在我并没有在医疗行业工作过啊!医生也忙得很,匆匆就结束了。二面和一面隔了很久还是我 follow up 邮件问到的,但二面后又约了和 COO(who 并不在公司领英上,感觉是兼职咨询的)的加面,也聊得很愉快,很登,但最终收到消息被二选一刷掉了,选择了更有经验的另一个人。虽然并不意外,但还是伤心了一下,因为这是第一个技术面+看起来理想工作+公司看起来不是刚成立一两年很容易倒闭的样子。
也面过另一个 founding sde,钱很少,岗位在温莎,一上来就是一个复杂的 take home,进二面后问了不少 system design 的问题,我答不出来可想而知是挂了。但是至今还是很想不通,此 startup 是制造业,在底特律/温莎,依附于母公司的规模看起来至少也算中等,招要从 0 开始的程序员居然只给 70-80k,而且明说没什么 onboarding 就要上手干活,心情是你这个工资确实也只能找到 ng 来投……
另一个本地公司也略搞笑,初级的公司,跟我说想要更多经验一点的人(我:你说的是实习经验的话也就算了,不然这点钱还想要比 junior 更多经验的?),又说但是你看起来 clever 所以给个做 take home 的机会,我把 take home 做完发过去后又开始 ghost 我,几个月后在 indeed 看到同一个岗位把年薪范围提高了 5000,还在招。我:呵呵活该你们招不到人。
挂了后伤心程度较高的公司,某蒙特利尔车企,前面提到这个岗位的 15 分钟 screening 并不是 hr 而是未来 hm 直接聊天,hm 也提供了详细的技术面准备材料,正式面试是用 cursor pair programming,因为我对后端多线程和分布式的概念确实不熟悉,没来得及做完题就结束了,挂了也不算很意外。相比之下视奸公司倒是得到了很多信息,比如我面的其他 startup 基本是某个传统行业的人想进军 tech,抓了个搞 tech 的当 CTO,拉到了投资,开始扩招这样的模式,整体相当年轻化,而这个公司的所有人,包括面试我的 hm 基本都是出身咨询,所以岗位名称也写的是“associate sde”;相比各种 ai 公司,这个至少做的是大型车转向供电的技术问题,工作内容听起来不太 bullshit 甚至有点好玩;我问 hm 你都留在温哥华,我能不能不 relocate 到蒙特利尔?他说,因为魁省政府给了企业税收优惠,所以……而且他在 bc 省也是为了坐移民监(是欧洲移民过来的)。
我甚至骗到过 senior 技术面,要求 5-7 yoe,hr 不知为何把我放进去,一个印度来的面试官在技术面五分钟识破我没有经验,甚至还好心支教我 React 知识(无贬义,他挺和善的),而且拒信也发很快。我推测是这个公司主业是 healthcare,而公司评分在最近一年里急剧下降,管理混乱,薪资对 senior 而言不算有吸引力,所以也就凑合着面我了。
九月份我已经十分绝望,收到本地 digital marketing 公司面试的时候当作救命稻草抓住,但技术面问了巨量 system design 问题,我答得十分糟糕,啥都不会,而且此公司几乎全员转码,如果我能入职或成为学历最高的那一个,所以被邀请去终面和 hr 聊 bq 的时候十分激动,因此挂了之后也更伤心,几乎就在超市哭了。
以及也有让我约技术面结果面试官失踪,接着 ghost 我再无下文的;做 chatbot 的 remote 岗位 hr 失踪连 follow up 都不发的;在 hr 面和 hr 聊了很久的技术问题,hr 说最迟明天给我回复,结果一个月后才发拒信的(合理推断我是 second candidate 所以等到确定另一个人接受 offer 才拒);若干 it support 面试,几乎全部 ghost;若干更小甚至没有办公室的 ai 公司,again 全部 ghost。总之拒信和 ghost 收着收着就习惯了。我没有记录投递情况的习惯,甚至有时面试前一天找不到 jd,自然收拒信也想不起来什么时候投的。
总之写下来所有人都能发现,因为小公司面试方法五花八门,take home 和纯聊天是最多的,pair programming、白板写代码也不少,问的内容也从技术细节到 system design 到简历深挖不一而足,很难说有什么特别的准备方向。最后我觉得技术面 crash course+拷问 gpt 给 sample questions & answers 也足够了,重点可能还是要能流畅地表达和体现自己的能力。
爬到终点线
以前经常看社交媒体说/被安慰“能有三四个走到终面就说明 offer 不远了”,我于是掰着手指头数自己的进展;10 月中旬,也是随手投的一个 remote 合同工岗位让我做了个 take home,之后直接就把我放进去了,当天心情是迷茫混合着兴奋吧,因为 CEO 急吼吼地让我第二天就签了合同入职,经济压力解决,心态也变好了很多,虽然美国合同工不算 ee cec 经验,但有工作骑驴找马和之前焦虑程度不是一个量级;半个月之后我生日当天又收到了本地公司的 offer,做的是我最想做的 data engineer 方向。这两个面试一个简单 take home 一个一轮聊天+一轮简单白板写 python 和 sql,我并没有感觉到和之前的面试表现有什么本质差异……最终本地公司甚至是我八月份投的简历,岗位是要求三年经验,hr 约面试的时候说也有 coop 岗位,问我想面哪个,我说我已经不会返校了也可以做 coop 吗?于是公司就把我面的岗位改成了 junior de,也是很神奇……
总之最后还是撒花一下!以及庆祝我之前随手投的 google early career 也进入了第一轮真人面试,实现了大厂从未看上过我+从未通过 oa 的零突破,虽然 coding 面试被面试官 ghost 了约到了下周一,但这只能说明大家都是草台班子,投简历更不用有心理负担。