正在做Andy Hunt和David Thomas的《程序员修炼之路》英文注释版(The Pragmatic Programmer)的最后审稿工作。

这本书虽然很早就读过一些,但现在再读,仍然暗暗称奇。作者一定是在长期工作中养成了记笔记的习惯,才能写出这样旁征博引、涵盖丰富的书来。

全书是按条目方式组织的,多入口,可以随意挑出一条感兴趣的,开始阅读,感觉非常适合你在dead moment(无所事事的时候)阅读。其中一条感触较深,名字叫“Your Knowledge Portfolio(知识资产)”。

这里的Portfolio原意是指投资组合,比如你有了一些钱,存一点在银行,买一点股票,买一点基金,买一点房产,买一点保险之类。总之是不要把all your eggs放在一个篮子里,减少风险,并且保值增值。

作者将这一含义移植到软件开发上来。显然,大家从事的软件开发是一个典型的高风险变化快的行业。如何使你所拥有的知识保值增值,的确是需要精心经营的。

作者提出的经营之道是:
——Invest Regularly,不断投资,积少成多。
——Diversity,扩大知识面,多元化,减少风险,增加潜力。
——Manage Risk,控制风险,这点与上呼应,要注意结合学习短线和长线技术。
——Buy low,sell hign,低买高卖,寻找潜力股。
——Review and rebalance,多总结。

这些对于现在全民买基金、炒股票的年代,当然都不需过多解释了。

作者提出的8大目标,可能更有实践意义:
——每年学习一种新语言。
不同语言能够以不同方式解决同样的问题。而学习各种不同的方法,能够扩宽思路,打破思维局限。学习不同的语言将改变和丰富你思考问题的方式。
而且,现在学习新语言比过去要简单得多了。编译器、开发环境、文档都可以自由从网上找到。

如 果你熟悉静态语言,不妨去尝试一下动态语言,Java程序员比较好的选择有Ruby、Groovy和JavaScript;Windows上开发的程序员 可以尝试一下微软的PowerShell;从事Web开发的,可以选择PHP、Ruby;从事游戏开发的,可以选择Lua。此外,Python也是一个值 得认真考虑的选择。当然,还有编程范型(paradigm)的切换,从过程到面向对象,从面向对象到函数式(很好的选择是代表了并发时代的 Erlang)、逻辑式(以Prolog为代表)。

——每个季度读一本技术图书。
养成习惯以后,每个月读一本。
同样,阅读兴趣也应该广一些,多元化。

——还要读一本非技术图书。
不要忘了软件是人在使用,多多了解人这方面的事情。

——参加技术课程培训。
可以是学校的,也可以是培训班或者技术会议上的。

——加入本地的程序员组织。
不仅是带着耳朵去听,而是要积极参与。“与世隔绝对职业生涯是致命的。” 去发现公司之外的朋友。

——实验不同的环境。
如果你工作中只使用Windows,那么在家里用用Unix/Linux。如果你只用makefile和编辑器,尝试一下IDE,或者反之。

——与时俱进,订阅行业杂志。

——上网,阅读有价值的文章、网站……
最后一条现在已经越来越重要,很大程度已经取代了上一条。现在国外主流的技术杂志,不少已经完全开放在网上,包括书中推荐的Dr. Dobb's Journal。

注释者还建议加上一条:
——多做笔记,建议采用Wiki或者blog的形式。

此外,作者还建议要利用各种机会学习,多与高手交流,利用各种时间。而且最重要的是,学习中,对所读所闻要批判地分析和思考。

