×

为什么我们不再购买技术类书籍

96
技匠 595a1b60 08f6 4beb 998f 2bf55e230555
2016.09.14 07:59* 字数 3565

最近我处理了一批已显得过时的技术书籍,它们中的大部分都是我刚开始从事程序员这份工作时买的(大约是2004年前后),它们也是我从一个菜鸟程序员走向成熟的见证吧。然而,在这次整理过程中,我却发现自己已经有很长时间没有购买新的技术类书籍了,最新的一本还是自己在两年前买的一本《精通AngularJS》,而我也仅仅看了里面感兴趣的其中几个章节,就放在书橱里没再去碰了。是不是因为我在从事管理工作后对技术的热情降低了呢,应该不是,现在我用于编程的时间反而比前几年更多,而且我也更热衷于尝试不同的技术,并将它们进行有效地组合与创造。那么又是什么原因使我们越来越少购买技术类书籍了呢?

我们更喜欢通过在线视频学习技术

比起以前只能通过书本获取最新的技术知识不同,现在我们学习技术的途径比以往任何时候都多,而在线视频教程就是其中之一。视频教程相较传统的书本学习,有很多优势,比如,真人讲授的视频教程能让我们学得更加轻松,也更容易接受那些新的知识,而那些在线教学平台提供的课后练习、测试以及在线问答系统,更为我们提供了良好的互动学习方式,这些显然增加了我们学习的乐趣并提高了学习效率。

其实网络教育很早便在国外出现了,我们熟知的Lynda.com早在1995年便已成立,由一对夫妇Bruce Heavin和Lynda Weinman共同创立,视频课程主要来自于行业专家、工作专业人士以及经验丰富的老师,经过20多年的发展,课程内容已几乎涵盖了从软件开发、图形设计、摄影到如何经营自己的商业等教学内容。

而最近几年,我们看到越来越多国内的在线教育平台也来到了我们的身边,包括慕课网网易云课堂、中文版的Codecademy等等都成了我们学习技术的好去处。值得一提的是,虽然国内在线教育平台发展的时间并不长,但却已经成为很多开发人员们学习一项新技术的优先选择,可见其发展速度非常之快。

通过在线文档进行学习

虽然视频教程能够帮助我们快速入门一项新的技术,但要深入理解和掌握这项技术,光靠在线视频教程还是远远不够的。过去,我们通常会买一些进阶的,比如《XXX高级编程》、《XXX开发宝典》 这样大而全的书来进一步深入学习。而现在,我们则更乐于先去网上找到那些合适的在线文档或电子书。而我建议大家首先阅读是那些官方文档。近几年,随着不同技术间竞争的日趋激烈,一份完善的在线技术文档已经成为一项新技术是否能够获得流行的必要条件。因此技术的创造者或拥护者们(往往是首批用户及技术社区创立者)也会更积极地去更新和维护好他们的在线文档,而为了满足不同层级开发者的需求,这些文档细还会被进一步细分为:

  • 起步教程 Quick Start:有点类似于每个编程语言的Helloworld程序,往往会提供一个比较简明的示例,并结合环境安装、编译、运行、测试等场景,让你能够快速使用这项技术做出一些简单可运行的东西来。下面是AngularJS提供的Tutorial,通过一些简单的步骤能够做出一个有趣的Web APP来。

  • API文档:包含所有的API及相应的使用示例。所有这门技术相关的语法都能在这里找到。如AngularJS、JQuery、Spring这样做得比较完善的平台,还能让用户根据不同的发布版本进行选择,找到你所需要的API说明。

  • 开发指南:针对开发人员的开发指南,包括那些核心组件的使用方法与建议。开发指南往往写得全面而深入,能够帮助开发人员更好地理解和使用这项技术。

虽然那些官方文档基本都是英文的,有些甚至还需要VPN或代理才能浏览,但我仍然建议大家从这些官方的技术文档开始学习。一方面,技术相关的英语词汇量并不大,边看边学,你很快便能适应英语技术资料的阅读,另一方面,比起那些由第三方出版的书籍,这些官方技术文档往往更加权威,更新速度也是最快的。

学会提问与寻找答案

