[WeiTalk]工程师的价值和cy分类法
29 Sep 2012Contents
背景
@微博平台架构 今天搞了一个平台开放日假前的号外活动,类似于TED的自由主题演讲,大家都就自己感兴趣的话题做15-30分钟的演讲。
我临时凑热闹上去玩了玩,玩得非常开心! 平台开放日的其他几个主题演讲也都非常精彩,收益良多,后面一定要多搞这种活动!
动机
由于是临近放假的活动,所以选题时,我故意没选太过枯燥的技术 话题,而是讲一个稍微轻松点的话题; 但是我的想法还是: 既然耽误了大家如此宝贵的休息时间,那就还是希望大家能够从中有一点小的收获。 于是临时YY出了 cy分类法 这么个东东.
程序员 VS 工程师
我所理解的程序员就是只管写代码,功能实现的低级码农! 而工程师是解决问题的人, 工程师的目标是解决问题,而不是写代码, 虽然有的时候确实是通过写代码来解决问题。
程序员一般只问:
- 下周要做啥? => What?
- 怎么做啊? => How?
工程师则一般问:
- 为什么要做这个? => Why?
- 谁说这个做不了啊? => Why Not?
工程师的价值如何评估?
即使是最低级的程序员你也完全没有办法根据他完成的代码数来评估他的工作量。 工程师的价值更加的难以评估,就像: 用一杆称白菜的小称来称大飞机的重量以确定这架飞机的价值!
PS: 现场有坏人说学曹冲称象,把大飞机拆碎了称。。。
那有没有什么方法可以适当地描述工程师的工作及其工作的质量呢?
工程师的工作产出什么?
不同的工程师有完全不同的工作方式和方法,要评价其价值, 先看他的产出,一切以结果为导向。
价值观 / 德行
价值观是什么?百度百科的解释是:
价值观是指一个人对周围的客观事物(包括人、事、物)的意义、重要性的总评价和总看法。一方面表现为价值取向、价值追求,凝结为一定的价值目标;另一方面表现为价值尺度和准则,成为人们判断价值事物有无价值及价值大小的评价标准。个人的价值观一旦确立,便具有相对稳定性。但就社会和群体而言 ,由于人员更替和环境的变化,社会或群体的价值观念又是不断变化着的。传统价值观念会不断地受到新价值观的挑战。对诸事物的看法和评价在心目中的主次、轻重的排列次序,构成了价值观体系。价值观和价值观体系是决定人的行为的心理基础。
其实也就是 工程师对自己以往经验,智力, 道德的一个总结和升化,而形成的系统性,持久性的观点,评价和看法。当然也包括,一贯的,原则上的支持XX,反XX; 喜欢XX,讨厌XX。。。
当一个人的观点和看法能够经受时间和实践的拷验,能够给予别人深远的影响和启发,可谓 价值观输出!
经典的价值观输出案例:
- Google的巨牛Jeffrey Dean 提出的Map Reduce模型去解决大规模数据处理的问题,并在实践中获得巨大成功,致使大家碰到类似问题时,言必称MR。
- Eric Brewer 提出的 CAP理论 ,让所有分布式系统的设计者设计前都各种思前想后,各种折衷。
- Leslie Lamport 提出的Paxos算法被称之为世界上 唯一的一致性算法。“There is only one consensus protocol, and that’s Paxos”
- Richard Stallman 让人真正理解了 free software( software freedom ) 和 free beer 的区别!即软件领域的”自由”!
- Eric S. Raymond 的 大教堂与市集,The Art of Unix Programming .
- 自由,民主,平等! — 这个要解释么?
PS :
那天开放日讨论时 @TimYang 提到的 德行 应该是指和价值观类似的东西。
- “上善若水,德行天下!”
- 智慧 应该是指 经验,思路,方案之类的东西
- 技能 应该是指 代码等基本技能
“价值观输出”的最高境界应该是:
- 啥也没干(我是说没有帮你写一行代码),但是问题解决了! 而且解决了很多很多的问题!
价值观输出的可能影响范围:
- 百万,千万,甚至数十亿的人!
经验,思路,方案 / 智慧
“只要方向对了,哪怕慢一点,最终也能够到达目的的; 方向错了,跑得再快,也无济于事!”。 苦思冥想,毫无头绪时,过来人的一句点拨,可能直接改变进程,甚至结果!
- 当一个人的思路或方案,被人采纳,并且在实际地帮助解决了问题时,可谓 智慧输出 。
经典的”智慧输出”案例:
- 算法优化
- 这个算法的复杂度太高了, 是O(n)的,我有一个想法,可以优化到O(lgn) 。
- 这个计算代价太高了,后面还要用到,先Cache起来,用空间换一下时间。
- 工具推荐
- 用tcpdump抓下包,看收到的包是否正常?
- 用strace, gprof, valgrind, system tap, sar, netstat, MegaCli64 。。。看一下
- 历史经验
- 这个Bug去年那谁也碰到过,是因为XX版本的内核太低,需要升级一下内核。
- 这里是一份SSD的性能测试报告,随机读的性能是XXX,由此估算单机极限性能是XX, 需要申请的机器至少是XX
- 这是这次事故的Case Study报告,事故的发生过程是XXXXX, 主要原因有XX和XX,仔细分析后还发现XXX问题,短期内可以按XX方法修复,长期的话,最好是XXX,XXX。
- 方案设计
- 这是XXX的总体设计,接口设计,详细设计, 方案设计,调研报告,测试报告, 上线步骤。。。
“智慧输出”的最高境界应该是:
- 指手划脚一下,问题也解决了!
“智慧输出”的直接影响范围:
- 数十人,甚至成千上万人!
代码, 模块,服务 / 技能
Just do it!
用某种特定的技能(Eg: 用C/C++, PHP, Java, Python …写代码)把功能完成,问题解决!
- 通过修改配置,代码, 调整部署; 新增模块,服务等形式,满足需求, 解决问题,可谓技能输出。
经典的”技能输出”案例:
- 写代码,写代码,写代码。。。
- 改配置,调整部署。
- 新增一个服务/模块。
“技能输出”的最高境界应该是:
- 最省力,最省时,最高质 地 完成工作,解决问题!
“技能输出”的直接影响范围:
- 数人,也可能是数十,数百人。 类似于Linux这样的Case也会是成千上万人!
价值观 智慧 和技能的关系
从上面影响范围来看:
- 价值观的输出确实最牛B,相当于 “原子弹”,是大规模性的杀伤武器!
- 智慧的输出 也不错,相当于大炮。
- 技能输出 则 相当于 步枪了!
“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。只要经过1万小时的锤炼,任何人都能从平凡变成超凡。”
一万小时定律 – 马尔科姆·葛拉威尔 《异类》
大炮也不是每个人都轻松拥有的。但是通过一定的培训,积累,还是大家能够到达一定高度的。 “一万小时定律” 可以让你成为某个领域的专家,输出大量这个领域的智慧。 现在领域的细分越来越精细,”任何人只要努力, 就能在细分领域做到业界前沿! – by @timYang “. 而且,即使你没有到达专家,略有小成的时候,也能够输出智慧!
但是我相信连步枪都造不出来的人,很难想象他能够造出一门靠谱的大炮!
原子弹很牛B,但是不是每个人都能有的。原子弹能够造出来的原因必要条件至少有:
- 量变引起质变, 有大量的”技能输出”和”智慧输出”的积累,再进一步升华后,才得到了”价值观输出”.
- 毫无”技能输出”和”智慧输出”方面的经验,就直接输出的”价值观”,很可能是一枚”哑弹”,根本发挥不了威力,反而害人害已!
cy分类法 – 根据工程师的工作产出进行分类
假设一位工程师的工作产出量是10,则根据其产出物中”价值观输出”,”智慧输出”, “技能输出”的比例,对工程师进行分类。
根据其产出的质量,又可以分为 A,B, C,D 四档,A是极好的,B是不错的,C是凑合的,D是极恶劣,甚至负面的影响!
所以同是 235,有2B-3A-5A(技能和智慧都非常优异,价值观也相当不错) 也有 2D-3C-5B(技术还不错,智慧稍差,他输出的价值观不能忍!甚至有毒害作用) 的区别!
下面是一些典型的类型:
019
即 几乎不输出价值观,偶尔输出智慧,大部分时间在输出技能!
典型人群:
- 领域新人.
- 既没有经验,价值观也没有形成,更是无法输出。 所以更多的是学习技能,掌握技能,并输出技能!偶尔有一些奇思妙想/其他领域的经验借鉴,能够帮助解决问题。
分析:
- 做为新人,尤其是刚毕业的同学,在这个类型是很正常的事情。 大家几乎都是这么过来的。 处理这个阶段的同学需要努力静下心来,努力学习,不用太着急输出价值观!
- 如果长期(一两年,甚至更长时间)处于该类型,甚至连”智慧输出”都极少,则需要适当反思一下。
- 是否自身能力,兴趣,态度 等有问题?
- 很多的情况可能是,打井太多,深挖的太少,不出水也怪不得别人!
- 所处领域是否有潜力? 方向是否正确?
- 你的组织,领域是否给予了足够的舞台和基础?
- 是否自身能力,兴趣,态度 等有问题?
127
典型人群:
- 有经验者
- 多从 019, 028这几种类型中过渡过来。 在不断积累”智慧输出”的过程中,终于偶尔能够输出一小把”价值观”了。
- 也有部分从其他领域的 235 转型过来,然后快速上手,迅速成长。
分析:
- 非常良好的状态,需要耐得住寂寞!
- 在该领域发展很好,刚开始有一个高价值的产出,如果继续保持,很可能发展成为235.
- 产出的迁移能力不强,此时换到其他领域比较可惜,需要重头再来。但是确实有很多同学从该类型直接转型做管理,或者中途放弃!
235
典型人群:
- 领域骨干
- 一般从 127, 136等类型过渡过来,也有从其他领域235直接迁移过来的。
分析:
- 我觉得是非常完美的平衡状态!
- 这是一个稳定的状态,可能相对长期的处于。 因为 持续的技能输出,能够积累大量的 智慧输出,大量的智慧输出,又能够积累 价值观输出。。。形成一个正向的良性循环。 而且这些经验输出又可以很好的迁移到相关的领域。
341
典型人群:
- 基层小领导
- 很多从127直接过渡过来!
- 也有从235过渡过来的。
分析:
- 由于组织的需要,或者领域/个人发展较好,部分同学成为基层小领导,他们依然对一线非常熟悉,能够输出大量的”智慧”,为了带动其他新人,也会输出不少”价值观”。
- 看价值观 输出的质量,可分为 3A 或者是 3C, 甚至3D。 3A则是极正向的价值观输出,对于整个组织的发展非常利好。 3D则是消极负面的影响,这些价值观,很可能直接阻碍组织的发展。
910
典型人群:
- 精神领袖 / 先知 / 神
- 他们输出的都是 9A (输出极牛的价值观),但是一般人难以企及这个高度!
- 忽悠 / 骗子
- 他们多输出 9D (输出极糟糕的价值观)。
分析:
对于这一类人,最麻烦的是如何区别 到底这家伙是 9A(“真的很厉害”) 还是 9D(“看起来很厉害”) (一般情况下不会存在9B和9C)?
- 如果你对这个领域足够的了解,要区分9A 和 9D 应该不是难事,他们的区别实在是太大了。
- 如果短时间之内 没有办法区别 9A 和 9D的话,不妨多等一等,时间长了,骗子的尾巴迟早会出来的!
- 如果光听他们说还没有办法区别 9A 和9D的话,试着让他们多输出一些 “智慧” 和 “技能”, 9A的人输出的”智慧”和”技能”几乎也都会是A。
- 如果对这个领域真不了解的话, 可以看看这个人之前的经历, 看看他在你熟悉的领域是何种级别? 可以参考一下。
当你去浏览CSDN的某些专家的贴子,你会发现9D类的人才还真是不少, 这类”人才”, 我一般果断 “拉黑”!
PS:
- 我之前看过 @Wuvist 的一系列贴子宅男程序员给老婆的计算机课程之2:怎么看待牛人, 虽然部分观点比较偏激,不能完全认同,但是我觉得整个系列都是写得相当不错,很有启发意义! 我必须承认他输出价值观成功了!
000
典型人群:
- 吃空饷 的同学 , 啥也不干,光领工资了!
分析:
- 这一类人会很快演变成 -100, 输出负向的价值观! 应该果断 Fire Fast!
对号入座
- 你当前是什么类型?
- 你之前都在哪些类型呆过多久?
- 你期望成为哪一类型的人呢?
- 你身边的同事们呢?
- …
哦,我想说的是:
你可以对号入座,但由此带来的一切后果,本文作者概不负责!
本文相关的PPT请见: