freeCodeCamp.org 全职开发者 Beau 的自学编程经历

freeCodeCamp.org 全职开发者 Beau 的自学编程经历
0

校对请对照原文

本文作者 Beau Carnes,曾经是一名 K-12 老师,目前是 freeCodeCamp.org 的一名全职开发者,主要负责制作或管理 freeCodeCamp Youtube 频道的大量编程视频教程。这篇文章记录了他在作为 K-12 老师全职工作并且作为两个孩子的父亲的状态下,如何在一年时间内获得第二学位以及 5 个开发者证书。

“标准的节奏是为愚者设计的——系统这么设计是为了让任何人都跟得上。如果你比“任何人”更有动力——那么你的成就会大大超出任何人的预期。不仅仅在学校里是如此,生活的方方面面都是如此。” ——Derek Sivers, CD Baby 创始人

学习编程是一件具有挑战性的事情——特别是当你已经成家,有了小孩儿,还有一份工作的时候。尽管如此,我还是认为我的人生不应该是标准的节奏。

我写这篇文章的目的不是为了吹嘘——尽管我对这些成就感到非常自豪。我只是希望让读这篇文章的人也相信自己的人生可以有所不同。

在过去的一年中,我做了很多事情。我获得了两个 Oracle Java 证书,两个 CompTia 证书和freeCodeCamp 前端证书。大多数人获得其中一个证书都得准备好几个月,但是我每花三个星期就拿到一个证书。

此外,我在不到六个月的时间内学习了软件开发课程,从一所正规大学获得第二学位。

我在完成这些事情的同时依然保持全职工作,经常与我的妻子和两个小孩相处,并且在我的社区做志愿者。

有一位了不起的另一半在身边支持我,是我达成这些成绩的关键因素之一。 :heart_eyes:

当然还有些其他因素。

是什么驱使着我?

我曾是一名 K-12 老师,在学校待了五年之后,我意识到我不想以后也都待在学校上课。

我喜欢上课,但我不喜欢强迫孩子们去做他们不喜欢的事情——而这,不可避免也是我工作的一部分。

我所在的城区学校的课堂管理非常紧张,我对整个教学体系也感到失望。我们似乎正在培养学生未来被人工智能取代。

我一直对编程感兴趣,甚至有时用 Scratch 和 Code.org 教我的学生们基本的编程知识。我觉得是时候全面学习编程,并且以此作为我的全职工作了。

想换工作就是我的驱动力。在学校上课的每一天都激发我不断向自己的目标前进。

反复调研

一定不要急于开始学习。学校或学习资源数量繁多,质量也参差不齐。一旦选择失误,你会在达成目标的过程中走不少弯路。

我试着确定哪种学习方法最适合我和我的家人。虽然我知道有很多方法可以进入科技行业,但我决定采用一种传统的方式:读一个学士学位。我知道我已经学过一些课程,可以转入新课程。我调研了许多学校,最终选择西部州长大学,原因如下:

  • 可以在线读学位,所以我不需要在交通上花时间。

  • 可以自主安排学习节奏,所以我知道我可以很快完成所有课程。只要完成一门课的所有作业和考试,就可以立即进入下一堂课。

  • 学费很低——六个月的课程大概花 3000 美元。

  • 这是一所广受认可的大学,奥巴马总统和比尔盖茨都推荐过它。

  • 读完这个学位可以获得行业认可的证书,会为我的教育背景加分。

设定远大目标

起初,我的目标是在一年内读完这个学位。经过一个月的学习,我决定把时间周期改为六个月。

我快速学完这些课程的方法是:规划完成每节课程的具体日期,确保在六个月内完成。

我根据课程要求为每节课程安排一到三周的学习时间。我当时还制定了如何很快完成每节课的计划。在整个学习过程中,设定很多子目标可以帮助我始终保持好的节奏,这是非常棒的。

%E5%9B%BE2

上图是我的部分学习计划。

设定远大目标非常重要,帮助我自我驱动。 《消费者研究期刊》的一项研究表明,远大目标让人们更快乐。我最终都达到了我为自己设定的最后期限或者提前完成,这让我非常开心!

详细时间表

我创建了详细的每周时间表,以保证在花大量时间学习的同时能够兼顾我的家庭和其他事情。我安排了家庭聚会时间,志愿服务时间,朋友聚会时间,以及每周约会之夜!

%E5%9B%BE3

上图是我刚开始学习时列的日程表,现在的日程表更加详细了。

详细时间表帮助我保持生活的平衡。但是,有一件事我没有安排进我的日程: 看电视

在读学位期间,我只看了三集电视剧。为了实现目标,我的时间表排得非常紧,所以我没有时间看电视。另外,花时间看电视就意味着陪伴家人的时间减少了。自从毕业之后,我一直都限制自己看电视的时间,因此我可以专注编程。

为了实现我的目标,我必须放弃一些事情。

忽略那些反对者

西部州长大学为每个学生都安排一名导师。导师每周都会和学生通话,以帮助他们保持正常学习进度。每次我和导师分享我的目标,她都鼓动我把目标调整得更合理一些。而我却决定把目标设定得更”荒谬“。我知道她是出于好心,但我决定不再理会她的警告并且不再与她分享我的目标。

有时候,我们不需要和某些不会鼓励反而阻碍我们的人分享目标。

最大化利用时间

除了我预定的学习软件开发的时间外,我还找到了一些方法进行更多学习。例如,我用了大部分的午休时间来学习。另外,我经常在口袋里放着笔记本,每当我有空闲时,我都可以查看。

此外,我也曾(目前仍会)休假几天来学习课程或者是跟进编程项目。在我修学位期间,因为有的课程的考试比较难通过,所以我会休假几天来保证学习进度。

我总是不断重新评估我的日程安排,以及如何花时间让我有更大的效率。

我常常在孩子们睡觉之后编程。然而,我发现熬夜太晚,我的大脑有些迟钝,我就调整了我的睡眠时间表。所以我现在晚上9点左右睡觉,凌晨4点醒来编程(以及制作视频教程)。这样的方式可能听起来有点疯狂,但大大提高了我的工作效率。

学习别人的经验

我花了很多时间浏览我大学的 Reddit 页面和各种论坛,阅读其他人分享的对他们的学习有益的方法。有很多资源可以用于辅助修一个行业证书。这些都帮助我更好地计划最快的路径。

总会有些人比你先踏上这条路,所以找到这些人并向他们学习是很重要的。

在学习 freeCodeCamp 的课程时,向他人学习也非常有帮助。社区中经验丰富的人们经常在论坛和社区聊天室中为大家提供帮助或建议。

尽管交付!

%E5%9B%BE4

交付的意思是把一个完整的产品发出去。

我常常会考虑我是否需要花更多的时间在项目上或学习上。然后我就发现如果我想赶在自己设定的最后期限之前交付的话,我并没有那么多时间。

往往是我觉得自己有十足把握之前,就到了最后期限,那我也不得不交付。这当然是有好处的。

我发现把项目交付出去比力求使其完美更加重要。如果你想做到尽善尽美,那你可能永远都完成不了。即便你还有些犹豫,也尽管交付吧!

二八原则

%E5%9B%BE5
二八原则的意思是,对很多事件来说,80% 的产出来自 20% 最关键的行动。在学习软件开发时,这意味着之后实际使用的大约 80% 都是 20% 的学习内容。如果你专注于这 20%,你可以节省很多时间。

对于我的学位来说,我只阅读了所要求内容的 20-30%。根据二八规则,这足以理解这门学科超过 80% 的内容。

诀窍在于需要确定关注哪 20%。我经常这么会问自己,“如果我正在设计试卷,我会采用这些材料吗?”

真的,在学习任何东西时,你应该问问自己,它是否是 20% 的学习内容,可以带给你 80% 的价值。

这就涉及即时信息的概念。学习一些你不打算在近期使用的东西通常是没有好处的,特别是如果你也跟我一样记忆力差劲的话。我只会学习我当下所做项目所需要的知识。

你的老板通常更关心你所做项目的结果,而不是你学习编程的过程。牢记这一点有利于你决定如何最好地利用你的时间。

不断往前推进

在完成学位之后,我也没有懈怠,而是继续学习。我意识到做项目的重要性,所以我直接开始在 freeCodeCamp 创建个人项目来制作我的作品集。并且我在修学位时所使用的所有方法都能继续派上用场。

当我决定开始制作 JavaScript 视频教程的时候,这些方法也能用得上。现在我几乎每天都会在freeCodeCamp YouTube 频道上发布 JavaScript 视频教程。

如果你感兴趣了解我具体是怎么学习西部州长大学学位的每门课程的,你可以看这篇博客

我希望我使用的一些方法对你也有帮助,即使你跟我一样生活忙碌。

请记住:标准的节奏是为愚者设计的,而你可以做得更好!

1赞

@miyaliu,您好,我想校对本篇文章,盼回复呀。

棒棒哒!欢迎校对哈哈~我把标签改为 “校对中” 哈,你校对好的文章发在这个帖子下面,然后再艾特我发布。校对过程中有什么问题可以在帖子下面讨论哈。

另外你去这个帖子里 翻译流程及规范 在相应的文章后面署名,校对者:你的姓名或者昵称(之后我们发布在公众号的时候会使用你的署名):blush:

@miyaliu,您好,第一次校对,欢迎给反馈建议,请查收。
学习编程是一件具有挑战性的事情——特别是当你已经成家,有了小孩儿,还有一份工作的时候。尽管如此,我还是认为我的人生不应该是标准的节奏。
我写这篇文章的目的不是为了吹嘘——尽管我对这些成就感到非常自豪。我只是希望让读这篇文章的人也相信自己的人生可以有所不同。
在过去的一年中,我做了很多事情。我获得了两个 Oracle Java 证书,两个 CompTia 证书和freeCodeCamp 前端证书。大多数人获得其中一个证书都得准备好几个月,但是我每花三个星期就拿到一个证书。
此外,我在不到六个月的时间内学习了软件开发课程,从一所正规大学获得第二学位。
我在完成这些事情的同时依然保持全职工作,经常与我的妻子和两个小孩相处,并且在我的社区做志愿者。
有一位了不起的另一半在身边支持我,是我达成这些成绩的关键因素之一。
当然还有些其他因素。
是什么驱使着我?
我曾是一名 K-12 老师,在学校待了五年之后,我意识到我不想以后也都待在学校上课。
我喜欢上课,但我不喜欢强迫孩子们去做他们不喜欢的事情——而这,不可避免也是我工作的一部分。
我所在的城区学校的课堂管理非常紧张,我对整个教学体系也感到失望。我们似乎正在培养学生未来被人工智能取代。(不通顺:我们似乎正在培养未来将被人工智能所取代的学生。)

嗯嗯,这样说确实更好!这是你改动的地方是吧?还有其他地方吗?

“标准的节奏是为愚者设计的——系统这么设计是为了让任何人都跟得上。如果你比“任何人”更有动力——那么你的成就会大大超出任何人的预期。不仅仅在学校里是如此,生活的方方面面都是如此。” ——Derek Sivers, CD Baby 创始人

其实这段我觉得自己翻译得不太好,特别是第一句: 标准的节奏是为愚者设计的。

你有好建议的话也可以修改一下。

将pace翻译成“步伐”怎么样?
“标准的步伐是笨蛋。该系统的设计可以使任何人都能跟上。如果你比“任何人”更有动力-你可以做得比任何人都期望的要多得多。这适用于所有生活-而不仅仅是学校。”——CD Baby的创始人Derek Sives。
(1) “我最终都达到了我为自己设定的最后期限或者提前完成,这让我非常开心!”
语义 :我最终 都达到或超过了 我为自己设定的最后期限,这让我非常开心!)
(2)“每次我和导师分享我的目标,她都鼓动我把目标调整得更合理一些。”
语义 :每次我和导师分享我的目标,她都 鼓励 我把目标调整得更合理一些。)
(3)“我花了很多时间游览我大学的Reddit页面和各种论坛,阅读其他人分享的对他们的学习有益的方法。”
语义 :我花了很多时间在Reddit页面上为我的大学和各种论坛阅读其他人所做的事情, 帮助他们上课 。)
(4)“请记住:标准的节奏是为愚者设计的,而你可以做得更好!”
(请记住:标准的步伐是笨蛋。你可以做得更好!)

1赞

校对完毕,正式发布链接:《freeCodeCamp.org 全职开发者 Beau 的自学编程经历》

图片无法访问了。

非常感谢反馈!上周末我们对论坛服务器进行维护,这个过程可能有些小 bug,我会反馈给技术团队,还发现什么问题请帮忙指出哦 :blush:

I have rebuilt the database, and this should have been fixed now. Thanks for reporting the issue and your patience with the server migration.