一边照看孩子,一边工作的我
被工作和家庭缠住了?感觉自己效率太低?软件开发大神Beau Carnes用自己的亲身经历证明:打破规律,你需要不一样的人生——明确目标、详细计划、争分夺秒、合理配比……一旦掌握核心科技,大胆前行,你也可以走上人生巅峰。
编译/华佳
原作/Beau Carnes
原文/freeCodeCamp
“普通人才循规蹈矩。所谓的标准只是为了保证没有人落后。但如果你不想只是‘普通人’,你远可以做的更多。并且,凡事皆如此,不只是上学这一件事。”——Derek Sivers,CD Baby创始人。
当你有全职工作还有一群闹腾孩子的时候,学习编程确实很难。但我还是觉得,我的人生需要改变。我写这些绝不是为了炫耀——虽然我确实为自己的成就感到骄傲。我只是想证明,你也可以变得不一样。
过去的一年我做了很多。我拿到了两份Oracle Java资格证明、两张CompTia证书,还有FreeCodeCamp的前端开发资格证明。大部分人通常要花几个月的时间才能考出一个,而我每一个都只花了三个星期。并且,我在一所知名大学完成了软件开发第二学士学位所有的必修课程,用了不到六个月的时间。最重要的是,我有全职工作,还经常花时间在妻子和两个儿子身上,有时候还会做社区志愿者。
当然,能有那么多成就,我非常感谢妻子的体贴和支持。但还有更关键的地方。
你的动力是什么?
在我教了五年书之后,我意识到我不想再当老师了。我喜欢教学生,但我讨厌强迫他们做不想做的事。我无法忍受所谓的教学规定。我甚至对整个教育体系也开始产生怀疑。我们的教育似乎在引导学生从事未来可能会消失的职业。
但我一直对编程情有独钟,有时候还会教我的学生用Scratch and Code的网站学习基础编程。我想要深入学习,想要全情投入。这个想法让我充满干劲。每天无趣的教学生活都在激励我向自己的目标前进。
研究、研究、再研究
切记不要冲动。不同学校的水平以及学术资源都会有所差异,一旦选择错误,可能会产生反作用。
我开始思考哪种学习方法对自己和家庭来说能够双赢。我可以直接去高科技行业工作,但我最终选择了传统的方式:先拿到学士学位。虽然我有些课程可以直接转入新的学校项目,但在查阅许多学校资料之后,我选择了美国西部州长大学(Western Governors University),因为:
1. 所有课程均为在线授课,我可以待在家里而省去外出时间。
2. 可以根据个人来调整进度,这能让我快速完成学习。只要你完成这节课的所有作业和考试,就可以马上学下一门。
3. 成本低:大约6个月3000美元。
4. 这所大学名气不小,还受到奥巴马总统和比尔盖茨的倾情推荐。
5. 这个学位经过专业资质认证,无疑会为我的学历增值。
达成艰难的目标
一开始,我计划用一年时间拿下学士学位。学了一个月之后,我认为我只需要6个月。那个时候我做了一件很重要的事:我详细地计划了每节课结束的精确日期,以保证6个月之内完成。
基本上每节课都能在1到3个星期之内结束,具体还要按照教学要求。除此之外,我还在思考如何快速学习每一门课。在有所计划之后我发现,在大目标下设定小目标极为重要,因为它能确保我时刻有所进步。
我的部分课程计划表
一定要有雄心壮志,因为它能让你进一步鞭策自己。《消费者研究》的一项调查显示,雄心壮志让人更愉悦。我后来都能准时甚至是提前完成自己定下的DDL,超级高兴!
详细的计划
我做了一份非常详细的日程表,这样我就不会在花费大量时间学习的同时忽略家庭和其他事情。我的生活也很丰富,照顾家庭、做志愿者、与朋友交流,甚至每周一次聚会!
一开始的学习时间表,现在的日程表更详细
详细的计划能确保你的生活保持平衡。不过,我禁止自己做一件事:看电视。
在我攻读第二学位期间我一共只看了3集电视剧。计划那么紧,时间根本不够用。而且,看电视还不如陪家人。就算读完学位之后我也坚持不看,这样我才能专注编程。为了实现梦想,有时候必须要放弃一些东西。
忽略那些“黑粉”
在我读的大学里,每个学生都配有一名导师,并且每周要互通电话以保证学生的学习进度。每当我和导师谈起我的雄心壮志,她都劝我实际一点。
我没有照做。相反,我越来越异想天开。我理解她的好意,但我办不到。我就再也没有和她提过这件事。如果有些人不支持你,那就不必和他们分享你的理想。
最大化地利用时间
除了按照计划研究软件开发之外,我还会利用其他碎片化的时间,比如午休。我经常把笔记放在口袋里,以便空余时间随时复习。
学校里我也会请假(现在也会),用来学习课程或项目编程。当我预感到一些课程的考试很难的时候,我就会照着日程表算算哪些天可以请假。我经常思考自己花的时间到底有没有用,然后不断地更新日程表,提高效率。
基本上我要等孩子们都睡着我才能码代码。有一天深夜,我突然发现自己的脑子已经转不动了。于是我做出了改变:晚上9点睡,早晨4点起床写代码(或者制作培训视频)。也许有点不可思议,但我的效率确实大幅提高。
看看别人怎么做
我经常逛Reddit,不仅是为了学习课程,还借此研究别人的学习心得。如果要获得行业资格证书,那值得借鉴的资源则更多。这有利于我用最快的速度完成目标。几乎永远都会有人比你快一步,发现这些人并向他们取经十分重要。
特别是我在钻研freeCodeCamp的时候,我发现咨询前辈大有用处。这个圈子里有经验的人总是很乐意帮助别人,经常在自己的论坛和社区聊天室里提供建议。
有很多次我都在纠结,到底要不要再多花一点时间学习或编程,不过这样就会没时间完成自己定下的DDL。
通常在我感觉自己还没有做到100%的时候,DDL就迫使我进行下一项任务。不过最后来看,这确实很有用。
有时候,把一样东西“做出来”比把它做到“完美”更重要。如果你想每件事情都完美无缺,你永远不可能完成目标。别强迫症,先把东西整出来再说吧!
80/20原则
Pareto Principle 帕累托法则
80/20原则是指大多数情况下, 80%的产出源自20%的投入。拿软件开发来说,你学20%的知识就可以满足实际应用的80%。如果把重心放在那20%上,你就可以节约大量时间。
对我而言,我只会阅读课程要求的20%到30%。根据这个原则,我完全可以理解80%的内容。关键就在于如何选择这20%。我经常问自己:如果我出题,我会考这个点吗?
不管学什么,你都应该问自己,这是不是那20%的内容,这能不能给你带来80%的价值。
还有,“即时信息”也很重要。掌握那些未来你可能不会用的知识对你基本没用,尤其像我这种记忆力很差的人。我学一门课只会记住它需要我记住的信息。
老板们则更关心你做出的项目,而不是你学编程的方法。把握这两条原则,你会事半功倍。
再接再厉
当我拿到学位之后,我仍在学习。我意识到项目很重要,所以我直接上freeCodeCamp开始编写自己的程序和作品集。以前的学习技巧我现在还在用。
甚至当我决定开始创作JavaScript培训视频的时候我都在用那些方法。现在我几乎每天都在Youtube上的freeCodeCamp频道发布JavaScript培训视频。
如果你对我快速攻读学位的事迹感兴趣,那你可以看看这篇文章(点击阅读原文查看)
我希望这些方法会对你有用,尤其是当你和我一样忙的不可开交的时候。
记住:普通人才循规蹈矩。而你可以做的更好!
参考文章:
http://carnes.cc/2016/06/how-i-completed-my-entire-wgu-software-development-degree-in-6-months-76-cus/  
继续阅读
阅读原文