程序员的生存定律有哪些

描述

定律要素之一:自身价值

在金庸先生构建的武侠世界里,最犀利的杀伐武功应该是《独孤九剑》,但学会了独孤九剑却失了内功的令狐冲一样会被一堆无赖按到地上揍个鼻青脸肿。待到学会了吸星大法,内力大进,那就再没这回事了。

根据打铁还要自身硬的道理,修炼确实应该先从内功开始,但不是说招式就不必要了,这很辨证。至于究竟那个更重要这样的问题不在具体的时空背景下是没有答案的。

从最终表现来看,一个人的价值(或者说内功)可以体现在几乎无限多的地方,如:编程语言、分析设计、沟通、管理、估算、流程改善等等。但如果为各种技能稍做一点分类后就会发现,人创造价值的基本途径只有两个:一个是完全依赖于自身的技能,另一个则是假于他人之手。

后者也许不太容易理解,这里举一个简单的例子:假设张三和李四的技术能力都非常的优秀,但两者性格不合,一旦在一起工作就非常容易各自固守己见,寸步不让,每天争吵不断。这个时候王二出现了,王二的技术能力并不优秀,但比较擅长协调各个人的意见,有王二在,张三和李四就可以配合的比较好。在这种情形下,王二创造了价值,虽然很大程度上这种创造依赖于A和B。

具体来讲,编码、设计、测试、估算、需求分析等更类似于直接通过自身的技能创造价值,而管理、流程改善等则类似于后者。专注于设计、编码、测试等实现工作的人在现实中往往被定义为程序员,而专注于管理、流程改善等方面的人在现实里则往往被定义为管理者。

从可创造价值大小的角度看,一般情形下两者似乎都没有一种准确限度:伟大的政治家和伟大的科学家可以同样的伟大。但从现实来看,至少是在国内,很多时候人们更倾向于认为管理类职位拥有更高的价值。现实中很多公司中确实如此,但这并不总是对的。

似乎可以在某一条线上把公司安放在不同的位置上,越过某条界限之后,直接做事的人所创生的价值才可能超过管理人员。这反过来要求岗位的技术附加值要比较高。想象下在制造类企业中,从收入的角度看,生产线上的工人的收入总是会偏低。同理,在软件公司中,越是技术含量低的开发工作,这点体现的越为明显。而一旦到了顶级软件公司中故事就可能会不一样了。

在《微软的秘密》这本书中有这样一段描述:

我们中有些人对开发人员怀有极度的不满,那简直就是嫉妒。达瑞尔•希文斯是Windows NT的主要开发人员之一,他有9辆保时捷,我当然也希望能够拥有9辆保时捷。但我怨恨达瑞尔么?当然不。他绝对受之无愧,他真的棒极了。如果用我的支票来给他开工资,我也愿意。不过从长远来看,过一两年你肯定就能得到应得的报酬。如果由于某些原因,我们引入了达瑞尔,并付给他足够买9辆保时捷的薪水,而他一旦干得不够好,就不会在这里工作很久。.. 。..但这些开发人员都是精心挑选出来的人才。..。..唯一的不利之处在于,总有一部分人感到开发人员才是“主角”,但这正是这一行业的本质。

持上述看法的人是Windows NT的高级产品经理理查德•巴斯,从描述来看,这个管理者的收入是要低于被管理的技术人员的。

促成这一结果的三个关键词是:微软、Windows NT、主要开发人员。微软抓住天时雄霸PC的操作系统市场,而在操作系统中Windows NT正是核心,在前两者基础上达瑞尔•希文斯又是主要的开发人员。为使技术人员的收入超过管理人员的,这三个因素恐怕是缺一不可。这在以销售为核心的公司里很难复制,但在以产品为核心的公司里却始终存在着可能性。

单以方向自身而言,很难单纯讲那条是金光大道,而那条是华容道。关键点首先在于要避免选择自身内部蕴含矛盾,比如你想做技术却选了不以技术为核心支撑的公司,选了管理,却在纯研发环境里。其次在于无论那条路上都要努力走到专业和高端。

而不管技术还是管理,影响增值整个过程的因素都比较多:知识体系上的认知、方向的选择、博与专的平衡、知识的可流动性等都要分别进行考察。对这些点的考察将在后面逐渐展开。

定律要素之二:自身价值上的表达力

很多人咋一看这个标题,也许会有疑问:假如说是一个很牛很牛的大侠,那还需要表达力么?

实际情形是,如果大侠总是猫在山洞里隐居,那么有没有表达力其实一点都不关键,但现在关键的是江湖需要表达力,所以大侠一入江湖,就变的需要表达力了。

