微信号:FrontDev

介绍:分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯

30岁文科女,凭什么4个月从零基础到跨国公司前端?

2017-05-08 20:21 前端大全


在时间高度浓缩的四个月里,我如何从一个门外汉变成了一个职业程序员?


文/ 0.618

Udacity 学员,心理学本科,教育学硕士。

首发于优达学城(Udacity)官方知乎账号(知乎搜索:优达学城)


在我马上要过30岁生日的时候,回顾29岁这一年,发现自己还一事无成。虽然以前也一事无成,但起码没有停止折腾。而这一年,看看日记,还没做什么让自己特别有成就感的事。反倒是很多一直想做的事情拖着没做。我觉得不能再拖延了。


我一直以来都想系统地学学编程。这是我“有生之年”列表中的重要一项,不如抓紧时间解决掉。况且如果能够再换个工作,改行程序员,就可以赚更多钱了。


于是我给自己定了一个小目标,在11月11号报名 Udacity,争取年底学完。一个前端纳米学位估计不够,我的原计划是快速把前端开发学完(12个月内学完退50%学费),然后报名全栈网站开发。因为那个“找到工作否则100%退款”的担保看上去信誓旦旦的,很想亲测一下。不过后来事实证明,Udacity 的课还是很有挑战性的。我最终用了 3 个月才学完。不过并没有学全栈开发,因为学完接下来一周就有猎头联系我,又过了两周就拿到 offer 了。从11月11日报名 Udacity 到3月7日拿到 offer,总共不到4个月。


我本来是抱着测试的心态,看看究竟 Udacity 能不能兑现承诺。能的话我能换个工作,不能换工作,我也技多不压身。


没想到“我有这么快!”



昨天看到我这几个月以来的日记,我自己也感慨了一下。


11月11号报名。第一周完成了两个项目,第二周完成了一个项目,第三周一个也没完成……后来一个项目要花两三周。我对自己的计划也逐渐从年底学完到两个月内学完,到三个月内学完,到交第四次钱前学完(因为第一周是免费的)。2月17日毕业,2月22被猎头搭讪完成第一轮面试,一周后29日电话面试,一周后3月7日去公司和团队面试。几个小时后拿到offer。这时间高度浓缩的四个月,我从一个门外汉就这样马上要变成一个职业程序员。


回顾一下我这四个月在 Udacity 学的东西,自己也很骄傲,每一样都像是打开了一个新世界的大门。GitHub, JavaScript, AJAX, Jasmine, Grunt, 60fps ......现在我每天睡觉前如果发现这一套 GitHub 没有提交新的 contribution 就会很焦虑。做了一个小游戏,一个地图,还有用 HTML5 给图片加字。当时看到那个写川普推特的程序,瞬间就知道是怎么做的了。因为跟着 Udacity 做过一个几乎一模一样的。很有成就感。



谈谈 Udacity


在报名 Udacity 前,我已经在其他在线学习平台上拿到了“Programming For Everybody”的优秀证书,学了包括 HTML,CSS 等等的几十门课,还把 CodeAcademy 上的 HTML,CSS,JavaScript 课程都刷得差不多了。再往前追溯,我高中还学了你们可能听都没听说过的 Visual Basic(VB),并且拿了计算机二级的优秀证书。所以严格来说,并不能算零基础


但是这么多年,这么多时间,这么多证书,在我学完这四个月 Udacity 课程以后看来,就是零基础。


我以前经常思考一个问题,为什么我学英语学了几十年,英语还是那么差。美国人学中文一两年就能学得很好?语言学习问题这里就不展开讨论了,但是我分析过 Udacity 的课程以后,也许会对你的学习有所启发。也让我更加坚信《再给我一次机会,我可能不会上大学》。


回想我高中学VB也学了好几个月,但是最后只是会一些简单的逻辑语法。我自己非常想做一个小程序,跟老师描述了,但是老师说这个不考,不用想太多。最后的考试分为笔试和机考,笔试很多就是用人脑模拟计算机,推算计算机会输出的结果,写在答卷上。但这完全不符合实际应用,因为编程中很多时间都是在试错啊。所以考试是优秀,但还是什么也不会做。


类似的就是在一个 MOOC 平台上学的 Python 课。学了一些语法,做了一些基础概念题,拿到优秀证书。发现啥也不会做。


有没有觉得很熟悉?学校教育基本上就是这样的,严重和社会脱节。所以很多人工作以后发现,在工作中比在学校学得更快更多更灵活。


Udacity 自从转向职业教育以后,变成了以项目为中心的一个比较严密的教学系统。单独一个课程是免费的,看下来跟其他教学平台无异。因为 Udacity 最创新的是项目的设计。真正动手去做了这些项目才能体会到困难和成就感。

