新手学习编程的最佳方式是什么?

回答这个问题是我最近两年来唯一的关注点。我觉得此处提及的许多资源尽管都很不错,然而我却注意到,成功的学生,无论使用哪种资源,往往都会在以下三个方面,比其他人有着更好的表现。

  • 聚焦习惯而不是目标
  • 独自学习非常痛苦
  • 项目实践

聚焦习惯而不是目标

聚焦习惯而不是目标听起来似乎不合常理,但是请听我把话说完 - 这是一个有关平衡的问题。凡是和我共过事的人都知道,我有时就像傻子一样,在一天内,引用《蝙蝠侠:侠影之谜》中 Ra's Al Ghul 的话多达 3-4 次。

Bloc 公司的投资者们对于我在董事会上频繁地引用《蝙蝠侠:侠影之谜》中的片段作为开始,早已经烦透了。

R'As 告诉 Bruce:

“(当你的胳膊快要冻僵的时候,)按摩你的胸口,你的胳膊自然会暖和起来。”

如果你将精力放在在每星期编程 20-30 个小时的习惯培养上,成为一名 Web 开发者的目标很快就可以实现。如果你将目标设定为在数月内成为一名 Web 开发者,在什么时候能可以达成目标以及距离目标还有多远等不确定性的压力之下,你反而可能会一无所获。聚焦于习惯而不是目标。按摩你的胸口,你的胳膊自然会暖和起来。

因此,你现在应该做的是:在你的日程安排上,每天花15分钟时间用于编程。不要多于15分钟,每天只要15分钟就够了。如果你能在一星期之内坚持做下来而不找任何借口,请试着把时间延长到一天20分钟。不要试图通过每天一小时的编程来过度扩展自己的能力,编程就是一场 10,000 小时的马拉松,因此我们应该将精力集中在培养习惯上。与其在一天内花费大量时间学习编程,不如每天花费少量时间,但是能够天天坚持,因为这样更有效。

独自学习非常痛苦

当我在学习 Web 开发时,在我的学习过程中,拥有一位导师和加入一个社区是两个最大的组成要素。

  • 拥有一位导师

大学期间,我曾在一家名叫 merge.fm 的小型创业公司工作。暑假期间,我与该公司的一位联合创始人一起工作,我在此期间学到的东西比我之前一年在大学学到的还要多。跟随一名经验丰富的专业人士一起工作,可以真正地加速你学习的速度,你会了解到他们如何思考问题的,同时,也会发现自己的不足之处。这就是为什么师徒制通常成为学习一门新技艺的默认标准的一个原因吧,因为它非常有效。

  • 加入一个社区

我加入了的两个社区,一个是 Illini Entrepreneurship Network(我们学校的一个学生组织),另一个是 Hacker News(一个面向黑客和创业者的大型在线社区)。

我没有从 Hacker News 学到任何有关对象和类的知识,但是我学到了一些别的东西。我知道了没人喜欢 JavaScript。我知道了 Ruby 程序员是编程领域的潮人。我还知道了 Bret Taylor, Rich Hickey, and John Carmack 都是编程世界的领袖人物,还有就是,那些真正关心员工的软件公司,它们公司的厨房看上去就像兴奋剂实验室。

总之,我学会了如何说行话。当你和其他程序员一同工作的时候,这一点非常重要,也正因如此,才使你觉得自己就是一名程序员。

项目实践

在学习 Web 开发的第一年,我动手实现了以下项目:

  • 一个 Digg 的克隆版(来自 Sitepoint书上的 Rails 例子,我想现在它已经过时了)
  • 一个在线购物应用程序(来自 Agile Web Development with Rails 4)
  • 一个 GeekSquad-esque 应用程序(个人项目)
  • 一个实时在线课堂应用程序(个人项目)
  • 一个外语学习应用程序(课程项目)

我认为构建真实项目之所以非常重要的原因有很多,就我而言,最重要的一个原因是它充满了乐趣。这恰恰是在传统教育中严重缺失的,也正因如此,它才成为了诸多原因中最重要的一项。寻找如何开展项目实践的参考资源,http://ruby.railstutorial.org/ 是一个不错的选择。

要具有“小强”精神