+++程序员高手修炼之路相关推荐

  1. 测试/开发程序员的修炼之路,这是一场持久战......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  2. 程序员的修炼之路(突破)

    讲个笑话简单,真的换行,还是挺困难的.我大学毕业开始做程序员,之后做项目经理,再是项目总监,现在是咨询顾问,在IT行业摸爬滚打十几年,也是个IT老兵了.基于我的经历和体会,讲一下程序员如何转行,以及相 ...

  3. 顶级程序员的成长之路1

    本文关注的问题是程序员的水平究竟应该按照什么样的不同层级而逐渐提高?或者说,在学习编程的过程中,每一个阶段究竟应当设定什么样的目标才比较合理?本文的内容主要借鉴了周伟明先生的专栏文章<程序员的十 ...

  4. 解密初、中、高级程序员的进化之路

    程序员的标准与要求 初级程序员 仅能完成简单模块和项目的开发工作,难以胜任复杂模块的开发.通常是入行不久, 1 年及以下工作经验的同学. 能力要求 熟悉前端基础知识如 HTML.JS.CSS . 能够 ...

  5. 解密初、中、高级程序员的进化之路(前端)

    序员的标准与要求 初级程序员 仅能完成简单模块和项目的开发工作,难以胜任复杂模块的开发.通常是入行不久, 1 年及以下工作经验的同学. 能力要求 熟悉前端基础知识如 HTML.JS.CSS . 能够使 ...

  6. 顶级程序员的成长之路2

    如果把程序员编程水平的修炼比作游戏中的"打怪升级之旅",那么程序员的水平就会随着不停的"打怪"而不断升级.程序员的水平有哪些等级呢?哈哈,如果人为地将程序员的水 ...

  7. 下载破 2w+,在校生必看,《程序员内功修炼》第二版出炉

    在上上周的时候,我发了一篇预告文章:下载破2w+,帅地把<程序员内功修炼>给大整改,全新第二版即将出炉 不过,我并没有在上周就把<程序员内功修炼>第二版整理出来,主要是自己那一 ...

  8. 程序人生:程序员要修炼的第一本秘诀--哲学

    昨天开通了公众号,得到了很多朋友的支持,首先在这里表示感谢,我会坚持做有帮助的输出. 承接我的第一篇文章,咱们接下来就从程序员修炼开始聊,以玩游戏的方式展开.俗话都说万事开头难,如果你有一个好的开头, ...

  9. 《程序员的修炼——从优秀到卓越》一一1.10 十年磨一剑

    本节书摘来自异步社区出版社<程序员的修炼--从优秀到卓越>一书中的第1章,第1.10节,作者:[美]Jeff Atwood,更多章节内容可以访问云栖社区"异步社区"公众 ...

最新文章

  1. CRM中Plugin开发如何将功能放入多个模块
  2. python变量进阶(可变不可变,局部变量和全局变量)
  3. vue中的keep-alive
  4. 10.Partial Dependence Plots
  5. redis 客户端_你在使用什么 Redis 客户端工具?
  6. spring之依赖注入
  7. Android 获取地理位置信息 封装好了 直接用
  8. python 第四天
  9. js 匿名函数_javascript:函数的使用
  10. php在线解密,zend在线解密
  11. 弘玑Cyclone完成1.5亿美元C轮融资,创行业单笔融资额最大记录
  12. 毕业设计 : 题目:基于深度学习的水果识别 设计 开题 技术
  13. 分子动力学软件-VMD(win版)
  14. [唐诗]杳杳寒山道-寒山
  15. 一回来又恢复了往日的无聊生活
  16. Rasa课程、Rasa培训、Rasa实战Rasa 3.1.0最新版本发布 2022-03-25
  17. /usr/bin/ld: cannot find -lxxx错误的通用解决方法
  18. 负荷需求响应模型matlab 通过分时电价方式下的负荷需求响应模型得到负荷响应前后变化情况,可以看到明显呈现削峰填谷的作用
  19. JavaScript 高级
  20. appium 报错:Original error:Could not proxy command to remote server. Original error:socket hang up

热门文章

  1. mysql 1308_Mysql恢复数据报ERROR 1308 : LEAVE with no matching label_MySQL
  2. dataframe 选择输出_使用 Python 实现机器学习特征选择的 4 种方法
  3. 关于工业级RS485串口服务器的组网方式详解
  4. 什么是高清DVI光端机?dvi光端机的技术参数及应用有哪些?
  5. 如何挑选一款合适的POE工业级交换机?
  6. 485光隔离中继器产品特点及应用领域介绍
  7. RS-485中继器的多种使用方法
  8. 带网管工业交换机跟不带网管交换机的差别
  9. 21秋期末考试建筑力学与结构10126k2
  10. printf sizeof c语言,你可能对 sizeof(i++) 有点误解。。。