登录
首页精彩阅读程序员奶爸的心路历程:如何在一年内获得五项开发者认证和第二学位
程序员奶爸的心路历程:如何在一年内获得五项开发者认证和第二学位
2017-03-27
收藏
前言
工作和家庭难以兼顾吗?美国程序员小哥实力演绎如何在带娃的同时,在一年内获得五项开发者认证和第二学位的。
我边工作边带娃的场景

CD Baby 的创始人 Derek Sivers 曾说:“所谓标准的节奏是为傻瓜设定的,是为了让任何人都能跟上。如果你比任何人都更有动力,那么你可以实现更多他人所达不到的。这适用于生活的方方面面,不仅仅针对读书。”
 
学习代码是极具挑战性的,特别是当你需要兼顾工作和家庭,且家里还有小孩子时。尽管如此,我还是认为所谓标准的节奏并不适合我。
 
我这么说并不是出于自夸,尽管我为这些成就感到非常自豪。我写这篇文章的目的为了告诉你,所谓的标准节奏可能也不适合你。

在过去一年我完成了很多事情。包括获得了两个 Oracle 的 Java 认证,两个 CompTia 认证和 freeCodeCamp 的前端认证。以上任何一个认证,大部分人都需要准备好几个月,但是我每个认证仅花了 3 个星期。
 
而且在不到 6 个月的时间内,我完成了所有必修课程,获得了软件开发的第二学士学位。

与此同时,我有一份全职工作,并且我会一部分时间陪妻子和两个小孩,以及在社区进行志愿者工作。
 
完成这一切的关键之一在于有一个支持我的妻子。同时还有以下因素。

明确自身的动机
在担任五年 K-12 老师之后,我意识到我并不想在学校里继续教书。
 
我喜欢教学,但我讨厌强迫孩子们去做他们不想做的事。我所在学区的课堂管理让人很有压力。同时我也对整个教育制度感到失望。学校里所教授的课程并不适用于当今社会上的工作。
 
一直以来我都对编程十分感兴趣,甚至有时教会我的学生使用 Scratch 和 Code.org 进行一些基本编程。我决定是时候为此投入更大的精力,并将其作为我的全职工作。
 
想换一份新的工作是很大的动机。每天的教学工作都在激励着我努力去实现我的目标。

研究,研究,再研究
重要的是不要急于学习,并不是所有的学校和学习资源都是值得投入精力的。有时错误的选择会影响你实现自己的目标。
 
我试图确定什么样学习方式对我和我的家人最有利。虽然有很多方式可以让我进入科技行业,但我决定采用一种传统的路线:攻读学士学位。我考虑过很多学校,最终我选择了西部州长大学,原因如下:

1. 该学习所有课程都可以线上学习,所以我不必和家人分开。
                                                
2. 可以按自己的节奏学习,所以我可以很快的完成课业。一旦完成一门课的所有作业和考试,就可以立即学习另一门课程。
 
3. 成本低 ,学费约为每 6 个月 3000 美元。
 
4. 学校声誉好,受认可。并被前总统奥巴马和比尔盖茨推荐过。
 
5. 该学位受到行业的认证。

雄心勃勃的目标
最初,我的目标是在一年内拿到学士学位。 在开始一个月后,我决定缩短目标为6 个月内完成。
 
为了能够快速实现目标:我制定了一个详细的日程表,具体到某一天完成某门课程,以此促进我能够在 6 个月内完成拿到学位。
 
根据课程的具体要求,我把每门课的完成时间安排在 1 至 3 周之间。同时也制定了相关计划以便快速完成每个课程。在整个学习过程中有设定阶段性小目标是非常有效的,这能够实时查看我处在计划的哪个阶段。

以上是我曾用于计划课程的表格
 
雄心勃勃的目标很重要,这给了我更多的动力。 消费者研究杂志的一项研究表明,雄心勃勃的目标使人更快乐。对我而言,如果我按时或提前完成了规定目标,我会十分开心!

详细的计划
我制定了一个详细的每周计划,以此督促我投入大量的时间进行学习,同时不疏忽我的家人和其他责任。我计划了与家人相处的时间,社区志愿工作的时间,与朋友相处的时间,甚至每周与妻子的约会之夜!
 
以上是我刚开始攻读学位时制定的计划表,现在有一个更详细的计划表
 
