《软件随想录-Joel on Software》书摘

《软件随想录-Joel on Software》书摘_第1张图片

欢迎访问本人博客查看原文:http://wangnan.tech

  • 比尔盖茨对技术的了解令人惊叹,他理解可变数据类型,COM对象,IDispathch接口以及Automation与虚表有何不同,他明白这种不同可能会导致双重接口,因此他担心日期 函数并非心血来潮,如果他信任那个干事的人,他就不会干涉软件,但是,你不要糊弄他,哪怕是一分钟,因为他也是一个程序员,一个真正的,现实的程序员

  • 不懂编程的人管理软件公司,就好像不懂冲浪的人硬要去冲浪

  • 优秀的人才从不在市场上求职

  • 如果你不尊重程序员,你就不会得到优秀的程序员

  • 老实说,只要有两个以上的人待在一起,就会有政治,这很自然,我说“不搞政治”的真正意思是“不搞恶性的政治”程序员早就练出了对公正有非常良好的判断力,代码要么能运行,要么不能,坐在那里争论代码是否有问题,是毫无意义的,因为你可以运行代码,答案自然就有了,代码的世界是非常公正的,也是非常严格有序的,许许多多人选择编程,首要原因就是,他们宁愿将自己的时间花在一个公平有序的地方,一个严格的能者上庸者下的地方,一个只要你是对的就能赢得争论的地方

  • 当你引入新的绩效测量方法时,会有两个阶段的发展,第一阶段,你实际上得到了你想要的东西,因为人们还没有想出作弊的方法,但是,到了第二阶段,你实际上让事情变得比原来更糟,因为每一个人都想出可如何将你测量的指标值最大化的对策,即使代价是毁掉公司,他们也在所不惜

  • 如果不是授课老师SE教授让一些人明白自己其实不具备编程的能力,他们就会有悲惨的职业生涯,一生忙于复制和粘贴大量他人编写的java代码

  • 我职业生涯中的一个重大发现,周而复始得,你会注意到,当程序员遇到问题的时候,他们会把问题重新定义,使得这些问题可以用算法解决,这样一来,问题转化他们可以解决的形式,但是实际上,那些问题是一种“琐碎”问题,也就是说,程序员解决的只是问题的某种外在形式,而并没有解决真正的问题,原因是这些问题非常难,不是表面的算法可以概括的

  • 一个普通的程序员与一个优秀的程序员的区别,不在于他们懂得的编程语言谁多谁少,也不在于他们喜欢用Python语言还是喜欢用java语言,而在于他们能否与他人交流思想,如果你能说服其他人,你的力量就可以得到放大,如果你能写出清晰的注释和技术规格说明书,其他程序员就能够理解你的代码,因此他们就能在自己的代码中使用,而不必重写,如果你做不到这一点,你的代码对其他人就没有价值,如果你能为最终用户写出清晰的使用手册,其他人就能明白你的代码是用来干什么的,这是唯一让别人明白你代码有何价值的方法

  • 为什么计算机系的学生应该学经济学,因为,从经营一家公司的角度来看,比起那些不懂的程序员,一个理解基本商业规则的程序员将会更有价值

  • 计算机科学与软件开发不是一回事

  • 你为麻烦的事情找到了解决方法市场就会向你支付报酬,解决轻而易举的事情是拿不到钱的

你可能感兴趣的:(《软件随想录-Joel on Software》书摘)