如何保持学习编程的动力

有人问我, Reddit 是什么网站,我想了下说: 美国贴吧程序员

但话说回来,关注了一阵子我发现,Reddit 上的讨论真要比贴吧不知道高到哪里去了,甚至比很多知乎回答要有价值。并且感受下面的讨论氛围也更好些。编程

我在上面关注了 learnprogramming 节点,有很多文章挺有价值,因而翻译过来分享给你们。上次翻过一篇:《我是如何在自学编程9个月后找到工做的》,是一个编程自学者的经验之谈。这两天我又看到篇不错的,主要讨论的是自学编程中的一个广泛问题: 如何坚持工具

除了翻译,文中我还加了一些本身的见解(斜体字)。各位看后有什么想法也欢迎在留言里讨论。学习

英文原文地址见文末。网站

    • *

嗨,Reddit 的各位老铁,学编程真的很让人崩溃。编码

学编程如今看起来挺简单,由于网上有丰富的各类资源。然而当你实际去学的时候就发现,仍是很难!人工智能

对我来讲也同样。但从某天起,我决定认认真真学编程一年。后来又过了一年,又过了一年又一年……我好像有点感悟。spa

若是你曾致力于学习一些重要的东西,就会知道在漫长的艰难时刻保持本身的积极性是多么困难。你怎么作呢?我说下个人经验:翻译

1. 去开发点真东西

不要只一味地跟着教程学。它们有助于对新事物进行概述,但在此以后你必须开发点本身的东西。设计

你固然能够去开发另外一个 To-Do-List(待办事项列表)的 App,但你想这么作吗?你不必定非要作那些别人口中的“入门必作项目”。

开发你本身想要的东西。相信你是一个富有创造力的人。设想一个能够真正帮助你的小项目或 App,或者至少看起来很酷的项目,开发出来,而后把它放在网上,从别人那里获得一些反馈,修复 bug。干就完事了。

你能够把它做为一个项目展现给潜在的将来雇主。没人关心你是否又制做了一个 To-Do_List 的 App,但 他们会关心你是否有能力开发一个网站,把抽象而模糊的想法转变成实际的产品

跳出思惟定式来考虑,你甚至都不用找工做。若是你作得更好些,彻底能够本身开发一个 App 或网站,从中收取费用。或者作出一些酷炫的产品,在 Reddit 上传播。你会成为某方面的专家、找到客户,成为自由职业者。

好比我弄了个叫 Unbokeh 的网站,这里有一堆模糊的背景图片,你能够用于设计和壁纸。我之因此这么作是由于我喜欢模糊的壁纸,它们看起来很酷,并且我想提供一个其余人可使用的资源。这不是一个百万美圆的想法,但我为此感到自豪。我学到了不少关于 Gatsby 和 GraphQL 的知识。 我把它发布在 Twitter 上,不少人都喜欢它。

再说,在互联网上展现你努力作出来的东西,自己不就是很棒的一种体验吗?

