l转自;http://www.aqee.net/2010/08/24/the-proof-is-in-the-code/
招聘一个程序员,唯一对你有意义的是他能写出好程序的能力。很少人像这样去招人,他们更喜欢去挑剔程序员的个人癖好和性格缺点。
我一说出这样的话,人们大量的评论就会批评道:你错了,错了,完全的错了。好的程序员需要具备沟通交流的技能,他们要有跟他人一起合作的能力。团队里不止你一个人!事实上,人们会说:最好折中一下对技术上的要求,这样可以找出更能适应企业文化的人。
你不如这样说更合适:找不到那种技术上又好、又能适应企业文化的人,我就等着,一直找到为止。
我们很少有敢这样奢侈的公司,也许Google可以这样,就是Google这样的公司也一直处于一个“对招聘程序员感到绝望”的状态中。如果你决定去等,我可以预见到每招到一个程序员你都要等待一个漫长的时期,同时业务会因为缺乏程序员而崩溃,火烧眉毛。
那么,那种更好呢?
让我们来考虑要那些中等或下等的程序员,他们和蔼可亲,而且努力工作。他们的程序写的不好 – 他们的程序根本不是按照他们想的那样工作,即使他们做到了,那也是烂程序,很难去维护。他们在基本的功能上挣扎探索,更不解决不了复杂的问题。但是他们却能跟上团队,项目进度每天点都在更新,可以看见他们每天都在座位上奋斗。一切都很好,你的经理会很高兴,因为整个团队看起来在平稳的向前推进。
当发布日期不得不往后推迟,产品Bug多的没法使用,人们会哀叹说软件本来就是很难做,于是投入更多的和蔼可亲的平庸的程序员去修复问题。事情的结果我想大家都知道。
对于程序员,没有太多的事情可以用和蔼来解决。一个友善的平庸的程序员可以成为业务分析师,技术性的销售员,或着其它的能够利用他的和蔼和他的一点点的技术知识来工作的职位。这样的工作他们会很满意,但这都是在茶话会工作上的,可不是去找出有效的办法做出好的软件。
另外一个选择是,找个程序员,他能做出好的程序,但也许不善于和他人相处,或者老是迟到,或其他。他能开发出按照设计运转的软件,他能把复杂的问题抽象成一个简单的问题。软件好使,可维护,你随时可以按要求修改。
这个世界很真实,有太多的方式都会让我们把事情搞砸,但至少我们是有机会的。人可以给人留下不错的印象。团队可以建设的不错。员工在长时间的为你工作,不错。大量的业务没有按照预定的设计工作,但还是成功了,不错。但是绝对不会有伟大的软件会在平庸的程序员手下实现。.
证据就在代码里。就这些。
分享到:
相关推荐
The book is dedicated to the mathematician Paul Erdős, who often referred to "The Book" in which God keeps all of the most elegant proofs of mathematical theorems. During a lecture in 1985, Erdős ...
This is a recipe-based book that allows you to venture into some of the most cutting-edge practices and techniques about IAC and solve immediate problems when trying to implement them. Table of ...
1.6.2. A reference model in physical reality: the channel with Gaussian additive noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.6.3. Communication via a channel with additive ...
Forms with Validations: Build powerful forms that accept user input, and give clear messaging when the input is of an invalid format. Vuex-based Routes and Authentication: Build on top of the server...
1.9.2 Other Representations of the Hamming Code . . . . . . . . . . . . 36 An Algebraic Representation . . . . . . . . . . . . . . . . . . . . . 37 A Polynomial Representation . . . . . . . . . . . . ...
1.8.2 That place such container as is filled in with liquid on or near the equipment is prohibited. 1.8.3 That the equipment is close to fire is prohibited. 1.8.4 Sufficient ventilation should be ...
Dear 'Ajax in Action' Readers, <br>This zip file gathers together the source code for the examples in the 'Ajax in Action' book. Code is organized by chapter, and, within each chapter, subfolders ...
Here by “indicate” we mean that (i) if the proof is short then we include it, (ii) if the proof is of medium length then we outline it, and bf (iii) if the proof is long then we sketch it. This book...
Turning this around, if the probability that the random object has the property is greater than zero, then this proves the existence of at least one object in the collection that has the property....
filecoin-proof-parameters ,不包含复制证明参数数据,lotus daemon , 运行需要的依赖数据,拷贝到/var/tmp/filecoin-proof-parameters目录下解压
Furthermore, it is considered agreed upon that the program has been properly recorded on an approved data carrier, and in case of sale per download that the program package is available for download ...
You will learn about Silverlight’s exciting new features so that your ASP projects can be rich in visual flair and compelling to the user. Seasoned .NET professionals Matthew MacDonald and Mario ...
You will learn about Silverlight’s exciting new features so that your ASP projects can be rich in visual flair and compelling to the user. Seasoned .NET professionals Matthew MacDonald and Mario ...
You will learn about Silverlight’s exciting new features so that your ASP projects can be rich in visual flair and compelling to the user. Seasoned .NET professionals Matthew MacDonald and Mario ...
Mathematical methods - especially the notion of proof - that have their roots in classical antiquity have seen a radical transformation since the 1970s, as successive advances have challenged the ...