一些可以帮助你成为自学成才的开发人员的技巧
简介
自学是改变人们未来的技能。我知道,这听起来很令人震惊。
但抛开玩笑不谈,在我看来,能够在没有严格监督的情况下持续而严格地学习一门学科,是你能获得的最有用的技能之一。
我一直很钦佩那些能够自学语言、木工或弹钢琴的人。他们似乎很自然地就能坚持8个小时不吃东西。
不幸的是,我有点不一样。从很小的时候起,我就很擅长“转换活动”,或者说,说实话,很擅长放弃。我尝试过游泳、绘画、排球、田径、舞蹈、电气工程、钢琴(还有一些其他课程,尝试了几次之后就放弃了)。
无论我选什么课程,通常都会在两三个月内退学。如果我问父母,他们很可能会承认,他们曾经打赌我会在哪天退学。
现在想象一下我的自学是什么样子的。
尽管如此,我还是好奇、年轻、渴望成功。我很容易就能投入到新的活动中。通过探索新事物,我逐渐明白了如何弥补我天生不愿长期坚持一项技能的缺点——我已经掌握了它。
这些天,我致力于指导即将到来的初级开发人员,帮助他们稳步建立他们有信心的技能,无论他们面临什么挑战。
在我的实践中,我注意到一些学习者正在努力解决我年轻时遇到的同样的问题:如何保持一致、决心并专注于学习而不一次又一次地放弃。
今天,我想分享一些我建议您采用的技巧,以增加您成功学习 Web 开发和成为可靠的自学开发人员的机会,无论是前端、后端还是开发世界的任何其他部分。
这篇文章的灵感来源于Desiré最近发表的一篇类似主题的文章。请务必查看这篇文章,其中还有更多值得参考的建议。
1.设定每日最低学习时间。每天 30 分钟为最佳。📅
我推荐的最重要的规则之一就是每天练习。我说的“每天”是认真的。
学习的最初几个月,特别是当你没有任何技术相关背景时,是至关重要的,因为你正在为后续知识的积累奠定基础。
这条规则确实有好处:从长远来看,它能加快你的学习速度,因为你很少需要重新回顾旧知识。你可能偶尔还是需要回顾一下(有些内容会从记忆中消失,这是很自然的),但你不太可能需要花几个小时去重新掌握那些丢失的细节。很可能只需快速浏览一下你的笔记或主题摘要就足够了。
一开始,人们听到这条规则有时会感到很不适应。这可能和我们习惯了有两个周末可以不用工作有关。一开始,这条规则可能看起来“不对劲”。
但这条规则只是采用分布式练习学习策略,有大量研究证据表明它比集中练习(基本上在较长时间内在一次课程中学习某些东西)更有效。
它也不会强迫你每天练习4个小时。坚持这样的时间表可能非常困难,毕竟我们很多人都有工作、家庭或其他需要定期关注的责任。
这条规则只是要求你设定每天投入的最少时间,包括周末、节假日。当然,也包括奶奶的生日。
事实证明,半小时(30 分钟)是最佳时间,但 20 分钟或 40 分钟也同样适用。
几乎每个人每天都能找到这样的时间。可惜的是,有些日子你可能需要早起或晚睡,甚至可能不得不放弃和朋友一起吃午饭,独自快速地吃完。
当你感觉自己有更多的精力和时间时,继续练习更长时间,规则不应该限制你和你的热情去练习更多,它只会让你保持自律😉
2.使用应用程序追踪学习时间。“Toggl”是个不错的选择。⏱
追踪时间似乎颇具争议。这项技术的好处可能并不明显,所以让我来解释一下。
它能帮助你识别不一致的学习(参见第一条规则)。周日打开计时器的报告,你就能清楚地了解这一周的学习情况。
你坚持练习了吗?哪些日子你投入的时间更多?为什么?哪些日子投入的时间更少?为什么?哪些主题最具挑战性?你应该在接下来的一周再复习一遍吗?这样,你不仅能确保自己努力学习,还能确保自己用心学习。
但最重要的是,它或许能阻止你戒烟。对我这样的人来说,这简直就是个致命伤。
有一天,你可能会到达某个阶段,想要放弃。没关系,这很常见。在我的实践中,这种情况通常发生在学习者(包括我在内)已经到达学习过程的某个逻辑“中点”时。
在这个阶段,你已经对某个主题有了相当多的了解,例如前端开发,但这还不足以让你实现你的主要目标(即找一份工作,建立一些特定的项目,完成一个编码挑战等)。
在那一天,打开计时器应用程序,看看到目前为止你为这项工艺投入了多少时间,这会令你感到非常振奋,甚至会产生这样的想法:“去他的!我为此投入了这么多时间和精力,我怎么会让这些时间白白浪费呢?”
3.找一位导师。参加当地的聚会或加入 Slack 社区(疫情期间)会很有帮助。🧔👱♀️
这条建议非常有帮助。但我想说,拥有一位导师并不会降低或增强你的自学能力。如果你认真思考一下导师是谁,以及他们来这里的目的是什么,那么答案是肯定的。
—导师不应该教你。是的,你仍然应该自学。有很多经验丰富且合格的老师可以教你,坦白说,你的导师可能不具备很强的教学能力(尽管如果他们具备的话会很有帮助)。相反,如果他或她知道这个问题很简单,而且你有能力自己找到答案,那么当被问到这个问题时,他或她会建议你去谷歌搜索。这实际上是你需要的一项非常重要的技能,你的导师很可能也这么认为。
—导师不是你的课程开发者。导师可以建议你专注于哪些科目,或者暂时忽略哪些科目。他们可以帮助你提前确定一些技能的优先级(例如,在熟悉 HTML 和 CSS 之后学习 Git),但他们不负责制定你的学习计划。他们可能会在这方面给你一些帮助,但我并不指望他们为你包办一切。要想自学,你需要学会如何规划你的学习。
那么,导师的职责是什么?
导师的目的是帮助你在尝试通过课程、书籍或文章掌握一些棘手的概念后,将其分解开来。有些主题,例如前面提到的 Promises 或 async/await 语法,比其他主题(例如if
语句)更难。导师可能会提出一些相关的问题,以了解你对主题的理解程度,找出你在压缩过程中的薄弱环节,并进行讨论/解释,并提供有用的资料,帮助你再次挑战主题⚔
他们还能帮助你保持参与。比如,他们可以和你讨论 JavaScript 的新闻,分享工作中的趣事——比如他们整整一周都在叫错一位新认识的同事的名字……其实一点也不好笑。或者,他们会开个无伤大雅的玩笑,说说你上次解决编程难题时犯的错误(幽默感对建立自信至关重要)。
最后,同样重要的是,导师会与你分享他/她的经验。这些经验可以与技术紧密相关,例如代码审查和结对编程。也可以是技术范围之外的经验,例如自我管理特质、求职、撰写文章。
这也可能与非常私人的事情有关。但你需要信任你的导师,反之亦然,导师也必须表现出值得信赖。工作和个人生活往往紧密相连,一方发生的任何事都会影响另一方。我们是人,这很正常,但有时它可能会对你产生很大的影响,所以如果你信任你的导师,不妨向他们寻求建议。
我想分享一个我和我的合作伙伴已经工作了一段时间的项目。
我们提出了一个具有挑战性的项目来帮助需要展示技能并希望建立作品集的初级前端开发人员,以缓解在该行业找工作的困难。
您可以在https://banda.works/housework-undoer上查看。
Housework Undoer是一个组织成单独任务的项目,通过它您将构建一个前端应用程序来帮助我们的(假想的)朋友杰克。
我们准备了一个美观的设计和背景故事,因此我们希望它对您来说应该是愉快和有趣的,同时仍然提供足够的挑战来向潜在的雇主展示您的技能。
要完成该项目,您需要掌握一些主要框架/库(React、Vue、Svelte、Angular 等)的技能,尽管无需掌握这些技能,只需使用纯 JS 即可完成该项目(但请记住,雇主通常期望您具备其中一种主流技术的知识和经验)。
在未来,我们计划创建更多项目,包括后端和移动端相关的项目。但我们也非常需要您的帮助:如果您尝试参与这个项目,请向我们发送反馈、您的想法和问题。该项目完全免费,我们非常感谢您抽出时间通过team@banda.works与我们分享您的想法。
感谢您抽出时间,祝您度过充实的一天!💪
鏂囩珷鏉yu簮锛�https://dev.to/bandaworks/a-few-more-techniques-to-help-you-become-a-self-taught-developer-30mi