【Crossin 注】这个观点我也说过无数遍:等你有了必定基础以后,必定要找项目去作,从你身边着眼,想一想有没有能用编程解决的问题,而后在解决问题的过程当中提高能力。若是你仅仅想找本教程看,你会发现越看问题越多,你不知道书上说这些到底有什么用。这实际上是弄反了因果。我在编程教室里坚持发布有趣或实用的案例,也是从这个出发点考虑的。(公众号“Crossin的编程教室”对话栏回复关键字 项目

2. 找点工做/项目

我学编程的最喜欢的方法之一就是让别人付钱给我学习。若是你愿意为此多投入一些努力,你能够在像 UpWork 这样的平台上得到一些小单子,在学习的同时就能赚到一些钱。

你没必要是专家,只须要足够的相关知识就能够完成工做。若是你学会适当推销本身一下,别人并不会太在乎你是不是初学者:你只须要证实你能够完成工做。因此,若是你像我前面告诉你的那样,作点本身的项目,你就已经有经验了。

我经过电子邮件联系本地商家,帮他们从新设计网站,从而学会了如何开发 WordPress 主题。我从为另外一个小企业构建官网首页中学会了 JavaScript。我经过为一家初创公司制做一些页面的过程当中提高了对 React 的理解。

你无法作彻底超越你技能树以外的事。但 适当地挑战本身能力的上限,并承担一个实实在在的项目,你会取得重大进展

这些项目不会让你发大财,但真实世界的项目能够给你带来颇有价值的经验。

【Crossin 注】这一点是上一点的延续,选定个方向,先作本身的项目,熟悉了以后就去接点正儿八经的项目。国内也有一些平台,好比猪八戒网,V2EX 上有时也会有人发单,我这边偶尔也会有,我都会发布在 bbs 的接单区和几个学习群里。说实在话,一开始想成功接单并不容易,但你不妨能够尝试给亲戚朋友同事社团等作点义务劳动,帮他们作个网站啥的,机会都是慢慢积累出来的。我本身第一次用 Python 就是同窗介绍的网站开发项目。这种有点压力的状态绝对比你本身无目的地看书效率高多了。

3. 在 Twitter 上创建联系

上 Twitter 对我来讲是颇有帮助的一件事,全部的开发人员都在这儿。你能够关注大票的开发者,获取灵感、开发有趣的东西,关注业内大牛,了解新的工具和技术。一旦你的首页时间线充满了有趣的行业文章以及关于 JavaScript 的谈论,那你将会更有动力去坚持学习。转发一些对你有启发的文章、分享不错的代码片断,你也会成为开发社区的一员。

固然,不要浪费太多时间。 您能够在这里了解更多信息,成为社区一员,但不要分心。

对我来讲,一个重要的动力是加入 #100DaysOfCode 的挑战。规则很简单:天天至少写一小时代码,并天天发布带有进度的推文。你会不想终止连续记录。#CodeNewbie 是另外一个与其余 Twitter 同好者联系的好标签。

这感受很好,由于你来到了一个社区,里面都是和你同样学习编程的人。发布你正在研究的有趣事情,和别人互相关注,询问他们正在作的事情,结交朋友。若是你加入了这样的社群,养成写代码的习惯就变得容易许多。很快这就会成为你我的的一部分:你如今就是一名开发者,这就是你天天作的事情。

【Crossin 注】国内不太能上这个网站……微博其实学习氛围很淡,但像 V2EX、SegmentFault、OSChina 等社区里也不乏大量开发者,多去逛逛有好处。在学习社区这件事上,我认可编程教室到目前为止作得并不算好,咱们曾经创建了不少群,但由于无力管理,最后大多荒废了。接下来,我会在这点上作些尝试,可能也会组织相似 100DaysOfCode 的挑战,争取能给各位初学者提供一个氛围良好的社群。

4. 干就完事了

最后,这彻底取决于你。你只须要作出承诺并完成它。

要明白,这是个长期的过程。也许你会在 Twitter 上看到关于某人学了 3 个月就找到六位数的工做这种鸡汤故事,很励志吧?并且他还仅仅 18 岁(这种故事里老是 18 岁)。但这只是特例,不是常态。若是你想经过学习编程来改善你的生活,你不应总想着这些快速成功的案例。

若是你想找份工做或开发出杀手级产品,你将不得不努力工做。 你看到的全部成功故事都只是结果,而不是那以前漫长而乏味的过程 。当你艰难到要放弃的时候,它给你鼓励,但你不能沉迷于此。相信我,这种状况会不停出现。

不要半途而废 。若是你真的对编程没兴趣,那没办法。但若是你愿意投入时间和精力,以及一点点血、汗和泪,你总能作出点东西。如今就回去继续学习吧。

【Crossin 注】少说多作,每一个程序员都是一行行代码堆出来的。不要再纠结哪一个语言好、哪一个教程好、该用哪一个版本。你花一个周末就能够走进大门了,不必不停在门前纠结。这是个长期的过程,不要想着一蹴而就,也不用担忧一个选择就走错路。学习没有弯路,每一步都算数。
做者:
ericnmurphy
原文地址:
https://www.reddit.com/r/learnprogramming/comments/9rjhm0/how_to_actually_stay_motivated_to_learn_how_to/
做者博客:
https://ericnmurphy.com/motivation/

文章下面有些评论也说得不错:

fckdUpLion:
纪律>动力。把事情给作了,别等待动力。

Metabyte2:
动机是一个神奇的东西。 天天留出一两个小时,并养成在那个时间编码的习惯。 几个星期后,它将成为常态。

blackiechan99:
虽然我有了动力,但动机很快就会由于其余事情而消失。
我减了100磅,动力在几周内就没了。 纪律才是并且是惟一持久有效的东西。 编码也是如此。
动力在一开始有用,而后过渡到纪律。 若是你真的想要,你就会实现:)

WulfMarius:
说实话,我不喜欢“写代码”这个说法,这就像是“写书”和“打字”:一我的写书的过程是在打字,但你显然不可能经过打字课程忽然成为一个做家。由于写书的实质不是打字,而是建立内容。
写代码是开发软件的表现,但实际上以前的活动更重要得多,好比理解你想要解决的问题,提出解决这个问题的方法,将这个解决方案分解成能够实际编码的部分,考虑的局限性和后果等。
有些人会忽略这些,而挣扎在代码之中,由于他们并不真正理解他们试图解决的问题和/或他们设计的解决方案。当我问为何他们把某个语句放进去的时候,他们根本没法解释。我想说:难怪大家说无法保持学习的动力,你都不知道你在写什么,换做我也不想学了!
因此,只是跟着教程里写几行代码读取文件这种小技巧根本对编程没什么帮助。

════

其余文章及回答:

如何自学Python | 新手引导 | 精选Python问答 | Python单词表 | 人工智能 | 嘻哈 | 爬虫 | 我用Python | 高考 | requests | AI平台

欢迎搜索及关注: Crossin的编程教室

相关文章
相关标签/搜索