`
找不着北
  • 浏览: 315244 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

证据就在代码里

阅读更多

招聘一个程序员,唯一对你有意义的是他能写出好程序的能力。 很少人像这样去招人,他们更喜欢去挑剔程序员的个人癖好和性格缺点。

我一说出这样的话,人们大量的评论就会批评道:你错了,错了,完全的错了。 好的程序员需要具备沟通交流的技能,他们要有跟他人一起合作的能力。团队里不止你一个人! 事实上,人们会说:最好折中一下对技术上的要求,这样可以找出更能适应企业文化的人。

 

你不如这样说更合适:找不到那种技术上又好、又能适应企业文化的人,我就等着,一直找到为止。
我们很少有敢这样奢侈的公司,也许Google可以这样,就是Google这样的公司也一直处于一个“对招聘程序员感到绝望”的状态中。如果你决定去等,我可以预见到每招到一个程序员你都要等待一个漫长的时期,同时业务会因为缺乏程序员而崩溃,火烧眉毛。

那么,那种更好呢?

让我们来考虑要那些中等或下等的程序员,他们和蔼可亲,而且努力工作。 他们的程序写的不好 – 他们的程序根本不是按照他们想的那样工作,即使他们做到了,那也是烂程序,很难去维护。他们在基本的功能上挣扎探索,更不解决不了复杂的问题。但是他们却 能跟上团队,项目进度每天点都在更新,可以看见他们每天都在座位上奋斗。一切都很好,你的经理会很高兴,因为整个团队看起来在平稳的向前推进。

当发布日期不得不往后推迟,产品Bug多的没法使用,人们会哀叹说软件本来就是很难做 ,于是投入更多的和蔼可亲的平庸的程序员去修复问题。 事情的结果我想大家都知道。

对于程序员,没有太多的事情可以用和蔼来解决。一个友善的平庸的程序员可以成为业务分析师,技术性的销售员,或着其它的能够利用他的和蔼和他的一点点的技术知识来工作的职位。这样的工作他们会很满意,但这都是在茶话会工作上的,可不是去找出有效的办法做出好的软件。

另外一个选择是,找个程序员,他能做出好的程序,但也许不善于和他人相处,或者老是迟到,或其他。 他能开发出按照设计运转的软件,他能把复杂的问题抽象成一个简单的问题。软件好使,可维护,你随时可以按要求修改。

这个世界很真实,有太多的方式都会让我们把事情搞砸,但至少我们是有机会 的。人可以给人留下不错的印象。团队可以建设的不错。员工在长时间的为你工作,不错。大量的业务没有按照预定的设计工作,但还是成功了,不错。但是绝对不会有伟大的软件会在平庸的程序员手下实现。 .

证据就在代码里。 就这些。

 

翻译来源:外刊IT评论

 

:-)

分享到:
评论
23 楼 commx 2010-09-02  
但是绝对不会有伟大的软件会在平庸的程序员手下实现

这句说的绝对没错,平庸的程序员可能会编写出好用的程序,经典的程序,但是绝对做不到编写出伟大的程序

但这句不等同于平庸就不能成功,平庸一样可以成功,只要够激灵,天道酬勤
22 楼 iamcrzay 2010-09-02  
只有一些平庸的程序员在这里纠结这个问题!
不平庸 看了这个只会 笑一笑 然后继续他的事情

我承认我也是平庸的程序员!
21 楼 sdscx0530 2010-09-02  
顶!优秀的程序员往往自信负责,就会对某些强加的东西强烈抵触,这就是所谓的性格不太好了
20 楼 風一樣的男子 2010-09-01  
这是在中国,国外的一些东西是不适用的
在中国有几个程序员能真正安心搞技术的?
19 楼 niuniu_cyz 2010-09-01  
有一些观点还是有道理的,不过程序员都是一步步成长起来的!!相信有一天我也会成为不平庸的程序员。
18 楼 ytcheng 2010-09-01  
jerryhanwei 写道
LikeEJB_CC 写道
楼主文章中的"但是绝对不会有伟大的软件会在平庸的程序员手下实现"

这句话有点伤人了~~~~~

人与人本来就是有差别的~~~你不能把能力相对较弱的人说成是平庸.
虽然可能能力弱点.
我觉得平庸应该是形容一个人不思进去,而不是用人与人之间的差别来划分.
能力强的做难度大些的工作,能力稍微弱点的可以配合工作.但是自己一定要尽最大努力绝对不能不思进去.


严重同意!!!!! 这帖子的说法,好像不重视沟通。。。中国技术牛人的通病。。各自为战。。我越来越觉得,国人真的很不团结。。

怎么扯到国人团不团结上来了
17 楼 jerryhanwei 2010-09-01  
LikeEJB_CC 写道
楼主文章中的"但是绝对不会有伟大的软件会在平庸的程序员手下实现"

这句话有点伤人了~~~~~

人与人本来就是有差别的~~~你不能把能力相对较弱的人说成是平庸.
虽然可能能力弱点.
我觉得平庸应该是形容一个人不思进去,而不是用人与人之间的差别来划分.
能力强的做难度大些的工作,能力稍微弱点的可以配合工作.但是自己一定要尽最大努力绝对不能不思进去.


严重同意!!!!! 这帖子的说法,好像不重视沟通。。。中国技术牛人的通病。。各自为战。。我越来越觉得,国人真的很不团结。。
16 楼 zhameng 2010-09-01  
lnaigg 写道
[quote="找不着北"]
但是绝对不会有伟大的软件会在平庸的程序员手下实现。


基本反对这帖子的说法,更反对以上这句话。

我认为,软件是否成功,靠市场策划、靠业务设计、靠项目管理,而不是某个高手的水平,更不是靠coder的水平。
以上三点,不管是通软还是企业软件,甚至Web2.0,都适用。


这话说得好像盖个楼房,靠的是投资、设计图纸设计、包工头管理,而不是民工会不会。
15 楼 lkj107 2010-09-01  
没有后边的小兵,关羽倒在了绊马索下

单打独斗的年代,平庸不行,但是现在是规模化的年代,只要leader的规范执行的好,可以让平庸的人写的代码和leader的一样,他们也是leader的臂膀

之所以平庸的人没有写出伟大的软件的,是因为leader是个不合格的leader
14 楼 kimmking 2010-09-01  
如果你不是作者或是翻译者,
请在明显的地方,著名转帖和原出处(原文)
13 楼 BloodSmith 2010-09-01  
我可耻地喝茶路过
12 楼 2010-淡定 2010-09-01  
技术好不好,平庸不平庸,在于努力与不努力
适不适应企业文化,和蔼不和蔼,在于变通与不变通 
11 楼 抛出异常的爱 2010-09-01  
作出伟大软件的人,
他就不再平庸了

PS:我记得有个写BT软件的人穷的领失业救济.....
在他没把代码写完之前,人们是怎么形容他的呢?
10 楼 qinglintan 2010-09-01  
如果有规范的框架,团队中每个人都熟悉这种框架下的开发,写出的代码是差不多的。
9 楼 Meiluoyi 2010-09-01  
同意作者观点,我们的社会需要宽容,对普通人需要宽容,对一些有特殊能力的人也需要宽容。具体到一个项目里,“绝对不会有伟大的软件会在平庸的程序员手下实现”,这个需要项目的管理者去下功夫做事情,而不是只盯着进度表等表面的东西,很多表面的东西是会掩盖问题的。
8 楼 LikeEJB_CC 2010-09-01  
楼主文章中的"但是绝对不会有伟大的软件会在平庸的程序员手下实现"

这句话有点伤人了~~~~~

人与人本来就是有差别的~~~你不能把能力相对较弱的人说成是平庸.
虽然可能能力弱点.
我觉得平庸应该是形容一个人不思进去,而不是用人与人之间的差别来划分.
能力强的做难度大些的工作,能力稍微弱点的可以配合工作.但是自己一定要尽最大努力绝对不能不思进去.
7 楼 lyw985 2010-09-01  
yongdi2 写道
又要马儿跑又要马儿不吃草


+1
6 楼 lnaigg 2010-09-01  
[quote="找不着北"]
但是绝对不会有伟大的软件会在平庸的程序员手下实现。


基本反对这帖子的说法,更反对以上这句话。

我认为,软件是否成功,靠市场策划、靠业务设计、靠项目管理,而不是某个高手的水平,更不是靠coder的水平。
以上三点,不管是通软还是企业软件,甚至Web2.0,都适用。
5 楼 nj_first 2010-09-01  
yongdi2 写道
既然是转帖,就不投票了。内容不错,不过企业的终极目标永远是又要马儿跑又要马儿不吃草

非常同意啊。
4 楼 solonote 2010-09-01  
yongdi2 写道
老板不关心代码,他只关心能不能三天后交付第四天收尾款

项目经理也不想关心代码,他只希望下面人把技术问题都搞定别来烦我,出了bug能找到人来负责并解决。他要花更多心思在客户身上,哪天客户心情好在老板面前表扬他几句就好了。他盼望项目赶紧结束,他好收提成,至于隐藏的bug和不足,等后来的项目组擦屁股吧


项目经理和老板当然不负责代码,但他们也有很多事情要做,做不好一样完蛋

相关推荐

    程序员平庸or伟大,证据就在代码里

    ### 程序员平庸or伟大:代码中的证据 在当今社会,IT行业的迅速发展对程序员的需求日益增加。在招聘过程中,很多公司更加重视程序员的沟通与协作能力而非技术水平。这种现象引发了一些争议。本文作者认为,评判一个...

    证据理论代码实现DS证据证据的融合

    证据理论的代码实现,可完成证据之间的融合。用c编写,已经通过测试、

    D-S证据理论 MATLAB完整代码

    总的来说,D-S证据理论在MATLAB中的实现是一个强大的工具,它可以帮助我们在不确定性和矛盾信息的环境中进行有效的决策。通过熟练掌握这个理论及其MATLAB实现,可以在数据融合、决策分析等领域提升问题解决能力。

    DS证据理论的MATLAB案例程序源代码

    在学习和使用这些代码时,关键点在于理解DS证据理论的基本概念,如基本概率分配(BPA)、冲突度、联合概率分布和Dempster's rule。同时,掌握MATLAB编程基础,如函数定义、数组操作和图形绘制,也是非常必要的。通过...

    Jousselme证据距离编写代码

    该代码核心为证据距离公式里的D矩阵,通过编写 该代码可以计算各个子集的交集除以并集的情况 拓展性高 适合新手理解和公式理解 推广性高

    matlab实现的DS证据理论代码-DS_fusion.m

    matlab实现的DS证据理论代码-DS_fusion.m matlab实现的D-S证据理论代码简单实现,加了一些注释,适用于独立的单一命题。 附件m文件代码: function x=DS_fusion % 功能:融合x,y两行向量 % x,y的格式形如[m1 m2...

    D-S证据理论融合代码

    该matlab程序可支持多个BPA融合 可求得冲突系数K 也可适用于多子集命题 程序以计算过程的步骤来编写 可扩展性高

    基于DS证据理论的信息融合代码

    基于DS证据理论的信息融合代码,应用证据合成法则融合的数据,最终做出决策

    DS证据理论的工具箱.rar_DS 证据理论_MATLAB DS证据_ds理论MATLAB_证据理论_证据理论matlab

    在描述中提到的"实现DS证据理论的Matlab源码案例应用",意味着这个压缩包可能包含了用于演示DS证据理论应用的源代码。这些源代码可能包括以下几个方面: 1. **证据合成**:DS证据理论提供了一种合成不同来源证据的...

    证据理论中用于求取Jousselme证据距离的matlab 代码

    资源名:证据理论中用于求取Jousselme证据距离的matlab 代码 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群...

    广义证据理论融合代码MATLAB

    该代码为广义证据理论融合代码 与经典D-S证据理论代码做出了区别 并对于特殊情况做了讨论 推广性高 核心代码移植性好

    基于证据理论的多源数据融合仿真实验matlab代码.zip

    基于证据理论的多源数据融合仿真实验matlab代码 实现功能:识别框架内元素个数在3~5个之间,其余参数自己选择,计算相应的置信度函数、信任度函数、似真度函数;同时完成两证据融合和三证据融合。用Matlab实现

    matlab实现证据融合算法程序_matlab_证据理论_证据理论matlab_

    在IT领域,证据理论是一种处理不确定性和模糊信息的数学框架,尤其在决策分析、人工智能和模式识别中有着广泛的应用。本资源提供了两个MATLAB程序,用于实现证据理论的融合算法,这对于理解和应用这一理论非常有帮助...

    基于信任折扣的改进D-S证据理论 C语言和Python实现.zip

    在信息融合、决策分析和不确定性处理等领域,Dempster-Shafer(D-S)证据理论是一种重要的理论框架。它由Dempster于1968年提出,后经Shafer进一步发展,用于处理不确定性和不完整性信息。D-S证据理论的核心在于构建...

    C++版DS证据理论

    在C++项目中,我们可以创建类来封装DS证据理论的逻辑,便于在实际问题中应用。 例如,我们可以定义一个名为`DSEvidence`的类,包含成员变量(如BPA、FoD)和方法(如合成证据、计算概率等): ```cpp class ...

    DS证据理论程序

    在`dempster_shafer_library_cpp-master`这个压缩包中,很可能是包含了DS证据理论的C++库和示例代码,用户可以通过查看和运行这些代码来理解和应用DS证据理论。这些代码可能包含了类定义,如`Evidence`或`...

    python ds evidence theoryds 证据理论 python 代码.rar

    这个名为"python ds evidence theoryds 证据理论 python 代码.rar"的压缩包很可能包含了用Python编写的代码示例,用于演示如何在实际项目中运用证据理论。 证据理论的核心概念是信念分配(Belief Function)和基本...

    证据理论中用于求取Jousselme证据距离的matlab 代码,自己编的哦!-.rar

    证据理论,又称模糊集合理论或Dempster-Shafer框架,是概率推理的一个扩展,由Dempster和Shafer分别在1968年和1976年提出。它提供了一种处理不确定性和不完整性信息的方法。在这个理论中,证据不是集中在单一的概率...

Global site tag (gtag.js) - Google Analytics