一说到表达力,很多人就会想到沟通和说话,但其实说话远不是表达力的核心。敏于事讷于言的人很多,难道他们就没有表达力了么?显然不是的。一个人的过往、行止、习惯、性格等都是表达力的一部分。

我们先来看一个简单的例子。

2012的CSDN上有一篇翻译的文章,叫“编程的技能和做员工的技能--那个更重要?”这篇文章里描述了两个极端的例子:

Rodrigo毕业于麻省理工,他在业余时间开发编译器。他是Haskell语言的核心代码捐助者,他开发了很多非常有名的Python程序库。他写出的代码都是非常健壮的代码,可读性好,能够优雅的处理各种程序上的临界计算场景。然而,他通常是拖延几天才回复邮件,你很少见他会接听电话,他看起来并不真正理解按时完成任务的重要性,他按自己的方式做事,你不可能弄清楚他究竟是怎么想的,只感觉他脑子里都是一些漫无边际的想法。

Gabriella并不是一个非常优秀的程序员,她写的程序看起来显然很业余。15到20行就能完成的程序她写了30行。她的程序里有bug,这让QA部门在上面花费了不少时间,她没有真正理解写出的代码应该具有好的性能的道理——“能用就行啦!”。然而,她很热情——她收到邮件几分钟内必给予回复,她从不漏接一个电话,她善于沟通,她能把复杂的技术问题清楚的讲给客户听,她从没有逾期完不成任务,她不断的寻求反馈来改进自己的工作,她是一个很随和的人,同事喜欢跟她说话。

这两个极端的例子很有意思,但如果我们真的二选一的去判断那个更重要,就会失去领会职场中一个本质问题的机会。

文中所描述的做员工的技巧事实上很像拱猪游戏里面的梅花10(变压器),他并非与所谓的编程技能相对立,而是普遍存在于每一个程序员的身上,任何一个程序员必然同时具备这两方面的能力:编程技能与做员工的技能,而做员工的技能则像一个变压器,最终放大或缩小你的真实能力。这就是表达力的功效,而做员工的技巧正是表达力的一部分。

那表达力为什么会有价值?

我们都知道管中窥豹是不好的,但很不幸即使是在最为公正理智的组织里,大多数人仍然是被管中窥豹的。企业的组织结构基本上呈现为金字塔形状,而位置越往上,权柄越大,也即是说位置在下面的人,其评判权利掌握在其上司手中。

而当上位者对下位者进行认知时,上位者印象中的某个人和真实的某个人往往会有差异。而好的组织和不好的组织的一个区别则是这种偏差究竟是主观造成的,还是客观现实而无法避免,而绝不是这种区别是否存在。

这种差异得以存在的客观原因有很多,比如:

信息丢失

层级一旦产生,信息往往需要中转,总经理要想看到某个人,往往要通过几个层级,这个过程中无疑的信息会被丢失。

信息量过大

一个人能处理的信息是有限的。比如一个Manager负责一个20个人的团队,那么由于待处理的信息过多,就就很可能在是推卸责任还是陈述困难上产生误判。

语言

即使是信息没丢失,不同的人对同样的信息理解也可能不一致。比如说V手势在英国就意味着滚开而不是胜利。

这类因素最终导致认知上的偏差成为一种无法规避的客观现实,是一种必须去适应而无法彻底改变的东西。像组织行为学这类学科中会把这个问题单独作为一个研究项目:印象管理(impression management),首因效应等探讨的都是这个事情。

这并不难理解,通过自我推销、赞扬别人、适当的从众、搞好人际关系这类印象管理的手段来管理个人表现面无疑的会让自己产生溢价,提升自己在别人眼中的价值。

毕竟在组织里,别人眼中的你才有现实意义,即使它和真实的你有所差异。从长期的视角来看,影响自身价值表达的几个主要因素是:资历、自身性格特征、借势的程度以及权术的运用等。这几点将在后面进行展开说明。

最后需要做一点区别的是改善表达力与恶意专营。

两者间本质上并无差别,有差别的是程度。从适用场景来看,在任人唯亲的环境里曲意逢迎是一种生存必备技能,但即使在最公平的组织里也需要改善自己的表达力。

年轻的程序员往往会仇恨上面所说的这点,并用充满负面情绪的词汇去形容这类技能比如:拍马屁,无耻。但其实不是,从人生效能的角度看,忽视这点是危险的,除非你在自身价值上已经达到了众人瞩目的地步,比如:简历上就一句话,我创造了Python。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分