我从做第三个项目开始就经常会陷入巨大的挫折感中,因为很多内容 Udacity 并没有教。比如第三个项目中用到 Grunt,于是牵扯到很多 Unix 的命令。我就只有自己另外找资料学习。很快就变成了每天都用到的基本技能。


我很感谢 Udacity 的第一章里就给我们打预防针。第一章,“建立程序员的思维定式”,就是在说程序员经常陷入困境,找资料和 debug 都是家常便饭。刚开始看觉得蛮可笑的——这到底是有多怕把人吓跑啊?后来发现 Udacity 真是用心良苦。如果新人不知道这些,很可能会自我怀疑,觉得自己不聪明,不适合当程序员。然而事实是,这就是日常,所有人写程序都会卡住,再大的网站都可能出 bug ,宕机,误删数据库。


拥有程序员的思维方式在面试中也很有用。面试官如果问你最大的优势是什么,或者让你说说你怎么克服困难的,你就可以讲一个自己技术不好但是靠着耐心一点点尝试和学习,最后战胜困难的故事。这时候他们就会觉得你跟他们心有戚戚焉。


优达学城这几个项目做下来,基本上就覆盖了各种前端基本项目的经验:游戏那个关于面向对象的编程和与团队合作撰写一部分代码,地图是从头到尾自己写和API。这两项应该是前端比较核心的技能。然后 60fps 网页优化可以在面试中给面试官留下比较深刻的印象。因为很多人并不关注,学校不强调,一般人也不读 Google Web 文档。


优达学城关于找工作的辅导也很有帮助。一方面可以给我的简历和求职信把把关,另外还推荐了不少找工作的相关资源。我还非常感谢 Udacity 的职业导师 JP。你也许跟我一样身边并没有非常亲近地可以给你很多指导并且有相关职业经验的人。Udacity 导师就是这样一个角色。我从快毕业开始每周会约见他15分钟,跟他聊聊我找工作的进度,他会给我一些建议,比如找工作的节奏,比如面试的时候要注意些什么。当然,很多内容在之前的相关资源里面是有的,不过能有个前辈跟你聊一聊会感觉更有底一些。



这个路径能不能复制?


能一定是能,我不是第一个完成这个路径的 Udacity 学员,每天全世界都有很多。以前我以为只是广告,但是我现在相信了,那些拿到纳米学位以后去 Google,Facebook 的都是真人真事。


另外,你们不要以为我用了3个月,而不是 Udacity 网站上写的平均 6-8个月,就觉得我很牛。Udacity 也写了平均要 260 个小时。我用 Toggl 记时显示,总共差不多用了 300 小时。我开始的计划是每天晚上 7-11 点,工作日五天是20小时,周末两天20小时。这样下来每周就有 40 小时了。但是,赶上圣诞节,我出去玩儿了几天,虽然也在学习,但时间远远没达到。工作忙的时候,有两周晚上基本上没有学习。


中间也遇到很多困难和问题,我很佩服 Udacity 论坛的导师,最晚也能保证 24 小时内回复我的问题。有时候问题实在是复杂或者问了太多次不好意思,我就带到安娜堡本地的 meetup 学习小组。总是会有好心人花上一两个小时帮我解答问题和 debug。这也是我喜欢这个群体的一个原因。和这些人一起工作学习多好啊。



关于年龄问题 


我在10岁的时候很想学钢琴,但是我们班的钢琴天才 3 岁就开始学了。我觉得自己太老,钢琴需要童子功,于是就没学。


后来我经常引以为戒,因为现在不学,以后更老。死之前不学,就会留下终身遗憾。


经常看到国内程序员讨论“程序员只能做到35岁吗?”,“华为变相辞退34岁员工”。也看到很多招聘启事上面大大方方地写着年龄要求“36岁以下”。这种现象跟把“27岁以上单身女青年”叫做“剩女”有类似逻辑。就是把人按照年龄进行分类了。但是如果你深入一点看,为什么会这样简单粗暴地按照年龄分呢?因为确实很多人“30就死了,80岁才埋”。聪明的公司肯定不会花这个冤枉钱。相反,如果你能创造价值,哪怕你70岁也一样可以竞选总统。任正非自己也七八十岁的人了,还在工作,他会不知道?


国内少有35岁以上程序员我觉得还有很多原因是过去学计算机的本来就不多,随着前些年互联网的爆发,那些老程序员一定必须要承担起很多管理和培养新人的角色吧。于是很难奋战在一线。


还好我在美国很少听人提起年龄的事情。无论是在学校学交互设计还是在本地参加程序员线下聚会,都能看到白发苍苍的老人。线下聚会中,老人可能比年轻人还更积极一点。有一次一个跟看起来跟我爸差不多大的老程序员在 meetup 学习小组教了我好多东西,后来聊起来才知道,他也才入行不到两年。自学成才。通过这个学习小组找到的新工作。