当我们已经对一项技术入门,并结合那些教程做了相应的练习之后,就可以开始在实际项目中应用这项技术了。都说实践是最好的老师,通过实践,你将能够很快深入地理解和掌握它。但实际应用一项技术,与做那些教程中简单示例不同,你会遇到很多问题需要去逐个解决,我相信大部分的问题,你都可以通过那些在线文档找到,但还有一些你可能需要一些技巧去找到正确的答案。

  • 用搜索引擎搜索:遇到问题时大家首先想到的一定是通过搜索引擎进行搜索,但我发现国内大部分程序员只习惯通过百度这一种搜索引擎去搜索答案。而我个人认为,百度对开发人员并不那么友好,它一般无法为你找到那些国外知名技术社区或网站上的优秀解答。因此,我总是喜欢使用Google(如VPN无法使用则改用Bing English)来进行搜索,当然我会用几个简单的英文关键字来让搜索引擎帮我找到想要的答案,这些答案往往来自于stackoverflow这样针对程序员的在线社区,相较于国内的CSDN,stackoverflow上的那些问题和解答总是显得更加全面也更有价值。

  • 向身边的人请教:如果你花了一些时间(比如几个小时),没能找到解决问题的办法,而你所在的团队也恰好都在使用这项技术,那么你就应该尝试寻求他人的帮助。我一般不建议大家一有问题就直接请求团队成员的帮助,因为一方面频繁打断他人的工作,会影响他人的工作效率。另一方面,尝试自己解决的问题总是印象更深,对自己深入掌握这门技术也更有帮助。总之,先尝试自己解决,如果不行,选择对方乐于接受的方式寻求帮助。

  • 在社区中提问:如果你还是无法找到你所想要的答案,那么你还可以尝试在技术社区中进行提问,比如刚才提到的Stackoverflow。你可以用简单的英语来描述你的问题,然后尽可能地将相关的代码添加到你的问题中(为了便于阅读,你不应该将无关的代码也添加进你的问题),很快就会有热心的开发者为你提供他们的建议。在你解决问题之后,也别忘了及时对解答者给于肯定与感谢,这样做能够帮助那些和你有着相似问题的人快速获得想要的解答。久而久之你会发现自己也成了社区的一份子,你从他人那里获得帮助,同时你也在帮助别人。(下图stackoverflow中,提问者标识正确的答案)

追随那些专家和他们的优秀技术博客

当我们已经能够掌握并熟练地运用一项技术时,我们离成为一名技术专家可能还差一步。而通过在社交平台上追随那些真正的技术专家,以及定期浏览他们所写的技术博客,能够帮助我们更加深入地理解这项技术,并学着像那些专家一样进行思考。

近几年,国内出现了一些不错的平台,比如稀土掘金、慕课网、简书、CSDN等等都推出了一些APP,我们能够使用这些APP去关注我们所感兴趣的主题或作者,而他们的最新教程或文章也能及时推送给我们进行阅读。另外还有很多针对不同领域的微信公众号都能给我们带来帮助。但对于我来说,最喜欢使用的还是Twitter,因为Twitter上汇聚了大部分优秀的技术开发者,通过Follow其中的优秀者,以及一些不错的官方账号,我能够非常同步地了解到他们的所思所想,以及他们所推荐的优秀内容。当然,我从不将他们视作权威,而更像是一些不认识的朋友,他们的观点、技能和知识能让我的视野保持与世界的同步,也能使我的头脑避免因知识堆积而变得机械化,失去创造的能力。

我们仍需要买书

从一门新技术的诞生,到有作者将它编写为书籍,再由出版社编印出版,最快也需要将近一年的时间,而在这一年中,这门技术可能经历了数次版本更迭,甚至可能已经被另一门新的技术取而代之了,这样的书在它还没问世之前就已经过时了,又还有谁愿意掏钱购买呢?

技术发展得太快了,以至于纸质书已经很难跟得上技术的发展了。虽然它们已经无法帮助我们学到那些最新的技术,但它们仍然是总结过去,给我们带来智慧与启示的最佳途径。因此,我们仍需要买书。

这几年我买的书中,大多都是那些人物传记、实践方法、设计思想类的书籍(我用了较多的时间来自学设计)、以及其他人文类书籍。通过阅读人物传记,比如《乔布斯传》,我能了解那些时代大背景下最优秀的人是依靠哪些特质,又是通过什么创新性的方法获得巨大成功的。虽然我们可能无法像他们一样获得这样的成就,但通过发现那些优秀的东西,并将它们运用到我们的工作中,也能使我们在那些自身关注的领域内获得成功。而通过阅读那些实践方法,比如《精益创业》、《增长黑客》、《疯传》、《游戏化思维》等等,能够让我更贴近所处的这个时代,从而作为一个匠人设计和开发出更优秀的产品来。而那些设计相关的,如《设计中的设计》、《为什么设计》、《白》等设计大师的设计思想类书籍,则能让我更深入理解设计的本质,提高自己对产品设计的判断能力。当然除了这些专业书籍,我也会阅读那些人文类的书籍,比如龙应台的《野火集》、克里希那穆提的《生命之书》、星云大师的《人生就是放下》等等,这些都能启发我对社会、人生的感悟,给我带来不一样的智慧。


我们不再购买技术类书籍,取而代之的是,我们获得了更多学习技术的途径:在线互动式的学习,通过在线文档进行学习,在技术社区中学习。相信在不久的将来还会出现能真正打破传统教育的在线直播教学、以及基于VA、VR等技术带来的更奇妙的学习体验。身处这样一个技术日新月异,科技大爆发的时代,谁能通过各种资源更有效地学习,并且学得更快已经成为个人核心竞争力之一,但同时也千万别忘了通过那些真正优秀的书籍去提高自己的修养与对社会、人生、生活的认识,这对你来说同样重要。

技匠•观点
Web note ad 1