对于那些能坚持读到此处的读者们,我偷偷地增加了第四项内容。 Paul Graham 曾经对 Airbnb 的创始人说过:

“你们这些家伙是不会失败的,因为你们就像打不死的‘小强’一样”

一段时期,你可能会有放弃学习编程的想法。就像任何具有同样价值的事情一样,学习编程真的很难,有时你会觉得自己真的很笨。这就是为什么第一项策略如此重要的原因 - 不要过度担心是否已经取得进步,或者需要花费多长时间达成目标。你要做的就是每周坚持10-30个小时的编程。就像执着的“小强”一样,你就不会失败。

多年以前我说过一句话 - “成功贵在坚持(注解:亦可译为‘生活中80%的成功源于坚持’)”,这句话经常被其他人引用。人们常常向我提及,他们想编写一个剧本,他们想制作一部电影,他们想撰写一本小说。那些最终成功实现目标的人,80%的做法是先行动起来。那些最终失败的人,他们连这一点都做不到。这正是他们不能做成一件事情的原因,他们没有去做。一旦你去做了,如果你真地去编写电影剧本,或者撰写小说,实际上,你的成功之路已走过大半。这就是我可以告诉你的我人生最大的成功经验。其它的都是失败的教训。 -- Woody Allen(美国好莱坞著名电影导演)

作者:Roshan Choxi,美国在线编程学习公司 Bloc 联合创始人/CEO

译者:Qingniu(青牛)

原文:What are the best ways for a complete beginner to learn programming(http://www.quora.com/How-do-I-learn-to-code-1)

感谢: Jodoo 帮助审阅并完成校对。

原文发布于微信公众号 - Crossin的编程教室(crossincode)

原文发表时间:2015-06-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT大咖说

增长黑客国内落地实践

摘要 Growthhacking 更像是专门为初创企业设立的 marketing 部门,与现在火爆的 lean startups 其实是相通的。growth h...

36260
来自专栏养码场

写了近120篇博文的特赞CTO黄勇:技术写作也可以锦上添花

记得2013年9月1日,我开始在“开源中国”上发表博客,两年内我写了很多文章,同时也做了自己创立的开源项目,还认识了很多志同道合的朋友,最后也给自己带来了前所未...

9220

实时数据分析:未来之路

即使商业世界仍在处理如何充分利用来自各种不同客户接触点的业务以及交易和相互作用产生的大量数据的问题,我们也看到了另一方面数据的曙光 ,即实时流数据 ,如果不是更...

53570
来自专栏Java帮帮-微信公众号-技术文章全总结

【大牛经验】程序员3年之痒改变不止薪水

程序员3年之痒改变不止薪水 ? 程序员的3年之痒,的确是时候该挠挠自己了。3年的程序员生涯,不长不短,但它的确是一个坎。3年改变了我们的不仅仅是年...

38340
来自专栏VRPinea

Oculus Connect 4:只有像Oculus这样的实干家才能在VR中活得如鱼得水

33770
来自专栏IMWeb前端团队

【IMWeb】前端圈外部分享沙龙精彩回顾!

本文作者:IMWeb link 原文出处:IMWeb社区 未经同意,禁止转载 ? 10月17号,IMWeb团队跟广州前端圈合作,在腾大二楼多功能厅,进...

23370
来自专栏java一日一条

让程序员/技术主管/项目经理最可怕的事情是什么?

到现在我已经专业地构建软件超过10年时间了。我热爱我的工作,并且我希望能在这一行一直干到成为老程序员的那一天。一路走来,我遇到过很多可怕的事情,让我觉得我的工作...

17410
来自专栏java一日一条

五分钟重温C#委托,匿名方法,Lambda,泛型委托,表达式树

到现在我已经专业地构建软件超过10年时间了。我热爱我的工作,并且我希望能在这一行一直干到成为老程序员的那一天。一路走来,我遇到过很多可怕的事情,让我觉得我的工作...

20420
来自专栏达摩兵的技术空间

腾出时间来瞎搞

腾不出时间学习的人,迟早会腾出时间来伤悲; 腾不出时间思考的人,迟早会腾出时间来后悔; ...

10660
来自专栏大数据文摘

你真的了解互联网用户行为吗?

22890

扫码关注云+社区

领取腾讯云代金券