• 成为更优秀程序员的关键:更多的阅读


    虽然我一直以来都很享受于读书,但我总是很难挤出时间来阅读。而当真的空闲了,我通常会去阅读小说、自传,或一些怪癖但有趣的东西。我的Kindle电子书阅读器上到目前为止都是一些我最喜欢的技术。我仍然觉得不可思议的是,通过一个小小的设备我就能随身携带一个图书馆,只要电池能够续航一段时间(例如一个月)。

    但是我在技术上的阅读真的很缺乏。当然,我也读过经典名著,例如《Clean Code》,但仅此而已。我一直是一个“有什么问题就谷歌”的人。技术书籍太枯燥乏味了!所以通常我会避开阅读教材参考书。

    直到8个月前。在我计划去周游时间一年的最后几星期工作中(我是从秘鲁开往玻利维亚的公交车上写的这篇文章),因为任务基本上完成了,所以我有比平时更多的空闲时间,于是我决定花时间去阅读一些东西。我们公司有一个Safari在线图书订阅,这基本上允许我们无限制地访问所有已经写好的编程书籍,然后一切都改变了。

    事实证明,你从互联网上得到的材料和著作的质量并不怎么好。大多数作品只是孤立的一个片段“这里怎么做到X”。没有故事线索能让你思考怎么应用到自己身上让自己变得更优秀。在写书的过程中,你必须得想好线索,必须通过编辑的审阅,并且请其他的技术人员仔细检查,在作品问世之前尽可能地提升质量。

    这也证明,大多数书其实没有那么无聊!当然不可否认也有一些滥竽充数的,但快速看一下评分和评价应该会有有助于你去伪存真。书籍大多数还是挺引人入胜和有趣的。这是学习的一种迷人方式。

    对我来说最大的变化是,我是真觉得我因为抽出时间来阅读,比方说,一个月吃透一本书,而变成了一个更好的开发人员。我读过有关微服务的内容,感觉现在能够更好地知道自己在谈论什么,并且我知道我可以回去参考一下,每当我需要帮助的时候。通过花时间坐下来涉猎Clojure方面的教材,即使只是学习基础知识,也有助于我能够更深入地谈论函数式语言,以及Clojure用到哪里更好。《7 Concurrency Models in 7 weeks》是一部很有启发性的作品,特别是作为一个Java开发人员,想要用不同的方法来多线程编程(Java中固有的缺陷)的话。

    当然,大部分这些书籍中的信息可能在网上的某个地方也有。但是,除非你需要特定的信息,否则你就不会想到要去网上搜索和阅读,也不会得到周边的相关信息。选择看书可以将你从被动的学习方式(只在需要的时候去获取信息)转变为主动的学习方式(在阅读的过程中,你会接收到各种不同的以前没有见到过的信息)。这非常重要,尤其是对职业发展。

    最重要的职业工具是持续的学习。特别是我们这一行,因为一切总是在不断的变化:新的语言,新的范式,新的框架总是不断地冒头。由于数量太多用膝盖想想也不可能总是保持优势。你可以作为一个开发者奉献自己,白天工作,然后晚上阅读和编程,但是你依然不可能掌握所有。

    幸运的是没有人期待那样。然而,我常常看到开发人员,特别是初级的开发人员,在面对令人气馁的任务时,反而恢复到一种被动的学习模式。他们不求学习新的东西,除非有人(例如团队的领导者)引入一些新的内容。只在必要的时候学习。这是开发人员保持平庸的“好”方法。

    学习呈现多种形式。重要的是要选择你喜欢的主题,然后至少花上少许时间来钻研。从现在开始:选择一本教材,给自己设立本月阅读目标。不知道该读什么书?那行,我给你推荐一下:

    • 《Clean Code》 by Robert Cecil Martin
    • 《7 Concurrency Models in 7 weeks》 by Paul Butcher
    • 《Effective Java》 by Josh Bloch
    • 《Building Microservices》 by Sam Newman

    本文来自:http://www.codeceo.com/article/be-better-programmer-reading.html

  • 相关阅读:
    在firefox里面查看AMF信息
    addFrameScript 修改自定义button 名字
    [转]游戏UI与flash 组件开发
    as 运算符 与 where T : class
    Process.Start传参
    站长工具
    SaveFileDialog使用方法
    iis admin service 无法设置 因为不是服务器?
    将文件夹层次显示在treeview控件中
    磁盘fat32转NTFS
  • 原文地址:https://www.cnblogs.com/lgzbj2006/p/5334742.html
Copyright © 2020-2023  润新知