在职自学转码11个月上岸流水账

avatar 656151
bbbnnn777
47349
87
1. 背景去年五月master毕业,本科和硕士读的都是EE。大一的时候上过CS1,学的是Python的基础,没有学算法和数据结构。因为学的是EE,有的课会学到Embedded C和MATLAB,但和CS的人还有很大距离。
毕业后六月入职了传统工业养老公司,做System Engineer。

2. 为什么转码
去年入职前和入职后都有几波layoff,某一天上班另外一个new hire同事就收到manager电话说被laid off了,感受到前所未有的危机感。
疫情后很羡慕码农都可以在家上班,然后羡慕可以去雪场附近work from ski resorts。而且换工作的话,选择也很多。而EE/硬件的话,我疫情后还是偶尔要去办公室/Lab,而且跳槽的话选择很少。
至于包裹就不用说了,码农NG的基础包相当于EE两三年经验吧。
综上所述,下定决心要转码。

3. 计划
(我是到后来才知道一亩三分地的,从不知道这样一个宝藏论坛有这么多经验贴和干货,所以一开始走了很多弯路。)
我的工作offer写的是如果不满一年离职要还所有sign on和relocation,所以我打算利用这一年边上班边自学转码。如果中途被layoff了,那我就可以拿着unemployment上个bootcamp。如果一年后还没上岸,就可能读个part-time degree/bootcamp。

4. Timeline
- 06/2020: 六月入职,六月下旬立志转码,报了某网课的基础班学算法和数据结构。在那之前我只听说过leetcode,但从不知道长什么样。。和很多人一样,一开始easy的题做不出来,solution也要看一个小时,对medium/hard有莫名恐惧。
- 07/2020: 一个月下来,课上完了,对各个数据结构和算法有个大概的了解,边学边刷题/抄答案也刷了100道题。后来我又报了两个进阶课,巩固并学习advanced点的数据结构和算法,同时也鞭策我刷题。
- 12/2020: 上了三个课,刷了大概四百道题(对于很多人来说这很少,不过基于很多事情的原因,我尽力了。。)然后雪季开始了,加上holiday season,就给自己放假了。在放假前尝试申请了几个NG职位,因为趁着自己才毕业几个月,然后拿到亚麻和twitter的OA,都挂了。。。深知自己还是刷题未精
- 01/2021: 新的一年终于买了leetcode premium(之前用的是lintcode),重新track自己的进度。同时也开始改resume,由于过去几个月都在刷题,所以resume一点关于码农的东西都没有,而且工作也没有相关的经验。机缘巧合下找到了一个start up,他们答应让我part-time/intern取经验。
- 02/2021: 感觉resume还是不够,所以网上找个project做。
- 04/2021: 就这样,我边上班边刷题边parttime边做project,熬了三个月熬不住了,辞了part time,题又刷了300题,project也终于做完了,此时resume终于有点可观的经验,于是我开始申请工作了。看到很多经验贴说一定要找内推,然而地里发帖说可以帮忙内推的,好像就只有一个有回复。。。LinkedIn联系很多人也只有一两个回复,而且回复得很很很很慢。我不喜欢被动,所以我开始海投。那段时间每天睁开眼睛第一件事是check emails,每天晚上刷手机都是刷linkedin的jobs,基本新的job posts符合条件的都apply一遍。然而和很多人一开始找工作一样,收到一封封Thank you for applying but..../Unfortunately....的emails,每天看到心头一震,archive了后又打开linkedin/indeed继续apply。
- 4月底/2021: 终于!!! 终于有第一个recruiter约phone screen,然后陆续还有几个,四月的最后一周被五个recruiters捞起。
- 05/2021: 都是面试的一个月。在地里找面经,在leetcode刷公司tag,过了几个phone screens,然后把onsite拖到五月中下旬,因为要开始准备system design和ood。准备onsite那两周压力真的很大,短时间内要学很多东西,压力一大就睡不好,睡不好精神又不集中,死循环。。。幸好是在养老公司,sick leave比较多,可以请假准备面试
- 5月底/2021: 面了两个onsite后,睡眠也没有改善,因为每天想着recruiter什么时候回应。然后前两天,收到第一个offer,我上岸了。挂了电话后,我很开心,在房间里蹦跳了一分钟,然后就哭了,这一路走来太不容易了。

5. 心得/建议
首先,我想给每一个转码,特别是文科转码/大龄转码的人说一句,你们都很棒,这一路会很难,但是坚持努力会有回报的!!!
如果你刚开始转码,我建议先多看地里的经验贴,找到最适合自己的track,避免走弯路。
我的一点建议(If I could do it differently, I would... 纯属我自己经验所谈,觉得不对的求轻喷。。):
如果完全新手,先挑一个语言(建议Java/Python),学会了基础的,然后开始找project做。先补基础知识,把resume填满,再转攻刷题。
大概就是:cs基础 - 做projects - 改resume && 学算法数据结构 - 刷题 && 申请工作

- projects: 建议不要贪快贪方便就做一些太简单的,可以先找简单的熟悉下练练手,然后再做个难点的可以多写几句在resume上。
- resume: 写完一定要找码农朋友看看,最好是有几年工作经验的,没有的话就发地里求批阅。
- data structures & algorithms: 虽然是老话,但是真心觉得Cracking the coding interview这本书很多干货。
- 刷题: 求精不求量,每道题真的真的真的真的要弄明白!!先分类刷,这样可以加强对每个数据结构和算法的理解,慢慢地速度就会提高,到有面试的时候再按公司tag刷。
- 准备面试: 一定要看面经和mock interview!!!但是如果你面apple这种按组的话那就自求多福了。。收到recruiter reach out要开始准备system design/ood,不要等到安排onsite了才开始


分享一些觉得很受用的贴:
instant.1point3acres.cn
instant.1point3acres.cn
instant.1point3acres.cn
instant.1point3acres.cn
instant.1point3acres.cn


6. 最后的话
这一年过得很粗糙很累,白天上班,下班后还要学习和刷题,朋友约吃饭出去玩都不去。到了一段时间会开始质疑自己,会问到底什么时候才是个头,什么时候才可以正常生活。看到别人分享上岸的经验贴,会问什么时候自己才能上岸。这些情绪反复袭击,丧个几天又继续刷题,日复一日,但是收到offer那天觉得, 一切都值得。所以,如果你也有质疑的时候,it‘s okay to be sad, 但是sad完别忘了初衷,一定要对自己有信心,相信自己会成功的。
希望每个转码的小伙伴都早日上岸,加油!


看完求加米。。搜面经搜到没钱了

补充内容 (2021-05-28 04:56 +8:00):
关于做什么项目:
instant.1point3acres.cn
instant.1point3acres.cn
还有的Udemy full-stack bootcamp,油管。
  • 897
87条回复