“程序人生”文章列表
英文原文:A Few Good Rules 什么是明智的标准化? 想象一下第一次和特别的人约会。当你到达最喜欢的餐馆时,所有的灯都熄灭了,你身处黑暗之中。奇怪的是,从厨房传来的声音又表明这里像往常一样正在营业中。你听到一位女服务员走来,等待着引导你到没有灯光照射到的座位上。你的同伴不知所措,...
很多时候,我发现自己需要向编程界以外的人反复解释为什么随意的打搅一个编程中的程序员是多么的讨厌。我需要费力的向他们解释什么是‘流’境界——程序员陷入深深思考和理解一个问题时,一个电话,一个提问,甚至一句“你好”,都会像一声炸雷似的将程序员从“盗梦空间”里惊醒——梦境中建好的一切建筑都会立刻坍塌。...
英文原文:Getting Out Of Your Comfort Zone 过去的几个月里发生的几件事情,让给政府做软件开发的人感受到压力的陡增,从奥巴马的医保网站饱受诟病到美国退伍军人事务部官方网站的预约系统从1985年起就没有更新过,这些事情让我回忆起曾经作为政府程序员的经历,以及这段经历...
在近期的一次会议上,有高层谈到之前在中国觉得自己做得很牛,但与美国同行接触后却发现与人家存在很大的差距,这一点我在外企工作时也有过同样的体会。真正与外国同行接触后才会知道什么是差距,在这篇文章中我从软件开发工程师的角度以“痛点”的形式来谈一谈我所认为的差距。 技能之痛 相当数量的软件开发工程...
假设说你想在江湖里谋求一定的地位,那么你可以练习独孤九剑成为超一流高手,也可以练习医术,成为绝世神医。这两者在江湖里都是有地位的,也都是稀缺的,一者是因为杀伤力,二者是因为人都有山高水长。 程序员也一样,增值也好,改善表达力也好,最终都要在某种环境下达成一定的稀缺性,这样一个人才有价值。稀缺性...
我所说的“关于程序员的痛苦的一种悖论”描述如下:“好的程序员大部分的时间都在干他们厌恶的事情、使用他们厌恶的技术和工具。” 这是反常理的,看上去就是悖论;你会认为烂程序员才会把时间都花在烂技术上,优秀的程序员会把时间花在那些尖端的技术上。不是吗? 我在自己的体验中发现了这个悖论,直到后来我才...
一晃六年,《技术领导之路》要再版重印了。回想刚刚开始翻译这本书时,我还忙碌在程序开发的一线,对领导技术团队并没有太多经验;如今,也能差强人意地带领技术团队支撑年销售额数亿的业务。一路走来跌跌撞撞,所幸没有中途倒下。思考其中的原因,除去运气,除去身边同事朋友的支持,翻译《技术领导之路》也是不容忽视...
英文原文:Why programmers are not paid in proportion to their productivity 最有效率的程序员会比一般的程序员的编程效率高上几个数量级。但在任何公司里,他们的工资水平却只会出现很小的浮动差距。甚至在整个行业内,这种差距也不是很大。如...
2014年7月4日,我从百度离职了。 这是第一次,我不是因为和老板闹翻而离职;这是第一次,我带着晋升的喜悦而离职;这是第一次,我带着满满的收获而离职。 我曾经认为,我永远不会成为一个好员工,因为我太独、太挑剔、不喜欢听话的好孩子,而且讨厌一切想要改变我的人。但是三年过去,我改变了不少,我必须...
英文原文:There's No Such Thing As Software Productivity 通过反复的交谈,Bill Caputo最终说服了我,让我相信了一些不可思议的事情。这些事情改变了我整个看问题的方式,也让我重新思考如何更好的工作。 软件开发中没有“生产效率”。 几乎正如...
John Sonmez是Simple Programmer的创始人、作者与程序员,关注于如何让复杂的事情变得简单。他是一位专业的软件开发者、架构师与讲师,感兴趣的领域包括测试驱动开发、如何编写整洁的代码、敏捷方法学等。John坚信可以通过简单的方式来解决复杂的问题、大多数优雅的解决方案都是很简单的。...
工程师在互联网科技的发展道路上扮演着很重要的角色,如创立微软的程序员比尔·盖茨,打造 Facebook 社交网络的黑客先生扎克伯格,以及做搜索算法创建Google的佩奇和布林,这些互联网公司都是由工程师创立的。他们解决了很多难题,也因为深知工程师的重要性,所以公司不免充满了浓郁的工程师文化。甚至...
在超级杯中,拜仁和切尔西战成平手,点球大战中,20岁的年轻的球员卢卡库站出来罚球,遗憾的是罚失点球,令整支球队失败,丢掉冠军。对于失落和愧疚的年轻人,切尔西的传奇射手德罗巴在Instagram上鼓励了他:“只有那些从不踢点球的人才不会罚失点球,罚点球你足够强大。你需要从中学习,我也有过类似的经历...
最近我过了40岁生日。 一个朋友开玩笑的对我说:”嘿,我想这个意味着你已经老的不适合再去编程了吧!“,我表面上哈哈一笑,但心里却触动不少。 年龄歧视在我们这行里并不可笑。 就像今天用Java的兄弟沦落到这个地步一样,几年前,使用COBOL家伙被我们从心底里嘲笑其老旧的编码方式和缺乏新技术中的灵活...
在我小的时候,家长经常对胖孩子打趣说:哟,身体长得挺快,可惜就是横向发展了。看来在很多人的潜意识里,纵向发展是向上的,值得夸奖,横向发展则不是那么光彩的事情。但是我的工作经历和思考,却让我对“横向发展”有了新的认识。 程序员的发展,长期以来都是大家关心的问题。通常程序员的发展有两大方向,深度和...
在过去的一篇文章里,我曾经提到过“破窗理论”。对于下面这个实用主义程序员的观点,你或许很熟悉: 不要放任“破窗”(不良的设计、错误的决定或者糟糕的代码)不管,一旦发现就要尽快修复。如果时间不够,那就先把它隔离起来。你可以把这些令人不快的代码注释掉,或者显示“尚未实现”的消息,或者用虚假的数据来...
有一个 bug 我研究了三天没有解决掉,却发现一个高手轻而易举的解决了当最终决定跳槽时程序员的样子当修改一个小 bug 却把整个服务给弄宕机时的样子当其他程序员都在开会,我说我正在赶进度,不去开会了当我测试刚写完的代码时发生的事情当走进办公室看到邻座新来了一位女汉子同事时程序员的样子当老板在项目投标...
英文原文:Code fast or code slow? Who are you? 一般而言,有两种类型的开发者。一种编码速度快,喜欢一大段一大段的组合代码,然后看它是否能顺利运行,这是编程中的“快枪手”,还有一种在朝着目标前进的时候比较淡定,他们会确保他们所写的一切代码都是精心设计的,可维护...
英文原文:Productive Developers are Smart and Lazy 这里我使用了聪明,懒惰和程序员这几个词。我说的这几个词的意思是:程序员:有积极活力的,专注于用代码解决真实世界里的问题,不是指那些梦想家,那些永远只想不做的人。聪明:能够周全的思考问题(不是那些耍小聪明...
如何留住人?我们要先搞清楚人为什么会离开。记得马云总结过两点非常到位:1. 钱没给到位;2. 心受了委屈。我们可以从团队的体验和员工驱动力来思考如何更好地管理一个技术团队。 一个技术团队就像是一个UGC社区,团队中的每位同学都是社区的用户,他们在社区的激励体系(薪酬与绩效)下,贡献自己的价值(...