10年经验swe找工过程及感受

来自其他站点
发个帖子记录下今年找工的感受。
楼主背景比较一般但是工作年限比较长,本科普通211艺术类,毕业在国内游戏公司工作了几年,技术,策划,管理都干过,之后来美边读硕士边打零工,拿了个美国学位混进大厂干了8年左右,普通做产品和平台的swe。最近干的不太开心,加上cliff马上到了就想跳槽了。

我对自己的定位是这样的:虽然有跳槽的意愿但不是非跳不可,市场毕竟不好,能match或者beat当前薪资的公司并不多,一次全面挂了万一之后被pip或者layoff会很被动,所以打算分几个batch去投这些公司。打算先简单准备几个月batch投一波,不行再针对调整策略多准备准备再batch投一波,以此类推。
从面试的角度来说,我的弱项是coding,如果碰到考难题我是没戏的,所以要放低预期,计划一天2小时,2个月针对性的提高下。第二个弱项是偏infra和ml infra的系统设计,我貌似没有很好的方法解决这个问题,所以我打算硬换到一个硬核的组逼迫自己提高,再就是临时看paper吧。我的强项是个人经历非常diverse,反应在系统设计上偏应用的题我应该有优势。我是切实知道大公司小公司同一件事情是怎么做的,都有什么优缺点,做过很多trade off。在此之外,因为和不同层次的人合作的经历帮我建立了还不错的同情心,这在senior ic里应该挺宝贵的,我自己经历了同情心从无到有,从弱到强的一个过程,可以有效的帮助behavior轮的面试。

时间线:
a. 3月换去了一个比较硬核的组可以ramp up学学系统设计和熟悉下cpp,和组里大佬示弱以争取更多读wiki和paper的时间
b. 4月底开始刷下leetcode,我上次刷leet code还是2014年,完全忘记了。自认为和毕业不久的同学完全竞争不过,不如扬长避短,把最基础的练一遍别太掉链子就好。楼主白天上班比较辛苦,晚上还要带娃睡觉,基本10点能开始回自己房间学到12点这样,累了就休息。资源上用的grind75,碰到不熟的数据结构就看下实现,断断续续一直到6月底做了100题左右就收手了。如果第一波面试证明我coding不行被刷下来再继续准备。
c. 刷题的同时开始审视自己的简历和总结过去职业生涯的得失, 把若干年做过的项目整理了一下,意外发现了很多新的收获。很多当初做的决定虽然是对的,但是我并不理解其中的原理,复盘了一遍如果重新做选择能否做的更好。事实证明这些反思在后来各种bq上很管用。
d. 改简历,大概6月把简历polish好了,改了linkedin profile,然后open to opportunities,开始守株待兔
e. 6月开始拿到一些reach out,大概95%左右的机会都不好,开始约了一些hr call发现太浪费时间,就写了一套薪资要求的模版碰到不认识的startup就拿模版回,最终敲定了一波batch的公司开始准备面试。选择上除了一个ai start up,都是能beat我当前薪资的中厂。
f. 约电面的过程中看了一遍alex xu的蓝皮和绿皮。说实话写的真不太行,不知道为何会这么流行,绿皮还稍微好点,蓝皮真有点浪费时间了。好在他提的问题还算可以,我把那些问题用当前公司的实现整理了一遍思路,不熟的就去扫一眼代码和wiki

面试:
我一共约了5家公司的面试
一家电面挂。反馈结果应该是coding虽然美跑通但是过了,但是系统设计挂了。系统设计面试官是和我同公司的infra组硬件大佬,问了我一个他自己做的硬件项目的软件部分,我用15分钟才理解他想问啥,明显回答的他不够满意。
一家虽然过了电面,但是onsite之前谈了一下薪资发现和当前公司基本持平,提出面下一个level后被ghost至今。
剩下三家都过了电面(均为系统设计)。约了onsite。我查了一下之后面试官的背景,发现基本全是infra出身,觉得要完,赶紧拖久一点补一下。

onsite准备:
因为预料到之后infra大佬的面试难度,所以赶紧准备了一下。我开始试了一下ddia但是发现不行,时间根本不够,而且讲的也不够细。感谢地里兄弟加米让我看到了一些面经,发现各种存储,中间件都是常问的题,于是我决定先开始看paper,再看公司里相应系统的wiki,如果是开源项目去看文档,然后再不理解就去看code。
准备这些或多或少影响了我工作的效率,好在同组的人也不太认识我,觉得我是个弱鸡在ramp up挣扎,expectation不高
onsite三个公司都签了nda,就不发面经了
第一个ai startup面我挂在一位在google待了20年的L8手上,名字在很有名的paper里那种,google不少核心infra的author, 挂的我心服口服。系统设计转相应的leetcode hard变种实现其中一部分逻辑。大佬居然和我同时pair programming, 帮我把一些需要用的util class直接手撕了,最后我这边没跑通,惭愧。反馈是另一个candidate coding能力更好
第二个是个中厂,coding和architecture过,behavior应该也是过,第一轮系统设计mixed signal,加面第二轮仍然mixed就结束了。两轮面试官都是狗家l7做某个核心infra的大佬,面的题都是各自领域的infra设计。楼主出现设计失误被一路追问到发现方向走不通,甚是尴尬,但也算有所收获吧。反馈是系统设计有欠缺
第三个是个中厂,中间和我背景match的position被fill了导致换组重新面,前后加起来一共10轮。coding轮没跑通但是还是给过了,其他轮次反馈很好,最后一路面到c suite终于给了口头offer,包比现在高一点,比cliff之后高不少,打算从了。

感受和反思:
我之前觉得batch可以让我更flexible一点,但是后来我后悔了。我比我自己想象的更容易焦虑,尤其是面试过程会充满各种不确定性,导致战线长短不一。到后边只剩一个公司了每一轮加面都能ghost我一段时间,然后我recruiter还被裁了,各种不顺。希望签offer到入职不要出问题。
之前预计的短板果然还是发生了,我coding基本没有一轮能真正跑通的,思路基本都对,最后没有时间implementation完整就结束了,但是很意外只有一家公司说是coding那轮出了问题。我觉得可能senior之后更看problem solving的思路?也可能单纯是运气好。infra相关的系统设计这块,虽然准备让我能回答一些问题,但是还是扛不住大佬的追问。毕竟我不是做infra的临时抱佛脚还是不太够。下次准备面试我可能会多花一些时间在这里。

我是08-09经济危机在国内找工作的,很能理解当前entry level同学的困境。当时在国内有身份可以降薪先入行,但是北美小公司基本不sponsor,导致几个人头大厂一旦没职位entry level就无处可去,变成千军万马卷少量大中厂的职位。我前几天看到某个养老厂招类似stuff的职位和我经历很match,本打算搞一波,结果通过熟人和他们director打听职位才开了一周就有>50个qualify的candidates:大厂exact same domain L6+, 他们也很为难电面都面不过来。自此我理解了recruiter ghost我另一边发生了什么,candidate这么多,谁都想多看看。
我无法为大家提供实质性的帮助,但是希望能用自己在经济危机的那几年的经历给大家打打气:经济是有韧性的,长期看科技行业能不断的解决问题肯定有回暖的一天。我08-09找工的时候百度就给4500,腾讯给3500,等到10-11年他们都翻2-3倍涨回经济危机前了,市场的弹性可能比预想的来的快。现在的毕业生很优秀,远比我当初强。市场不好,一时找不到心仪的工作,或者和之前师兄师姐对比有落差很让人沮丧,但它是正常的,人都会有对比。别因为当前的市场反馈就陷入自我怀疑,保持信心,机会会来的。加油
36条回复