本鲁分享一下自己的看法,顺便爆个卦。
以通过 interview 为前提,这二种路线都有所帮助,精力够的话也不冲突。
但刷题是必备,side project 只是选配。
必备铁定重要,选配重不重要则因人而异。
从二个面向来分析:
1. 刷题的重要性
a. 从正面来看:
试想,以通过 interview 机会的大小作为衡量标准,
同样投入半年到一年的下班时间,刷题和做 project 哪一项更能取得好成绩?
显而易见是刷题。
好好刷个一年,学历不错的话,应该可以进一线外商。
但好好做一年的 side project,能有这个把握吗?
练半年到一年就进一线外商的大有人在,网络上可以找到很多经验分享;
我认识的人里,还没有刷成高手却没拿到好薪水的。
换句话说,刷题所付出的努力越多,取得好工作的机会也就越大。
b. 从反面来看:
如果不刷题,能进一线外商吗?
相信有这样的人存在;
然而我认为会考虑要刷题还是做 side project 的,都不会是这种人。
不确定 side project 要多厉害才可以跳过 interview,
但是我知道连 Homebrew 的作者 Max Howell,
即使已经是 Apple 的 senior developer,
想去 Google 仍然要参加 interview,
且最后只因不会反转 binary tree 就被刷掉了(easy 等级)。
好好努力跟着前人传下来的经验走最稳;
网络上每一篇刷题到被录取的经验分享,都是可依循的宝贵攻略。
那些另辟蹊迳的人,即使最终能取得巨大的成功,他们的经验也不会成为主流;
因为那种路线的难度和所需的运气都相当惊人。
而且过程中的付出可能无法积累,失败的代价也许是砍掉重练。
这概念类似一类科系上过的微积分可能无法在二类科系抵学分。
2. Side project 的价值
a. 弥补学、经历的不足
虽然刷题很顶,但如果学、经历不够好,可能没办法只靠刷题就拿到 offer,
这时候 side project 就具有相当的价值。
但是这种情况下,我觉得努力的优先级应该是:
“再冠一个好学历”>“强化工作经历”>“做出一个优秀的 side project”
特别是对非本科系的人来说,补学历肯定是跨领域最稳当的通道。
当然前提是时间、经济许可。
软件开发的门槛比很多其他类型的专业工作来得低,
后续发展也相对不受到血统限制,
所以这行容易让人产生学历无用的错觉。
有乐观的心态非常棒,但不要因为阿 Q 精神就真的轻视了学历的价值。
另外,如果能在同领域的工作中表现突出、发光发热,
那升官发财都来不及了,哪还会有时间为了换工作而去做 side project?
b. 刚好符合目标职缺所需
我觉得这是唯一一个为了求职而做 side project 的合理心态。
不过要刚好符合目标单位所需,可能要能有一些获得资讯的管道;
如果没有刚好打中痛点,且 side project 不是一看就很猛或是很知名的话,
通常只能表示你是一个很喜欢写程式的人,对能力评估的贡献有限。
另外抱着这个心态来做 side project 可能就不有趣了;
且万一最后没有被录取,不知道会不会连热情也一并被浇熄。
c. 想不到了……
Side project 还有很多其他的价值,
譬如增加知名度、拓展视野、培养兴趣、单纯享受以及增加收入等等,
但我们在讨论的是与通过 interview 这个前提直接相关的价值。
能否在求职过程中提供额外的证明或有加分的效果才是重点,不要想岔了!
最后爆个卦:
先说明一下,我不是要黑人也没有要人肉,
仅仅是觉得这个经验很有趣,所以跟大家分享。
我有个朋友想要用程式买 Nike.com 上的鞋子,
虽然他会用 Selenium 但 Nike 有防机器人的机制,
所以用 Selenium 连登入都不行。
他找我帮忙,但我看了几天一样搞不定,只好来 PTT 发包。
可能价钱 3 ~ 5 千美金开得不对,来信的人不多,且大都没把握。
但也没办法,他预算就这样。
好不容易有位有把握的网友来信,这位也有在这系列文里发文,
但他一开始就说这案子他要 1 万美金才愿意做。
身为中间人,经过一阵与双方的协商后,
最终二位都同意在只实现程式登入的情况下,付出/收取 5 千美金。
一段时间后,这位做好了,也给我们看了 demo;
但同时又跟我们说,他认为因为 !@#$%(不重要略过),所以要改收 2 万美金。
=.=
我听到之后非常傻眼,接着是愤怒。
啊不就还好我朋友没照网友说的先付 50% 当订金!
因为怒到睡不着就自己跳下去研究。
晚上 12 点弄到清晨 5 点,居然弄好了(只有登入)!
一个晚上赚 15 万,是我这辈子时薪最高的一天,
虽然最后我朋友一毛也没给我,因为我们是朋友……
※ 引述《musashi023 (太阳鱼)》之铭言:
: 嗨盖斯,肥肥电资宅
: 之前在准备面试的时候一直有个疑问
: 对于资深主管来说,刷题和side project 是哪个重要一些?
: 我直觉会选side project,但很多时候爬文发现大家都专注在讨论刷题
: 以我自己的面试经验,感觉有些主管对于外系刷题仔有偏见,会有一种:阿你就是会刷题而已,show me your SW experience
: 所以我逐渐会在下班后搞side project
: 但有时候空闲的时候又会想:欧印刷题是不是比较高效呢
: -
: 我自己是觉得side project 应该比较有东西
: 从命题、想架构到实作,有很多可以在面试和主管讨论的东西
这个部分有工作经历就很好说了,不需要为了能够回答这些问题而去做 side project。
: 各位资深前辈怎么看
: