如何保持学习编程的动力

更新日期: 2019-03-19阅读: 2.3k标签: 编程

学编程现在看起来挺简单,因为网上有丰富的各种资源。然而当你实际去学的时候就发现,还是很难!

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

如果你曾致力于学习一些重要的东西,就会知道在漫长的艰难时刻保持自己的积极性是多么困难。你怎么做呢?我说下我的经验:


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://www.fly63.com/article/detial/2443

程序员的笔记,编程写软件学到的 7 件事

如果你真的做出了一些东西,在面对那些令人眼花缭乱的理论知识,或是和你相似甚至比你做的更糟糕的人时大可不必谦虚。在一天结束之时,正是那些在战壕中的开发者——构建、测试和开发了代码的人,真正做了事情。

自学编程的六个技巧总结

这些事情可以帮助新手在他们漫长的旅程中学习编程。我知道我还有更多东西需要学习,并将继续学习如何永远地学习。最重要的事情说三遍,请继续,不要放弃,不要放弃,不要放弃。

谈谈Javascript异步代码优化

Javascript代码异步执行的场景,比如ajax的调用、定时器的使用等,在这样的场景下也经常会出现这样那样匪夷所思的bug或者糟糕的代码片段,那么处理好你的Javascript异步代码成为了异步编程至关重要的前提

编程到底难在哪里?

以买苹果为例说明程序员如何解决问题。程序员需要对问题进行透彻的分析,理清其涉及的所有细节,预测可能发生的所有意外与非意外的情况,列出解决方案的所有步骤,以及对解决方案进行尽量全面的测试。而这些正是我认为编程难的地方。

Blockly - 来自Google的可视化编程工具

Google Blockly 是一款基于Web的、开源的、可视化程序编辑器。你可以通过拖拽块的形式快速构建程序,而这些所拖拽的每个块就是组成程序的基本单元。可视化编程完成

我真是受够编程了

成为伟大的程序员,需要付出许多编程之外的努力。我们的大脑是有限的,每天要应付的问题复杂到足以让人精神崩溃。当工作不顺利时,多少都会有些冒名顶替症候群的感觉。

前端的编程软件哪些比较好用?

推荐8款最好用的前端开发工具供美工或者前端开发人员使用,当然若你是NB的全栈工程师也可以下载使用。Web前端开发最常见的编程软件有以下几种: 在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code

编程小技巧

命名最好遵循驼峰法和下划线法,并且要清楚的表达变量的意思。相对于驼峰法而言,我更喜欢下划线法。下划线法可以更清楚的看出这个变量表示的意思。比如aBigGreenBanana和一个a_big_green_banana。

CSS并不是真正的编程语言

每隔几个月就会出现一篇文章表明:CSS并不是真正的编程语言。以编程语言的标准来说,CSS过于困难。使用这门语言会很有创造性:事实确实如此,CSS不同于传统的编程,且具有缺陷,同任何标准化编程语言相比

自学编程的朋友,我想给你们这 5 个建议

很多人都想转行互联网,不管是出于兴趣、行业前景还是薪资的考虑,我想给那些自学编程的人的一些建议,自学编程不易,千万要想清楚了再开始,特别是想要转行,做程序员,以此谋生的那些人,一定要慎重。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!