本文是 <程序员的修炼-从优秀到卓越> 的读书笔记的第八篇,这本书的作者是 Jeff Atwood,StackOverflow 的创始人之一,Jeff 的文章涉及面很广,他是一个经验老道的程序员、管理者、创业者,这本书谈到了编程之外的很多东西,不管你是初级工程师,还是资深工程师,本书都值得一读。随着你的阅历的增加,每一次重读这本书,都会有不一样的感悟,正如书名“从优秀到卓越”,作者为你指明了道路,至于是否能成功,则要看自己的修炼了。
我会把读书过程中一些精彩的言论摘录下来,有时会加入一些自己的见解或者经历,读书笔记的大纲与书本身的大纲是一致的,这也是我从另外一个地方学到并一直在用的“如何阅读一本书”,记录下来方便自己经常查看,也方便读者查看。下面是<程序员的修炼-从优秀到卓越> 读书笔记系列:
- 程序员的修炼-01:绝地反击之术
- 程序员的修炼-02:编程之道
- 程序员的修炼-03:Web 设计原则
- 程序员的修炼-04:关于测试的一些思考
- 程序员的修炼-05:了解你的用户
- 程序员的修炼-06:互联网那些事
- 程序员的修炼-07:游戏与编程
- 程序员的修炼-08:阅读之美
不读书,谁之过
(基于 Jeff Atwood 的文章 Programmers Don’t Read Books – But You Should)
俗话说:“程序员不读书。” Jeff 探讨了为什么会这样。通常,技术书籍很枯燥,或者在印刷出来的时候就已经过时了,或者只是单纯的无聊。对于我们许多人来说,互联网已经取代了参考书。
然而,Jeff 认为我们错失良机。深度的知识往往需要长篇结构,这只有书(或者一系列非常长的文章)才能提供。阅读代码很重要,但阅读关于代码的书籍——哲学、架构、“为什么”——也同样至关重要。
我们不能只怪行业或媒介。如果我们不读书,那是我们自己的错。我们会停滞不前。我们错过了我们所站立的“巨人”的智慧。像《程序员修炼之道(The Pragmatic Programmer)》、《代码大全(Code Complete)》和《人月神话(The Mythical Man-Month)》这样的书之所以永恒,是有原因的。
自助者,天助之
(基于 Jeff Atwood 的文章 How To Ask Questions The Smart Way 和 What have you tried?)
本节呼应了 Stack Overflow 的核心哲学:自力更生。
在你寻求帮助之前,你必须证明你已经尝试过自助。“天助自助者”意味着如果你没有先付出努力,就不应该期望别人来解决你的问题。
Jeff 著名的提问是:“你尝试过什么?”
如果你遇到一个 Bug,不要只发布错误信息。告诉我们:
- 你预期发生什么。
- 实际发生了什么。
- 你为了解决它已经做了什么。
这不仅仅是礼貌问题;这是关于成为一名更好的工程师。组织问题和记录你尝试过的步骤的行为,往往会在你提问之前就引导你找到答案(橡皮鸭调试法)。
计算机犯罪的历史与现状
(基于 Jeff Atwood 的文章 Computer Crime, Then and Now 和 I Was a Teenage Hacker)
在 “I Was a Teenage Hacker” 中,Jeff 讲述了他年轻时与计算机黑暗面的一次小接触——编写了一个战争拨号器(wardialer)脚本。他用这个轶事来讨论计算机犯罪的演变。
几十年前,黑客行为往往是出于好奇或为了出名。今天,它是一个巨大的、有组织的犯罪产业。但有趣的是,技术并没有太大的变化。社会工程学、弱密码和未修补的漏洞仍然是主要的攻击载体。
真正改变的是规模和利害关系。我们要么现在是“默认数字化”的,这意味着违规不仅仅是烦恼;它是对我们就身份、财务和基础设施的威胁。了解计算机犯罪的历史有助于我们认识到,安全不是你购买的产品;它是你必须践行的过程。
如何与人交流
(基于 Jeff Atwood 的文章 The Art of Speaking 和 Communication Skills)
理想情况下,代码应该能自己说话。实际上,沟通是程序员最重要的技能。
你可以是世界上最好的编码员,但如果你不能向你的团队解释你的想法,说服你的经理,或理解你的用户,你就会失败。Jeff 强调了清晰写作(写博客有帮助!)和自信演讲的重要性。
软技能很难。它们需要同理心、耐心和练习。但它们是你技术技能的倍增器。
勤练基本功
(基于 Jeff Atwood 的文章 The Ten Commandments of Egoless Programming 和 Practice Makes Perfect)
最后,没有捷径。要变得卓越,你必须练习。
但“练习”不仅仅意味着每天敲 10 个小时的代码。它意味着:
- 刻意练习: 致力于你不擅长的事情,而不仅仅是你擅长的事情。
- 代码套路(Code Katas): 做一些小练习来保持你的技能敏锐。
- 阅读代码: 阅读别人的代码来学习新的模式。
卓越是一种习惯。它来自于每天自律地尝试比昨天少“烂”一点点(suck a little less)。
《程序员的修炼——从优秀到卓越》是《高效能程序员的修炼》的姊妹篇,包含了Coding Horror博客中的精华文章。全书分为8章,涵盖了时间管理、编程方法、Web设计、测试、用户需求、互联网、游戏编程以及技术阅读等方面的话题。作者选取的话题,无一不是程序员职业生涯中的痛点。很多文章在博客和网络上的点击率和回帖率居高不下—— from 豆瓣
Jeff Atwood于2004年创办Coding Horror博客(.codinghorror.),记录其在软件开发经历中的所思所想、点点滴滴。时至今日,该博客每天都有近10万人次的访问量,读者纷纷参与评论,各种观点与智慧在那里不断激情碰撞 —— from 豆瓣
《程序员的修炼——从优秀到卓越》的写作风格风趣幽默,且充满理解和关怀;适合从新手到老手的各个阶段的程序员阅读,也适合即将成为程序员的计算机和相关专业的学生阅读。《程序员的修炼——从优秀到卓越》能够帮助读者更多地关注技术工作的人性和人文因素,从而实现程序员职业生涯的成功转折 —— from 豆瓣
关于我 && 博客
下面是个人的介绍和相关的链接,期望与同行的各位多多交流,三人行,则必有我师!
- 博主个人介绍 :里面有个人的微信和微信群链接。
- 本博客内容导航 :个人博客内容的一个导航。
- 个人整理和搜集的优秀博客文章 - Android 性能优化必知必会 :欢迎大家自荐和推荐 (微信私聊即可)
- Android性能优化知识星球 : 欢迎加入,多谢支持~
一个人可以走的更快 , 一群人可以走的更远
