《不敢止步》书摘

熊节

  • 和那个年代比起来,现在的年轻人刚开始工作时发挥创造性的空间就小得多了。绝大部分的开发任务,都有现成的框架提供了标准的做法,即使偶尔遇到一两个难题,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或者别的什么编程语言来写代码——而是在于建立图灵机可计算的模型。能从物理的、连续的、模糊的、变量无穷多的现实世界中识别出自己要解决什么问题,为之建立一个数字的、离散的、清晰的、变量有限的、(最关键是)可计算的模型,这事儿对于绝大部分人来说绝非轻而易举。
  • 现代知识工作有两个重要的特征。首先,知识工作是复杂的,需要借助人的专业技能和经验才能完成,并且这种专业技能和经验往往不容易获得,甚至不容易明确描述——这也正是这些工作无法被自动化的原因。在软件开发的工作中,我们经常看到这样的情况:需要首先用大量时间讨论、思考应该实现什么,随后的实现工作反而只需要短短几行代码。在讨论和思考的过程中,正是软件工程师长期积累的知识与经验在发挥作用。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注