详细的计划有助于生活保持平衡。但是,有一件事我没放在计划里:看电视。

在整个学习期间我只看过 3 集电视节目。制定紧凑的计划,这确保我可以顺利达成目标,因此我没有时间看电视。任何花在看电视上的时间都意味着与家人相处沟通的时间更少。自从毕业以来,我一直在限制看电视的时间,从而我可以专注于编程。
 
为了完成目标,我必须付出代价。

忽略反对与不解
西部州长大学的所有学生都会分配一位导师。学生每周需打电话给导师,确保他们的学习进度。每当我与我的导师谈及我的目标时,她都会劝说我不要给自己太多压力,应制定更为合理的目标。
 
长此以往,我没有制定更合理的目标,反而制定更不可思议的目标。我知道她的出发点很好,但是我决定忽略她的建议,并且不再与她分享我的目标。
 
如果预计得不到对方的鼓励与赞同,有时不与对方分享自己的目标反而是件好事。

使时间最大化
除了已安排的学习时间之外,我还想方设法创造机会学习。 例如,我会用大部分的午休时间来学习。此外,我经常在口袋里放着笔记,在空闲时间翻看。

我常常不断审视我的日程安排,以及我是如何利用这些时间的,以便提高学习的效率。
 
之前我一直习惯在孩子入睡后学习编码。 然而,我注意到在每天结束的时候,人的大脑也十分疲倦了。从而我改变了睡眠安排,现在我每天晚上 9 点左右睡觉,早上 4 点醒来学习(并制作教学视频)。 这听起来可能有点疯狂,但却大大提高了我的学习效率。

向他人学习
我常常浏览 Reddit 和各种论坛,了解其他人是怎样更好的完成学业的。对于行业认证,那里有许多的优质资源。这使我能够更好更快的完成学业目标。
 
总会有人走在你的前列,那么发现他们以及向他们学习无非是至关重要的。
 
在学习 freeCodeCamp 课程时,向他人学习是非常有帮助的。学习社区里有许多经验丰富的大神十分乐意提出建议和解决你的问题。

Just ship it!
这里  ship  可以理解为把完成品发送出去
 
有很多次,我都在思考是否需要投入更多的时间到项目和学习上。然后我会意识到,我没有那么多时间如果想按时完成指定的目标。
 
目标的最后期限迫使我不在有十足的把握前采取行动,事实证明这是正确的。
 
而且更重要的是要做出成果来,而不是尽善尽美。如果想保住一切都完美无缺,那么你讲永远也完成不了目标。所以一旦有疑问时,不要举棋不定,尽管放手去做吧!just ship it !

80/20 法则


80/20 法则指的是,对于很多情况来说,20% 的投入能够带来 80% 的产出。学习编程时,这意味着你所学到的20% 的内容足以囊括今后你需使用的 80% 的技能。所以专注掌握那 20% 的关键内容,能够节省大量时间。
 
攻读学士学位时,我只读了所需内容的 20-30% 。根据 80/20 法则,这足以覆盖超过 80% 的实际应用。

诀窍在于确定哪  20% 的内容需要集中学习。我常常自问:“如果我在编写试卷时,我会考这个内容吗?”
 
当学习任何技能时,你都应该扪心自问是否掌握这 20% 的内容,能够给你带来 80% 的收益。
 
这还涉及即时信息的概念。学习将来不会使用的东西通常是没有用的,尤其是当你的记忆力和我一样糟糕时。
 
雇主经常关心的是你所完成的项目,而不是你如何学习编程的。记住这一点将有助于最好地利用时间。

不断进步
一直到完成学位,我从未停止过学习。我意识到项目的重要性,所以在 freeCodeCamp 学习时我就开始着手个人项目。同时在攻读学士学位时不断制定相应计划和策略。
 
在开始制作 JavaScript 教学视频时,我也继续使用这些策略。现在我几乎每天都在freeCodeCamp 的 YouTube 频道上发布 JavaScript 教学视频。
 
我希望我使用的一些策略也可以帮助你,即使你的生活和我一样忙碌。
 

记住:所谓的标准节奏是针对傻瓜的。 你可以做得更好!


原作者 Beau Carnes
编译 CDA 编译团队
本文为 CDA 数据分析师原创作品,转载需授权


数据分析咨询请扫描二维码

客服在线
立即咨询