我在27岁申请来美国读硕士,30岁转行程序员。我还要活差不多70年,也就是差不多两个自己从出生到现在。那得是多少时间啊!如果之后的两个30年不能像第一个30年一样成长,岂不是太浪费了?


事实上,你也许会跟我一样发现自己现在学习的速度比以前快得不知到哪里去了。首先是现在的多媒体和课程设计都比过去好玩儿了很多。比如 Udacity 这种很高效的课程。另外,以前所有的知识和经历都是再学习的基础。学得越多就越快。就像小孩儿学编程至少还要先学识字和算术,但是大人自己会阅读,就会快很多。


很多年前我虽然对编程感兴趣,但是一听说计算机发展太快,需要终身学习。我就庆幸自己不是码农,不用过得那么累。但实际上,所有工作中的安逸都已经被暗中标好了价格。其实每一个工作都需要终身学习,只是其他看起来没那么明显,人们怪公司效益不好,怪自己年纪大,怪行业不景气……但是,很少有人能像程序员一样正视自己:我还需要学习。或者哪怕像中国一些程序员一样意识到,我太老,学不动了,所以不能当程序员了。


有人说,我可以找一个越老越吃香的职业。这种职业真的存在吗?我来翻译一下,这些人所谓的“越老越吃香”的工作一般是因为越老经验越多,而且这种经验不需要刻意学习其他东西,只要重复本来的工作就可以获得经验的提升。你知道吗,这个过程机器学习得比你快多了。这样的行业很有可能被人工智能代替。



要不要转行做程序员?


你真的要这么做吗?你真的喜欢写程序吗?还是仅仅是看到程序员收入高?有人做着快乐的程序员,有人变成了快乐的程序员,有程序员转行后很快乐……你是哪一种?


吾之蜜糖汝之砒霜。其实这些都不是问题。试试就知道了。我以前读过一篇心理学论文,是说比起“后悔干了什么”人们更“后悔没干什么”。如果编程也在你的“有生之年”清单上。那就不要让自己后悔啦。


我现在挺喜欢的,也许是因为还没有迎来瓶颈期。不过,哪怕不转行当程序员,我也一定会学编程的。


我记得世纪之交的时候,流传一句话,二十一世纪人才必备三大技能:英语、编程、开车。现在看来,编程已经快要把英语和开车都搞定了。


难道你就不对这么强大的技能点有着一丝丝地好奇吗?


▲ 本文为优达学城(Udacity)学员原创,作者 0.618文章仅代表原作者观点,图片来源于网络。




最后3天!

加入 Google & GitHub 升级版前端课程!


硅谷技术学习平台优达学城(Udacity)与 GoogleGitHubAT&T 和 Hack Reactor 的网页开发专家及招聘经理共同设计了两个认证项目,帮助学习者系统掌握前端开发技能,达到行业领导者认可的硅谷水平。



加入课程,你将获得:


硅谷独家课程内容,Google、Github 开发课程并颁发认证

我们提供业内独家硅谷技术课程,课程及实战项目均与 Google、GitHub 等领先科技企业共同设计制作。此外我们还为学员提供一对一的在线学习辅导,学完课程即可获得名企颁发的学习认证,获得更多就业机会。


全中文的学习辅导

我们来自硅谷,但我们一直致力于让学员在本地进行更顺畅的学习。升级后的纳米学位项目,不仅拥有更完整优质的全套字幕,更为学员提供全中文的专业辅导,一样的硅谷标准,不一样的母语体验。


每周一次直播辅导,答疑没烦恼

除了学习来自硅谷领先企业的课程视频、实战项目你还可以参与每周一次的专业直播讲解还有很多 Udacity 独家学习资料等待你来探索。


加入同步学习小组,在导师监督下加速成长

你将加入学习小组认识志同道合的小伙伴,在导师全方位的监督辅导下,用最高效率掌握前沿技能成为顶尖人才。


>> 课程报名倒计时最后3天,点击[阅读原文],立即升级技能!


专属福利来啦!  作为[前端大全]粉丝的你,在报名最前沿的 Udacity 前端开发课程时,可以使用我们的专属优惠码: "frontdev",在购买时输入即可立减 300元!只有关注了我们的你,才可以使用哦~


长按二维码关注,每天离硅谷更近一步!



课程报名倒计时最后3天,点击[阅读原文],立即升级技能!

↓↓↓
 
前端大全 更多文章 BOOM:一款有趣的Javascript动画效果 简单粗暴地理解 JS 原型链 响应式网页设计中的 Break Point 怎么轻松学习 JavaScript Angular 4.1.0 发布,新支持 TypeScript 2.2 和&n
猜您喜欢 Rancher k8s技术沙龙8.7北京站 别转管理,十年程序员老鸟给新手的几条忠告 ServerSAN解析(一):vVNX专业存储设备虚拟化 聚焦人员能力 完善能力体系 — 测试COP 2016运营思路 RAIL简介:一个以用户为中心的性能模型