# 《不敢止步》书摘

- Link: https://www.ixiqin.com/2022/09/15/cant-stop-highlights/
- Published: 2022-09-15T06:00:00+08:00
- Author: 白宦成

熊节

 * 和那个年代比起来，现在的年轻人刚开始工作时发挥创造性的空间就小得多了。绝大部分
   的开发任务，都有现成的框架提供了标准的做法，即使偶尔遇到一两个难题，Google搜索
   一下通常都能找到答案。虽然解决问题是更快了，留给人思考的空间也更小了。写程序如果
   没有充分思考，只是照搬别人的解决方案，怎么能学到东西呢？所以我还挺庆幸自己的职业
   生涯开始于前互联网时代的。
 * 我一定会把编程当职业。因为人不可能和计算机竞争，未来的世界一定是计算机的世界，
   计算机会干越来越多的工作，只有知道怎么控制计算机，才不会被计算机取代。“
 * 《电脑报》以前的编辑部主任黎和生当时也在百联集团，经常会到我们编辑部来转悠。老
   黎常讲的一个话是“媒体不需要态度”，主要是在说蒋涛摆不正位置，还把自己当程序员，
   技术主编王行舟也是这风格，自己有了态度做媒体就容易缺乏全面性和多样性。
 * 他那句“编辑的功夫，就是标题新闻能写成长篇大论，长篇大论能缩成标题新闻”至今言犹
   在耳。
 * 做《程序员》杂志的技术编辑，一件最重要的工作就是发现和维护作者资源。能写技术文章
   的，十有八九都是在一线打拼的程序员，写作对他们而言不是主业，很多（也许应该说“
   绝大部分”）优秀的程序员根本就没想过自己也可以写文章发表。
 * 第一，写作有助于自我成长。
 * 第二，写作有助于扩展见识。
 * 程序员从业有些年头以后，如果是喜欢技术的人，总会想与别人做些更深入、更高层次的
   交流，但毕竟水平越高，能进行这种交流的人就会越少、越分散。写作、演讲、著书立说，
   这都是让自己进入一个更高水平的交流圈的方式。
 * 语言的边界决定思想的边界，不能被谈论的东西我们就只能保持沉默——“沉默”不仅是指“
   不谈论”，而是根本就无法思考这个主题。
 * 为将而不通天文，不识地利，不知奇门，不晓阴阳，不看阵图，不明兵势，是庸才也。
 * 做技术，最要紧的是知道怎么用这个技术赚钱，赚不来钱的技术搞不出花头，所以做软件
   一定要知道业务上的事情，不然光是闷头搞技术连究竟应该搞什么都弄不清。
 * 我留意观察其他同事，发现很多人虽然技术很好，但是没有意愿把自己知道的东西再整理
   升华一步，变成一个可以发表的文章或者公开演讲的主题。虽然也有少数人是有意愿的，
   但表达能力着实太差，大多数人还是没这样做。在杭州的同事当中，只有极少的一两个站
   出来写文章、做演讲。甚至在论坛上发长帖或是坚持写博客的人都很少。后来也就是这极
   少的一些人，几年以后取得的成就明显超过了其他人。这肯定不是巧合。
 * 《期刊经营》（The Magazine, by Leonard Mogel）认为，期刊出版人之下需要5个人。
   而网站主编，除了在编辑室的角色之外，他也应该同时兼备这5个人的能力。除了是一个
   优秀的编辑之外，他还应该是： ● 广告人，他要把网站作为广告产品卖给广告主； ● 推销
   人，他要把网站内容和广告打包“发行”给读者； ● 开发人，他要知道网站的表现形式如何
   通过技术手段实现； ● 公关人，他要把网站宣传出去，建立公关形象； ● 运营人，他要
   懂得计算收支，让网站盈利； ● 成为全国最优秀的技术主编，这是我今年的重要目标之一。
 * 向所有有志于从事软件开发工作的人推荐这本书——未必急在一时，但早晚得读。
 * ThoughtWorks一直坚持做一家纯粹的IT专业服务公司而不做产品，是因为一旦有了自己的
   产品，给客户咨询的时候就很容易把注意力都放在怎么推销产品上，而不是最大化客户的
   利益。IBM就是最好的例子，咨询师派出去，关心的不是怎么解决客户的问题，而是怎么
   在IBM产品上解决客户的问题。
 * 一本《Strength Finder 2.0》。
 * 因为我很早就有一种模糊的感觉，认为软件这个行业里多面手比专才更好，但是这个想法
   每每会遭到反对，其中最大的声音就是专业分工能提高效率。而胡凯的发现恰好打破了这个
   神话：专业分工在某些情况下也可能降低效率。
 * 假设一个功能点的开发需要1人天，测试需要0.5人天。一支由3个开发人员和1个测试人员
   构成的团队，一周能交付多少个功能点？ 答案是8个。因为第一天还没有功能点被开发出来，
   测试人员没得测。后来虽然开发了很多，但没有测，不能交付。 现在想象另一支团队：
   还是4个人，不过4个都是开发人员，并且开发人员都能够并且愿意做测试工作（通常不是
   一个很离谱的假设）。这支团队一周能交付多少个功能点？
 * 整体效率的优化要求IT团队消除技能壁垒，培养多面手，根据计划的变动，弹性地调整任务，
   达到各角色和流程之间的平衡。对于IT企业来说，变化从招聘时就必须开始。找到拥有学习
   热情、学习能力、学习习惯的人变成了当务之急，员工是否掌握了某种算法、语言或者工具
   应当从准入条件降格为对于其学习能力和热情的一种（不是唯一一种）证明。”
 * 在交付项目中，实现交付只能看作是成功了一半，也就是说，除了交付，一个团队还应该
   有其他的产出。
 * 梁心给我推荐了傅斯年的《史料论略》，
 * 其实从事IT工作最大的难度并不在于传统意义上的编程——用Java或者别的什么编程语言来
   写代码——而是在于建立图灵机可计算的模型。能从物理的、连续的、模糊的、变量无穷多
   的现实世界中识别出自己要解决什么问题，为之建立一个数字的、离散的、清晰的、变量
   有限的、（最关键是）可计算的模型，这事儿对于绝大部分人来说绝非轻而易举。
 * 现代知识工作有两个重要的特征。首先，知识工作是复杂的，需要借助人的专业技能和经验
   才能完成，并且这种专业技能和经验往往不容易获得，甚至不容易明确描述——这也正是这些
   工作无法被自动化的原因。在软件开发的工作中，我们经常看到这样的情况：需要首先用
   大量时间讨论、思考应该实现什么，随后的实现工作反而只需要短短几行代码。在讨论和
   思考的过程中，正是软件工程师长期积累的知识与经验在发挥作用。
