写这篇文章纪录一下我个人的转职历程,在没有美国学历以及任何软件相关背景的条件下
,成功的在硅谷找到软件工程师的工作。找工作的过程真的很辛苦,说没有放弃的念头是
骗人的,在这过程中受到很多人的帮助与鼓励,现在终于轮到我来分享经验给正在努力刷
题的你或是有想要转职念头的你参考。
个人简介
背景:年近40中年大叔,已婚有小孩,完全没有任何程式相关背景。
学历:台湾中字辈大学硕士。没有美国学位。
身份:有绿卡。
前言
来美国工作的这几年一直都有再读个学位,转换工作的念头,不过卡于时间,学费等种种
因素始终没有付诸行动。后来有了小孩,责任(经济压力)变重了后,便开始认真思考有
什么办法可以提高收入。看到有 Coding Bootcamp 这种模式,可以在短时间内入门成为
软件工程师。自己做了一番研究,也参考了板上大大的分享后,决定放手一搏,不要让自
己后悔。
App Academy
其实 Coding Bootcamp 在美国有很多,选 a/A 最主要的原因是我很穷没钱缴学费XD!
而 a/A 有 Deferred Plan。简单来说就是上课不用先缴钱,学费等到学员毕业找到工作
后再分期付款就好。这跟我的想法一致,我的目的就是要找工作,而不是只想拿学位或证
书的。我认为他们敢提出这样的商业模式就表示他们对自己的课程有信心,毕业的学员是
可以真的找到工作,而不是只是上上课,教教你怎么写程式就好。
a/A 的广告上写:不用先缴学费,只要 3 个月,就可以成为年薪10万以上的软件工程师
。是真的吗?大致上都对,正式上课前要先缴押金 $5000,如果一年内没找到工作可以退
。3个月是指正式上课时间,之后的求职期限为一年。年薪 10 万是平均,也就是说有人
可以拿到 20 万以上或更多,有些人可能不到 10 万。因为不同城市的薪资水准不同,不
同学生的背景差别也很大。像我同学有美国名校毕业的、CS本科的、先前已经有 IT 或软
体工作经验的、也有像我这种一穷二白的...。
线上送出申请后,a/A 会先筛选,找出符合标准(有机会回收学费)的学生,据说录取率
在 5% 以下。申请人要先依序通过 Online Coding Challenge, Technical Interview,
Non-Technical Interview 等种种关卡。申请流程没有时间限制,a/A 会给你线上课程以
及读书清单,你自己觉得准备好就可以约时间面试。面试通过,录取之后 a/A 还会给你
更多的线上课程,要求你在正式上课前完成。这时你也会知道届时同梯的同学、助教,有
问题的话可以透过论坛或在 slack 群组中讨论。
正式上课时间总计 12 周。大致上可分为前 8 周的魔鬼课程,以及后 4 周要完成毕
业 Projects 以及准备求职资料。上课时间是早上 9 点到下午 5 点,采取 Pair
programming 的模式。两个学员共用一台电脑,每天都要跟不同的同学一起合作,完成当
天的指定课程(例如:简单的像写出 Tic-Tac-Toe 小游戏,到后来要做出一个 Web App
)。前 8 周里有 6 次的测验,主要是评估你能不能跟上进度,2 次测验不过就会被退学
。除此之外还有 strike 机制,迟到、早退、点名不到、没交作业等等,都会被计
strike,累计 10 次 strikes 也会被踢出课程。
教室可以 24 小时进出的,你要待多久都可以,唯一的要求是不能住在里面XD。有提
供电脑、无限供应的茶包跟咖啡,还有上、下传各 200 M的超快网络。本鲁资质努顿、每
天除了睡觉、通勤之外的时间都待在教室,是固定的打烊班成员。基本上我前 8 周就只
有一个目标:不要被退学。所以我除了上课之外的时间都花在准备 6 次测验上面。每次
测验助教都会提供准备方向以及练习的题目。测验的通过标准是浮动的,助教会抓全班
前 70~80% 的分数。我觉得如果你有全力花时间准备,应该不难通过,因为我印象中每次
测验全班中位数都是满分...。但是还是有人被退学就是了,早上测验没过,下午就
byebye 了。
同学大部分以学校刚毕业不久的学生居多,部分的同学有工作经验(像是:乐团鼓手
、英文老师、工程师、sales 等等)。我不敢说我是最老的那个,但是我不知道有谁比我
老就是了...。a/A 的助教大多都是之前成绩优秀的毕业生留下来,一边当助教,一边准
备求职找工作。a/A 给助教的薪水当然没办法跟外面科技公司比,所以助教流动率还蛮高
的,负责带我们的助教在我们还没毕业前就已经找到其他的工作。不过整体而言,学生、
助教的素质都很不错,这可能是归因于 a/A 的严格面试筛选过程。 大家都是走同样的路
过来的,同学间都会互相帮忙,助教也都会适时的鼓励我们。
如果顺利通过前 8 周的魔鬼课程,接下来就是开始做自己的 Fullstack Project 以
及准备各种求职相关资料:Rsume, Cover Letter, Personal Pitch, Personal
Website, Side Project, LinkedIn Profile, GitHub, Networking 等等。这段时间相对
压力没有这么大,让你从前面的高压状态下慢慢调整到正常的节奏,准备之后求职的长期
抗战。课程的最后会有成果展,各大科技公司的 Recruiters 以及毕业校友都会参加。是
展现自己的 Projects 以及建立 Networking 的好时机,很多人在成果展后就有第一次的
面试机会。
求职期间
成果展结束后就开始进入求职阶段。会有指定的 Career Coach 跟你保持联系,定期
跟你碰面,协助你进行面试相关的准备。如果你没有乖乖配合,Coach 也可以给你
strike,累计一定数量的 strike 后,a/A 会认定你没有履行求职义务,进而取消延后付
款协议,要你马上缴清学费。
要花多久才可以找到工作?很难说。我们同学里有课程还没结束就已经找到工作的,
也有像我这样花了一年多才有工作的人。一切取决于你的起跑点在哪里?以及你的目标是
什么?毕竟三个月能学到的东西非常有限,对我而言真的只是入门,对软件业有了一个大
概的轮廓,接下来要往哪里走就看要看你对什么方向比较有兴趣。准备面试的方式我就不
多说,网络上 google 都有很多神人分享。我特别想提的是:想办法写一份好的履历真的
非常重要,有一份好的履历会带给你更多的面试机会,有多的面试机会表示你会有更多的
实战练习机会,你的实力跟信心都因此日渐增加,最后拿到 offer 就只是时间早晚的问
题。Leetcode 我最后大概刷了 350 多题,履历我投到都算不清了,一定超过千封以上.
..。对我而言,每天多解一题、多投一份履历、多做一个 OA 、多接一通 phone
interview 、多做一次 technical interview、多去一次 oniste 都是我持续进步的证明
。你不用跟别人比,只要确定你每一天都有进步,每一天都有朝你的目标前进就好。
结语
这一年多的转职过程真的蛮苦的。刚开始的时候连接到 recruiters 的电话都很紧张、自
我介绍讲的 2266、OA 过不了、binary search 写不出来、 technical interview 被钉
爆、感谢信收到怀疑人生以及刷题刷到头发都白了。一路上真的感谢很多人的帮助,有朋
友在我上课期间借我房间住、有朋友在过程中一直鼓励我、有人帮我内推、有人帮我改履
历、有人跟我分享面试心得、还有一路支持我的家人。希望我的经验可以帮助或鼓励到一
些人,像我这样的中年大叔都可以,我相信你也一定可以的!如果有任何问题,都可以寄
信给我,我会尽量回答。