文档章节

教你怎么客观评价程序员的水平?

ABBYY
 ABBYY
发布于 2017/08/11 13:37
字数 1573
阅读 17
收藏 0
点赞 1
评论 0

      有感于知乎上的一篇关于程序员以及关于智能运维的讨论。让我突然之间心有戚戚然的感觉。最近一段时间有点江郎才尽的感觉,写不了大的主题,就写点小东西吧。

  我们从知乎上面引用的这段小故事开始:

  1、魏文王问扁鹊家里三兄弟谁的医术最好。扁鹊回答说大哥最好,二哥次之,他自己最差。魏文王疑惑了,又问道,为什么扁鹊最有名呢?扁鹊回答说因为大哥治病的时候人没病就防止了,所以毫无名气。二哥呢,病刚起来的时候,就给治好了,大家以为只能治小病。而自己呢,能耐不够,非要到了病的很厉害了才能看出来,治起来的动静就大了。好在还不至于庸医能治好,结果大家看到每次治的都是顽疾,反而出名了。

  这发生在几千年前的对话是不是靠谱我们不知道,但是拿这话来套程序员的生态圈,真就是一套一个准。

  2、微软某个大牛软件下面两个不同的组里各有一个大牛程序员,为了不失一般性,我们叫张三和李四吧。张三的特点颇有点大哥的风范,偶尔也充当一下二哥。写的程序严谨,测试也很严谨,几乎不犯错。组里其他同事有错的,也在出大事之前默默的修掉了。

  李四的风格和扁鹊像,手脚麻利干活快,但是坑也很多。好在李四人聪明又手脚麻利,每次总是能够在自己或者组里其他人搞出惊天动地的大事来的时候,把坑迅速填好,救产品于危难。

  名气来说,李四是整个产品部门从VP往下数出了名的可靠的火枪手,救火队员。领导信任不可或缺的左膀右臂。张三就默默无闻了。只有小组里面的人知道自己是高手。

  说起结局来,李四很快就到了principal,张三么,一直默默无闻,很多年以后终于熬资历到了senior,然后在一次裁员中被裁掉了。

  3、事情到这里就有点意思了。几千年前的故事,几千年后还在上演。看官可能觉得这个是特例。其实也不然。这样的故事一直在上演。

  说说另外一个顺利上市扩张的公司的故事。我们知道但凡是初创公司里的员工,都是能够迅速的开发出差不多能用的东西的工程师的天下。但是这个东西有个度,差不多能用的东西短平快带来的副作用其实很大。弄不好就得在未来某个时候全部重写。

  这个公司的领导层就是这样一群码农自然而然的升上来的,崇尚的就是这种做事风格。但是因为公司大了,产品不能够再到处是bug了,可是公司的test coverage又是一塌糊涂。哪里都是坑。所以每次新版本的发行,都不停的延期延期又延期。

  公司里我认识的有一个俄罗斯来的人,做事情严谨,写程序的test coverage很好,因为以前合作的关系,知道这个人的工作style,而且知道这个人是我见过的最为优秀的程序员之一。有次我偶遇聊起天来,这位一个劲的和我诉苦,苦不该去这个公司。因为公司里面所有的人崇尚的是救火队员,从未有人觉得好好写code,少出bug是重要的。

  后来我又认识了一个罗马尼亚来的工程师,也是同一个公司。这位罗马尼亚老兄的程序我就不评价了,实在有点不堪入目。然而我看看linkedin,在此公司混的是风生水起。我再次和俄罗斯人见到的时候,俄罗斯人和我说,这个罗马尼亚人啊,就是个彻头彻尾的hacker。每次做事情,把当前的bug能修掉再说,code一塌糊涂,最后别人都得替他擦屎。但是领导们都很喜欢他啊,能迅速的修好东西让产品出去。

  4、这事情说到这里,其实可以概括下来两句话:曲突徙薪亡恩泽,焦头烂额为上客。

  一个程序员为了不出问题而做的努力,往往没有那些出了问题以后再打鸡血一样去努力解决的人获得的回报多。你说按照这个标准去判断,到底是哪里出错了呢?

  从这一点来说,我们首先得要看看一个领导是怎么样去评价一个好或者不好的程序员的。在我的经历里面,并不是没有遇到过在意系统结构,对那些能够写出不错的程序,能够防范未然的程序员非常重视的领导。然而更多的领导其实最在乎的依然是如何能够迅速的把东西写完,迅速的发布出去。

  基于后者的情况越来越普遍,尤其是在比如著名的亚马逊的很多产品组,领导有的是MBA或者产品经理出身的,其评价体系里面,并不会给扁鹊大哥那样的程序员太多发挥的空间。

  我作为程序员的时候,是非常希望自己可以成为扁鹊大哥这样的牛逼的大神的。我环顾四周的时候,看到拯救公司的英雄们,各个都如同扁鹊,或者扁鹊++。这个问题我很困扰了,读到知乎上的文章,颇心有戚戚然。那么码农们,你们怎么选?经理们,你们怎么看?

     了解更多关于IT运营管理方面的内容或者工具,欢迎大家前往Service Hot进行了解。

© 著作权归作者所有

共有 人打赏支持
ABBYY
粉丝 5
博文 347
码字总数 188111
作品 0
南京
好与坏的程序员:如何客观评价程序员的水平?

1 有感于知乎上的一篇关于程序员的讨论。让我突然之间心有戚戚然的感觉。最近一段时间有点江郎才尽的感觉,写不了大的主题,就写点小东西吧。 我们从知乎上面引用的这段小故事开始: 魏文王问...

局长 ⋅ 2017/08/01 ⋅ 52

关于烂代码的那些事 —— 什么是好代码

摘要 在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣。 最近部门在组织bootcamp,正好我负责培训代码质量部分,在培训课程中让大家花了不少时间去讨论、改进、完善自己的代...

两味真火 ⋅ 2017/04/09 ⋅ 9

关于烂代码的那些事(中)

1.什么是好代码 写代码的第一步是理解什么是好代码。在准备bootcamp的课程的时候,我就为这个问题犯了难,我尝试着用一些精确的定义区分出“优等品”、“良品”、“不良品”;但是在总结的过...

莫铭 ⋅ 2016/08/02 ⋅ 0

我最喜欢问应聘者的问题 & 回答思路

我面试过很多人,大部分是开发者,部分是产品经理,有时候会面试主管或者副总监。但不管是面试什么级别和什么工种的应聘者,我都会在过程中对他们提出一个相同的要求: 现在,请把我当成一个...

刘星石 ⋅ 2016/03/02 ⋅ 0

程序员的7个坏习惯

1. 所有的代码都是垃圾,除了我的以外 哥们儿,我有一个坏消息要告诉你,你的代码很垃圾。不管你花费了多少精力,总是有很多程序员认为你的代码是垃圾,他们可以比你做的10倍更好。 怎么解决...

oschina ⋅ 2012/05/21 ⋅ 57

讲解视频质量,视频质量测试,主观客观评价视频质量

1 从模拟信号到数字信号 2 客观视频质量 3 主观视频质量 4 参见 5 参考 视频质量是量化一段视频通过视频传输/处理系统时画面质量变化(通常是下降)程度的方法。由于视频处理系统可能会导致...

mazhitong1020 ⋅ 2017/05/24 ⋅ 0

技术的提升仅是量的积累,思想的提升才是质的飞跃

如果没有做到这一点,那么学再多的知识都没有实质性的用处。----20160920第一次编辑(今年3月份上课开始,授课老师一直在讲并且是反复在讲这句话,一直在领悟) 新的技术日新月异,不要被这些技...

二进制卤蛋 ⋅ 2016/09/20 ⋅ 0

7本软书,助你突破职场天花板

来,审视一下你所在的公司,是不是存在下面的现象: 有个人技术水平不如你,却是你的领导 有个人技术水平不如你,却是项目经理 有个人技术水平不如你,却比你薪水高 有个人技术水平不如你,却...

foruok ⋅ 2017/12/30 ⋅ 0

技术晋升的评定与博弈

近两年在负责公司技术人员晋升相关的工作,所以有了一些思考。去年写了一篇《程序员的成长阶梯和级别定义》定义了程序员的晋升之路,但其中有一点实际并没有想的特别清晰,那就是关于技术晋升...

mindwind ⋅ 2017/02/27 ⋅ 0

视频质量评价方法:VQM

如何确定一个视频质量的好坏一直以来都是个棘手的问题。目前常用的方法就是通过人眼来直接观看,但是由于人眼的主观性及观看人员的单体差异性,对于同样的视频质量,不同的人的感受是不一样的...

leixiaohua1020 ⋅ 2013/10/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(十)JavaScript的DOM基础

JavaScript零基础入门——(十)JavaScript的DOM基础 欢迎大家回到我们的JavaScript零基础入门,上一节课,我们了解了JavaScript中的函数,这一节课,我们来了解一下JavaScript的DOM。 第一节...

JandenMa ⋅ 52分钟前 ⋅ 0

Spring mvc DispatchServlet 实现原理

在Spring中, ContextLoaderListener只是辅助类,在web 容器启动的时候查找并创建WebApplicationContext对象,通过该对象进行加载spring的配置文件。而真正的逻辑实现其实是在DispatcherSer...

轨迹_ ⋅ 今天 ⋅ 0

Weex起步

本教程假设你已经在你的本地环境安装了node 其实weex起步教程在 https://github.com/lilugirl/incubator-weex 项目说明文件中都已经有了,但为了有些同学看到英文秒变文盲,所以这里我重新写...

lilugirl ⋅ 今天 ⋅ 0

Jenkins实践1 之安装

1 下载 http://mirrors.jenkins.io/war/latest/jenkins.war 2 启动 java -jar jenkins.war 前提:安装jdk并配置环境变量 启动结果节选: ************************************************......

晨猫 ⋅ 今天 ⋅ 0

组合数学 1-2000 中,能被6或10整除的数的个数

1--2000 中,能被6或10整除的数的个数 利用集合的性质 能被6整除的个数 2000/6 = 333 能被10整除的个数 2000/10 = 200 能被6和10整除的个数 2000/30 = 66 能被6或10整除的个数 333+200-66 =...

阿豪boy ⋅ 今天 ⋅ 0

一篇文章学懂Shell脚本

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用...

Jake_xun ⋅ 今天 ⋅ 0

大数据工程师需要精通算法吗,要达到一个什么程度呢?

机器学习是人工智能的一个重要分支,而机器学习下最重要的就是算法,本文讲述归纳了入门级的几个机器学习算法,加大数据学习群:716581014一起加入AI技术大本营。 1、监督学习算法 这个算法由...

董黎明 ⋅ 今天 ⋅ 0

Kylin 对维度表的的要求

1.要具有数据一致性,主键值必须是唯一的;Kylin 会进行检查,如果有两行的主键值相同则会报错。 2.维度表越小越好,因为 Kylin 会将维度表加载到内存中供查询;过大的表不适合作为维度表,默...

无精疯 ⋅ 今天 ⋅ 0

58到家数据库30条军规解读

军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及...

kim_o ⋅ 今天 ⋅ 0

代码注释中顺序更改 文件读写换行

`package ssh; import com.xxx.common.log.LogFactory; import com.xxx.common.log.LoggerUtil; import org.apache.commons.lang3.StringUtils; import java.io.*; public class DirErgodic ......

林伟琨 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部