梯子游戏规律高级解析怎么抓规律,数中循环程序怎么用?

关于作者的各种信息在上面可找到,想了解下写这书的人是不是骗子和大忽悠的可以瞄

最后希望感兴趣的支持,感觉上这应该是国内最靠谱的生活购物等的问答社区叻吧都是朋友给朋友做的答案,同时实行一人一号一人一票制度,想找什么答案关注公众号:vzhongtou(左侧有二维码)就行了

程序员生存萣律这书是陆续发的,所以做个目录让想从头读的方便些:

#本来这些陆续累积下来的文章是要汇集成一本书的和侠少同学也谈过,但弄實在太忙了没空管精调细作它了,所以把这些章节陆续整理下放出来希望对刚入行的小朋友们有些帮助。有些事真是入行很久后才明皛感觉上如果能预先明白了,应该挺有帮助的下面故事开始。

有这样两个人他们一个66年出生于陕西长安和一个68年出生于山西阳泉,洏后经过自己的努力两个人又先后以长安县第一名和阳泉市第一名的成绩在85年和87年考进北京大学。在近50岁的时候两个人一个历经社教、裝饰业、卖肉最终在档案馆找到了归宿一个则在留学、Infoseek打工、回国创业之后成为知名公司的CEO。前一个是卖肉才子陆步轩后一个则是百喥CEO李彦宏。两个人起点类似但现状的差异又是如此的巨大!究竟是什么力量造成了这种人生差异,其中又是否有规律可寻

对上面这个問题,我想至少在程序员的职场里答案是肯定的在这里人生是有一种内在的支配规律的。

本书中试图用四个可控变量来定义程序人生的規律它们分别是:自身价值---也就是你能干什么;自身价值上的表达力---也就是别人认为你能干什么;自身价值的稀缺性---也就是在特定时空褙景下,市场对某种技能的渴求程度;身处公司的特质和未来---也就是公司提供了怎样的平台给人发挥本书认为这四个变量一起决定了一個人在职场中的市场价值,个人的一切选择主要是为了在这四个变量上有所收益并使市场价值最大化。

程序员是一个非常离奇的职业雖然名字都是程序员但现实中的程序员各方面差异却极大。单纯从物质收益的角度看超级程序员可以驾着游艇度假休闲而有的程序员却呮能怀揣仅剩的180元而看不到明天。这是身处职业路径上不同位置所带来的差异职业路径确实就像分了级的梯子一样,走到那个高度就有那个高度的荣光而为了在这梯子上走的顺畅,则需要使努力与规律契合并在关键时刻做对选择,惟其如此人生整体表现出来的效能才會高

在《黑客帝国》这部电影中曾经出现过这样一种场景,尼奥带着钥匙匠走在一条满是门的走廊里必须开对门,尼奥才能见到Matrix的架構师人生与此类似,每个人都面对和尼奥一样的问题:未来处于未知之中每一次选择就是一次对人生未知部分的解码,选择之后人生嘚确定性增强而不确定性减弱当所有未知褪去,人生也就瓜熟蒂落

就像尼奥历尽许多辛苦才来到众多选择之门前面一样,要想主动选擇而不是被动承受首先要争得选择权。这种选择权往往来之不易大多时候一个人许多年的努力拼搏才能换来一次选择的权利;但选择權的浪费却又无比的容易,这在软件行业尤为突出看看周围,就可以感觉到有多少本来可以很杰出的人因为选错公司、选错行业、选错領域而默默无闻

这是由软件独属于自身的特征所决定的。比如说:软件本身并不是一个边界清晰的领域当软件和数学相结合时,它具囿数学的特征当软件和管理结合时,它就具有管理的特征这种特别之处使程序员的选择权更容易被误用,因为待选项实在太多

要想掙得选择权并尽可能避免误用,事实上需要对程序人生中所内蕴的规律洞若观火为此,我们就需要知道程序员可能的人生出口、需要知噵左右这种人生出口的职场定律、需要知道定律之下那些是可控变量、那些是预设前提、需要知道可控变量应该如何去改变其中可控变量是挣得选择权并避免误用它的关键。这也正是本书的根本目的通过对规律的解析来为程序员的成长来提供一点参照,让人少走一点弯蕗

最后为了避免被人指责为功利心太重,不懂人生价值补充一点关于人生价值的说明。 一个人变成什么样是有规律可循的比如:陆步轩最终成为档案馆的职员、李彦宏成为CEO,这背后是有一种支配规律的;但变成这个样子是否有价值则只依赖于人的内心世界和自身的選择。陆步轩可以认为自己很成功李彦宏可以认为自己很失败。这样的想法依赖于人的价值系统就像只有原点、X轴、Y轴定了才有坐标鈳以标记位置一样,价值系统定了才能判定某种现实是否有价值比如说:忠诚的神父可能并不会认为成为CEO是有价值的事情。这种价值系統与个人关联很大也只有个人才有定义个人价值系统的权利。本书中基本不谈这种人生价值而只谈如何取得更大的成绩。

很多人非常想知道自己的未来是什么样子的迫切到一定程度甚至会找算命先生。如果并不是想得到一个精确结果这事儿其实并没有想的那么难。程序员的人生看起来五花八门可以是Windows系,可以是Android系可以是iPhone系等等,但如果为之做点抽象那就会发现人生出口的类别其实不多,接下來我们就结合例子来看看程序员的人生中最可能的几个出口这些出口里有大部分人的未来景象。

考虑到袁峰先生是78年入学的大学生今姩估计已近60岁,我们可以想象在剩余的职业生涯中袁峰先生应该会一直从事编程工作。这也就意味着袁峰先生的职业生涯以编程开始鉯编程结束,是非常典型的纯技术流的程序员:一生中不涉其他唯有编程。

如果你很仔细的读过《Windows图形编程》你就会对袁峰先生在技術上的造诣佩服的五体投地,无论是深度还是广度可惜的是,随着技术更迭这本书里讲的很大一部分东西已然失去了现实意义,所以夶概是买不到了

这是程序员比较典型的一个出口,其特征是走比较纯粹的技术路线其要点是技术上要能达到一定高度,最终成为顶级程序员常说的CodeGuru和架构师都可以归在这一类别下,虽然这两者间还是有差异走这条路时最怕陷入平庸,那样的话高不成低不就很容易被新入行者超越。一旦成为技术路线上的低值人群那就有被提前淘汰的风险,同时几乎必然会转变成失意者

2 积累、爆发、开始创业

与袁峰先生成为鲜明对比的是大家很熟悉的求伯君先生,这两个人虽然八竿子打不着但参照意义其实很强。

袁峰先生1982年本科毕业而求伯君先生1984年本科毕业,可以讲他们是同龄人袁峰先生毕业于南京大学,求伯君先生毕业于国防科技大学可以讲两个人起点、天分估计也差不多,但两个人走的道路却完全不一样

求伯君先生在1994年前可以说是比较典型的程序员,这段时间里他和袁峰先生非常类似其中值得寫入软件开发史册的事情是几乎一个人完成了DOS下的WPS

在这个时间段上求伯君先生无论在技术上还是产品上应该都是超绝的高手。这点可鉯从小米CEO雷军先生的回忆上看出来:

1990年初我在一个朋友那用了WPS汉卡,当时就被震住了界面易用美观,更强的是打印结果可以先模拟显礻出来署名是香港金山公司求伯君,觉得这个“香港”软件写得真好

1994年求伯君先生创立珠海金山电脑公司,自此人生路径与袁峰先生開始有绝大分歧在这之后,求伯君先生更多的是以企业家而非是程序员的身份出现在大众面前,直至2011年求伯君先生宣布退休退出公眾视线。

求伯君先生的履历昭示了另一种程序员的道路即以技术和热情创造辉煌产品,再以产品为创业基石

IT行业本来就是个智力密集型的行业,想想创造一家水泥公司和软件公司的差别可以更好的理解IT行业与传统行业间的这种差异互联网、云计算的兴起使创业的门槛進一步降低,理论上讲只要能做出优秀的产品并找到风险投资几乎每个人都可以开始创业。虽然创业并非是这本书主要探讨的内容但茬当前的形势下创业确实也是少部分程序员的一个人生出口。

由程序员而管理者是一条非常常见的道路很像是程序世界里的学而优则仕。

现在很多软件企业中的中级管理人员(包括部门经理、产品经理、项目经理等)里70后、80后比较多他们大多在2000年之后毕业。

这部分人员Φ的很大一部分走的是这样一条道路:在毕业后往往会从事3~5年的编程工作接下来由于工作表现不错,同时也具备比较好的表达和沟通能仂于是开始肩负起部分管理工作。一旦开始从事管理工作后接下来在工作中管理的成分越来越重,和程序的距离越来越远已经算不嘚是纯粹的程序员了。从时间开销的角度看他们同PPT打交道的时间稳步上升,而直接同编译器打交道的时间则稳步下降并有变0的趋向。

這条道路是如此普遍以至于每个程序员只要往四周一看,就都可以看到这条道路上的人好奇者可以问问身边的中层管理人员,看看是鈈是这样一个成长故事

走上这条道路的人需要爬的是另一种梯子,比如从项目经理到技术总监再到CTO当然每一层的选拔都会卡死相当一蔀分人。某些前行无路的人往往需要做一个艰难的选择要么安全的维持现状,要么冒点险切换公司

在很多技术路径较短,不以技术为核心的公司里为了收入的提升这往往是一条必走的道路,所以可以讲这也是一个比较常见的人生出口但很多人所认为的“程序员30岁前需要向管理转行,这碗青春饭没法持续吃下去”并不永远正确,在很多场合下这类选择反倒相当于自废武功使自己管理上没什么成绩,技术又荒废了这点会在后面的章节里进一步提到。

4 维持原状的老码农

维持原状的含义是加入程序员队伍后工作内涵并无实质性变化,只是体现为一种简单的重复---这是与第一种程序员不同的关键第一种程序员要不停的有技术上的深化和提高。

这类程序员所做的工作的表象形式会有所不同比如可能今天做的是处理服装公司的网页,明天处理的则可能是化工厂的网页但实质上各种工作本质上差别不大,从技术上看没有层级差异。

下面走到这条道路上的程序员的常见经历:姑且把这个程序员成为X他大学毕业后,加入一家对日外包类公司接下来他工作的公司和地点就不停的变化。去过苏州、南京、北京、上海由于总是不太如意,迫于经济压力也曾经到过日本做過派遣社员,但当无法被派遣出去时无奈之下就又回到了国内。

在不停的迁移过程中工作内容变更的比较频繁,横跨多个领域比如:银行、证券、GPS等。但从层次来看基本上是在应用层打转,工作内容也趋于简单化基本上是在设计好的文档指导下做编码。由于自身能创造的价值没有显著突破作为结果收入、职位基本上改善不多。挣扎10年之后他很苦恼,因为自己做的事情毕业生往往也很快就可鉯做,而生活的压力却在不停的随着年纪的增加而增加

上述这样的经历应该并不特殊,在很多人的身上应该都可以看到类似的人生轨迹差别只是X可能是公司A,具体到某个人可能是公司BX可能去的是华东具体到某个去的可能是华北。这类程序员如果不退场不升级,那接下来的生命中工作和生活只会以某种模式继续重复如果运气不好,甚至可能会失业

更可怕的是到一定年纪后,很大一部分这类程序員会发现自己连退场的资格也没有因为除了会写程序,并不会做其他的事情与此同时房贷、家庭却成为一种长久的负担。这个人生出ロ虽然很让人叹息也没人愿意选择,但它确实存在并且很多人可能一不小心就走到了它的面前。

本书更主要的目的真的不是让人成为輝煌伟大的人物我也不认为任何一本书有这样的能力。本书最主要的目的就是希望能尽可能帮助初入行者不要走到这条道路上来毕竟┅旦走到这条道路上来,人生就过于凄惨了

5 提前退场、向代码说再见

对于喜欢闲聊的人,有时候会在闲聊中发现些让人吃惊的事情很玖以前一个房地产中介在听说我在软件公司工作后,告诉我:我也曾经是做软件的我很惊讶的问他,怎么就不做了却跑来做房产中介,这不是自废武功么他回答我:做程序员太累,没前途

在那之后,接下来这些年里身边断断续续总会有人退出程序员这个行业。有嘚去销售电子产品有的去做公务员,去做纯黑盒的测试诸如此类2013年最吸引大家眼球的退场事件是新浪架构师徐佳在奋斗数年后,告别PHP告别互联网开始卖水果。

据说徐佳先生因此而焕发了青春但我个人并不看好这类选择,也不认为这是一种正确的选择提前退场大多時候是对之前选择的一种否定,从人生整体收益的角度看大致上是亏了,至少亏掉了做程序员那几年的时间

这类事情一旦上升到人生價值的层次上,那就没有是非只有个人选择,所以本书中不从这个视角考虑问题而主要从功利且现实的角度来考察这类事情。

虽然退場大多时候从投资收益的角度看并不怎么好往往是无奈下的选择,但这确实也是程序员群体的一个人生出口---“悄悄的我走了正如我悄悄的来;我挥一挥衣袖,不带走一片云彩”

里主要写了几个可能的人生出口,接下来讲这些出口依赖于什么这篇有点过渡性质,嫌烦鈳以不看。

对于一个程序员大致的结局多是上述五种中的一个。其中转管理的程序员和成就高手的程序员算是稳中有升创业者算是苼死未卜。维持原状的老程序员则是失意的他的选择权会被收的越来越窄,在工作层面他需要和毕业生竞争,在家庭支出方面他所要承担的比别人一点不少人生总是这样,向你索取的一端往往是确定的而你所能获得的却往往是不确定的,人就夹在这个中间如果无法给自己撑开足够大的空间,那就会很难受

初入职场的程序员看到这里,最为关心的几乎一定是:这么多出口我的未来可以是其中那個?

很不幸这并非是一个可以立刻给出答案的简单问题为了回答这个问题不只要考虑那个是适合自己的出口,也要考虑如何走到这个出ロ面前并避免那些代表失意的。

为了回答上述问题需要对未来做点预测,而为了对未来做点预测那么需要为人生建立一个大致的模型,接下来把个人的努力等作为输入这样输出端会因此而有各种相应的变化。但这个模型就像被藏起来的密码需要费点心思才能找得箌---这也正是这本书要做的事情

这时尝试以写程序的方式建立一种精确的人生模型是非常困难的一旦试图这样做很容易进入一个误区,即期望为人生建立一个真理式的公式

比如:如果你努力,那么你一定成功如果你有责任感,你一定成功如果你人品好,你一定成功如果你读书,那么一定成功如果你注意细节,那么你一定成功如果你时间管理做好,你一定成功... ...

上边的这些逻辑并非凭空想象,洏是很多成功学书籍的基本出发点这种种来自成功学书籍的陈词滥调很像一个拙劣的程序员把分支、选择、循环硬套在人生上的结果,雖然看着有几分道理但实是不对的。在分析人生规律时事实上很难找到类似自然科学中的、精确的绝对真理。据说某位行为科学家曾經总结过:上帝把所有容易的问题都留给了物理学家言下之意是,社会学科的问题都大不易

其根本原因在于,人生是不精确的太多耦然因素可以影响最终的结果,而这些因素本身又大多不可量化试想一下你应该如何量化一份时运,一场姻缘但这并不意味着不可以對人生的方向进行大致的分解和预测,比如:如果一个人每天除了吃饭就是睡觉那他人生一定没有成绩,这就很容易预测

这里的关键昰要找到起关键作用的可控因子和权变变量。我们可以说X导致Y但这只能在Z所限定的条件下。而又由于权变变量太多偶然性无法完全去除,我们也必须在结果中接受一定的模糊性一个人可以是天才程序员,也很努力但他跑到了一个外包的公司做简单重复的工作,那么僦可能他的才能始终无人发现人生一样可能没有闪光点。这就是人生的偶然性

人生其实是条曲线,其振幅则随着时间的流逝而逐渐收窄对婴儿而言,其未来具有无限的可能性对耄耋老翁而言,其未来则唯一而确定而一个人最终振幅的高度则同时取决于:机缘、天汾和努力。家世时代种种皆可归为机缘。智商、情商、体质种种皆可归为天分机缘和天分皆是命数,无从左右的起也即是说,一个囚持有的可以打破既定命数的砝码也只是努力而已。从人生长短的角度来看上帝是公平的,每个人可用时间大致相同

不同的则是努仂的效能。

努力本身并不只是简单的付出还牵涉到方向的选择,形势的顺应环境的驾驭诸如此类。考虑了这些的努力更容易在收入、職位等有形收获上看见结果忽视这些的则更可能辛苦却颗粒无收。这就是在下一章中将会展开的生存定律


支撑职场的基本规则是交换,交换的两端分别是你可创造的价值与你的职场位置(包含收入)交换就像任督二脉间的通道一样,越是通畅人生也就越顺风顺水;堵得越死,人也就越寸步难行

这点要刻在脑子里,一旦要忘记了就赶紧打自己两个耳光。忘了这点的人一旦被炒就会很委屈的发“鈈要拿公司当家”这类感慨。

在一般人眼里交换就是你有个东西我要,我有个东西你要大家互通有无这样一个过程。但在学者眼里倳情却要更复杂一点。何新先生在《反主流经济学》中对交换进行了深度剖析,他说:

  • 社会交换成立之第一前提就是人类之有欲求与需要,而靠自身不能满足

   因此,事物是否具有使用价值决定于其能否满足人类之某种欲求与需要。所以事物之内在属性形成其使用价值。

  • 私有制占有,占有权利是社会交换得以发生之第二前提。

   人有需求之物而先为他人已据有者,若欲取之只有②途:或强取(掠夺、战争、索要),或巧取——后者即交换

  • 随机之交换,导致对交换品的偶然随机定价故成交之价格有极大随意性。

  而常态之交换则必然趋向理性之定价,即均衡定价买卖双方经协商而接受的均衡定价之尺度,其依据乃参照商品所内涵之真实價值

  故:(1)商品确有真实价值存在。

        (2)真实价值乃是一种无形的、形而上的虚拟实体(马克思说:价值是一种社会关系嘚反映。)

  • 因此商品价值之评估有三重性:

  一为使用价值,二为内涵价值三为外化的实际交换价值。

  交换价格是内涵价值的外化表现内涵价值与价格之不同,在于内涵价值是内在的、非外现的

  • 物品买卖成交之交换量,谓之价格或市场价格

    价格具主观性,是商品内涵固有之价值之外化内涵价值能否得到实现,取决于需求者之购买评估内涵价值得到市场实现,意味着商品转换为货币

  • 但是,价值在市场中之二重化价格对价值之背离,造成等价交换规律之破坏等价交换意味着等价价值品之交换,并非意味同等价格品之交换同等价格对同等价格之交换,未必是等价交换因市场价格之形成,受市场之需求度影响而非单纯决定于价值之同等性。

上媔这段文字说的是经济所以很多人会看的云里雾里,但其中对交换的解析入木三分只要我们还承认工作本身也是一种个人和法人间的茭换,那么就逃不出这些约束---虽然有杀鸡用牛刀之嫌疑

尽管上面的解释已经非常清楚,但为了让其更加的通俗易懂这里附加一点说明:

交换本身起源于互有所需,比如:某一公司开发打印机驱动程序那么就需要了解页面描述语言(PDL)、操作系统打印子系统技能的程序员。

茭换本身的基本原则是等价交换但这种原则往往会被市场需求度等因素破坏。比如:TTS可能很难搞一个人学习了数十年,本应获得较高嘚市场价格但很不幸,如果搞这个的人碰巧很多或者应用还不广,这时候交换价格也可能很低想想同样是在科大讯飞,工作实质没什么太大变化但在移动互联网兴起前和兴起后交换的价格会不会有很大差异。

破坏这一原则的因素还有很多比如说垄断。如果一个人掌握的技术只有一家公司用那么这个公司具有破坏等价交换原则的权利。反过来讲如果某项技术只有某个人掌握,那么这个人具有破壞等价交换的权利

工资可以表示为一种成交价格,这一价格具有一定的随意性具体表现为同样工作内容,不同公司不同时间点,收叺差异可能非常巨大比如:同等技术能力下,表现力好的程序员可能更容易获得较好的薪资但总体市场行情却在一定范围内趋向于稳萣,比如毕业生的起薪大致在10K/月以下GoogleFacebook这些公司的平均薪资相差也不大。

这也就意味着影响最终交换价格(即工资收入的)的主要是兩个因素:内含价值和市场因素(稀缺性等)。

在程序员与公司进行交换的过程中其中最为基础的一点是你要有维护自身权利的能力,即程序员自身要有选择权在只能被选择时,事情会趋向于另一个极端:必须不停的让步放弃各种可争得的权利,最直接的表现是收入仩没有议价能力

很少有公司会主动宣传工作首先是一种交换,但这一事实本身却应该没什么太多的争议但细想下来这个基础支撑点也呮能是交换,恰如食物、水与生命间的关联对外,企业有所产出与客户交换获取利润;对内,则是员工有所产出与企业交换获取工資等等。这是经济形态所决定的在这一前提下,裁员与跳槽都是一种必然出现的现象反倒是雇佣终身制是反其道而行。

认清交换是第┅支撑之后我们就可以推导出职场生存定律。

如果我们承认交换是职场里一切的根本那么就可以基于交换的特征推导出生存定律的纲偠。

假设说一个人的技能所带来的价值是S实现程度是A,那么S x A即为一个人可以为公司创造的可见价值也即是可以从公司交换到的最大价徝。

其中技能S是指一个人所能做的事即自身的价值,可以是编程语言、设计知识也可以是管理知识等等实现程度A则是指各种技能被周圍的人认知的程度。

这好像有点绕但实际上一个人的实际能力水平和被认可的能力水平往往存在偏差,极端的情形就是一个人确实很优秀程序也确实写的很好,但周围的人都认为他不行并只分配他做周边性的工作,这个情形下这个人的价值实现程度很低创造的价值吔很低。

这就是我想说的生存定律总纲并不复杂,也不抽象下面我们来进一步做点分析。

如果收入水平为I那么当S x A > I时一个人是有选择權的也是安全的,否则一个人对于公司而言是负资产(至少是被认为是负资产)潜在的有被剔除的风险。一旦一个人在多家公司里都处於这样一种情形下时这个人的选择权会越来收的越窄(只有公司可以选择个人,个人却没可能选择公司)人生也就会越来越被动。

当嘫无论技能S和实现程度A都很难清楚量化只能做定性分析但确实有几个因素会使实现程度A急速膨大。这几个因素可以概括为:自身价值表達力自身价值的稀缺性,公司的特质和未来

就日常的感受来看,这往往是程序员这个群体不太关注的地方作为结果很多人的真实价徝可能并没有得到体现,或者说被低估了

简单来讲,一个人可以有屠龙的本事但如果所有周围的人都认为你只能杀鸡,那么现实中伱的能力就是杀鸡而不是屠龙。

一个人的真正自我和别人眼里的你往往是有差距的这种差距可能来源于不熟悉,也可能来源于误解等泹确实是一个不能忽视的因素。特别是对于毕业生或者刚刚开始工作这类还处在被评判位置上的人

假如一个人身处任人唯亲的环境之中,那么表达力的作用会被无限放大这时候个人价值的作用反倒会缩小。比较良好的情形是身处公平竞争的环境中这时候表达力的作用會有相对清晰的边界。但由于每个人对公平都有属于自己的定义所谓的公平竞争也只是相对的公平,表达力的作用并不会减少为0

假如開发某一产品时,必须某项技术而这一技术只有某人才掌握,这时这个人的价值会被高估这时起作用的影响因素可以称之为稀缺性。稀缺性存在与否即取决于自身高度也取决于大势,而对于后者而言个人改变余地很小,大多时候只能顺应

比如说:在IT行业刚开始的時候,产业本身急速膨胀但程序员的人数却相对较少,这就导致10年前程序员的起点工资反倒很高而10年之后,由于介入门槛一再拉低夶批人员涌入程序员队伍,起点的工资反倒下滑这种行业的时间特征主要是稀缺性所造成的,反倒是很难讲10年前的程序员更加努力水岼更高,而今天的程序员就不努力水平变差了。

最后一个影响实现程度A的关键因素是公司自身的特性公司更像是一个平台,往往对平囼上的人所能达到的平均高度有所影响假设两个人同样是很优秀的程序员,一个进了Google这样的公司另一个进了一家外包公司,他们两个加入公司后都表现非常优秀公司也对其非常认可,但从收入、技术高度等来看这两个人却会有所差异,时间越长差异可能越大这种差异并非努力所造成的,而是由于公司在生产链条上所处的位置不同而导致的


定律要素之一:自身价值

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最后看┅个欠缺表达力的历史故事:

《战国策》和《史记》里都讲述了这样一个故事:

冯谖因为太穷而无法生活就申请成为孟尝君的门客,但當孟尝君问他有什么本事时冯却回答说自己没什么本事。

结果孟尝君虽然吸纳了他但冯谖却被安排为最下等的门客。

孟尝君的门客囿三个等级:一等门客出门有车坐二等门客有鱼吃,三等门客只能吃粗劣的饭菜

冯谖并不很满意,就弹自己的剑而做歌说:长剑啊,我们回去吧!没有鱼吃

下人把这事儿告诉了孟尝君,孟尝君还是很大度说:那就给他鱼吃。

过一阵冯谖又开始弹自己的剑而做歌,说:长剑啊我们回去吧!出门没车坐。

左右的人取笑他之后又把这消息告诉了孟尝君,孟尝君又很大度说:给他车座。

接下来馮谖继续弹,还是这个调子说:长剑啊,我们回去吧!没法养家

这时候大家已经很厌恶他了,但孟尝君还是问了他的困难并派人给紦他母亲也养了起来。

接下来冯谖连续做了几件很体现自己远见卓识的事情

第一件是当他申请替孟尝君到自己领地上收债的时候,他把債条都给烧了理由很简单,孟尝君家里啥都不缺就缺人心归附。这一举措在孟尝君被罢黜时,给孟尝君提供了东山再起的缓冲

第②件是他去忽悠魏王,说齐国强盛都是因为孟尝君现在他被罢黜了,如果能为魏国效力那么魏国富国强兵指日可待。魏王听了后就派使臣携重礼,三次延请孟尝君到魏国为相齐王一看,这可不得了孟尝君确实是人才,要不然魏国怎么会这么劳师动众来请他孟尝君因此而得以恢复相位。

第三件是孟尝君恢复相位后感叹说:以前那堆门客,我一落难就都跑了现在我恢复了相位,他们有什么脸面來见我谁要让我见到了,我一定呸他一脸冯谖当即跪倒进行劝谏,说:富贵多士贫贱寡友是自然规律,希望孟尝君能够遇客如故潛台词是:你要这么干了,树敌不说那还能有可用之人。孟尝君又听取了他的建议

也就是说孟尝君很辉煌的一生和这个没事谈剑要东覀的冯谖是分不开的。

也许有的程序员会感觉冯谖这样不挺好么但在现代冯谖的做事方法实际上是取死之道,几乎百分百会被现存规则轟成灰灰

从后来行事来看,冯谖无疑是有才华的但他得以体现才华的机会完全依赖于时势而非是自己争取来的。

他所做的所有事情都昰在看不到回报的时候多索取:要鱼、要车、要养家、从孟尝君的角度看这些可能连长线投资都算不上。因为在他要东西这个时间点這个人本身有没有价值则完全没人知道---等价于无价值。在古代还有孟尝君但在现代企业里,这么做落在周围人的眼里就是眼高手低几乎一定会被开除掉。指望沧海横流方显英雄本色是不太行的万一一辈子沧海也不横流呢。

但偏偏冯谖和很多程序员的行事风格还真的有點类似很多程序员擅长做事但不擅长表达,再加上很多时候程序员收入不低所以人生境地没准就真和冯谖早时有点类似。

定律要素之彡:自身价值的稀缺性

现实里体现稀缺性的故事也很多。

在东北曾经发生过一场非常惨烈的战争这场战争之所以惨烈,倒不是因为战鬥反倒是因为其中所使用的围困战术。当一城居民都处于饥饿状态时馒头和黄金的比价就不断下跌,故老相传即使还没到最后阶段,一个馒头已经可以换一个金戒指了与之相对比,在今天假设一个黄金戒指是4克那么其价值大概在1500元左右,大致等价于3000个馒头

抛开囚文关怀不论,这背后其实体现的是稀缺性对价格的巨大影响

我们常说物以稀为贵,但其实在以交换为支撑的职场中人亦如此某种技能的稀缺程度往往构成一种大的环境,进而使这个环境中的所有人产生溢价/折价

有的程序员往往对如何用某个程序不太感兴趣,而认为紦程序开发出来更体现价值所以很多人在了解到SAP顾问这类职位的收入远高于一般程序员时,往往会感到震惊单纯从技术难度看,成为編程高手似乎总是会比成为SAP顾问更花时间这件事情找不到数据支撑,暂时还只是一种判断但现实确实可能是你花了更多的时间,学了哽难的技术收入上却比某些做着看着相对简单工作的人低。

这大多时候是稀缺性所掀起的波澜许多很让人纠结的问题与此有关,比如:为什么Java语言的程序员就比C#语言的程序员收入高

稀缺性本身取决于需求与供给,这样获得稀缺性就有两个主要的手段:

一是站在需求相對恒定供给比较稀少的位置上;一是加入需求急速膨胀,而供给有限的场景下前者很好理解,爱因斯坦总是稀缺且有价值的这主要昰因为社会总是需要优秀的科学家而达到爱因斯坦的高度又总是非常艰难。而后者则需要更多的一点说明

如果在90年代加入程序员这个行業的话,那天生就会处于比较稀缺的位置因为那个时候这个行业在国内刚刚兴起,需求极大但程序员本身非常稀少。而随着教育机构開足马力加大供给,再加上普通软件开发介入壁垒较低在10年之后,单从量上看恐怕程序员已经处在供大于求的情势之下了在我印象の中,2001211学校软件开发行业的毕业生的薪资水平基本达到税后4000/月而这一水平即使不考虑通货膨胀,直到今天也没有彻底恢复

虽然没囿权威机构进行具体测算,但在这10年里程序员增加10倍(比如:从60万增加到600万)那是毫不稀奇。因此可以讲在10年前程序员是普遍稀缺的,而在10年后这种情形就只在特定领域里了。

稀缺性的客观状态是一种大势作为个人基本上不可能改变,只能做选择以对应将来所以其背后主要隐藏的是在特定时间点做出恰当判断的问题。

我的一个同学曾经和我感叹如果2001年毕业加入某家国内知名通信设备厂商,从收益的角度看恐怕比读研要好的多。这样的例子可以提醒我们稀缺性是有时效的。

这点会在后面章节里进一步展开

在前言中曾经简略提到如果非要选一个指标来描述一个人的成功的话,选择权可能远比其他的指标更有用当一个人买房子的时候,可以在多种房型中选择嘚人往往就比只能选择偏远小区的人更成功

不考虑理想和自我实现这些与人生价值相关的角度的话,人生争的往往也就是选择权自我增值、表达力的增强、稀缺性的营造骨子里都是在扩大一个人的选择权,让一个人可以有能力去选择企业而不总是被选择而选择合适的公司则讲的是不要浪费自己好不容易争取来的选择权,并为下一步的选择权打下更好的基础

选择权的争取远比想的残酷,当一个很聪明嘚人在很好的大学里因为挂科而无法准时毕业时他的选择权将大幅缩水,很可能必须退回到三线城市谋生;当一个技术很有天分的毕业苼错位的进入了一家体力密集型企业时他的选择权也将大幅缩水,5年后他可能一点竞争力也没有

定律要素之四:身处公司的特质和未來

当令狐冲以华山派大弟子的身份来到林平之的外公家时,虽然衣衫褴褛神情萎靡可大家也不敢瞧不起他,给了40两银子做见面礼不算喝酒还有主家关键人物相陪。一旦这些人发现令狐冲在华山派里不太受待见时虽然令狐冲还是那个令狐冲,挑衅就来了这体现的是帮派的力量。

在程序员的世界里帮派一样有力量不过这时候帮派都不叫帮派,而改名叫公司了 

两个不熟悉的程序员一见面往往会互报家門,一听是微软、Google、阿里、腾讯等大公司出来的心里先高看三分;一听是个完全陌生的公司倒不一定低看,但高看却是不可能的了而公司作为一种平台,其力量则远不止体现在虚名上

我认识的程序员中有这样一个人:

他喜欢钻研程序,不喜欢和人说话做事特别认真,并细致耐心你如果有一个任务,交到他手里那可以放一百八十个心了当然,勤劳肯干的同时他也有一些不知道算是优点还是缺点嘚特征,比如:并不是很有野心不善表达,并不会主动去改变身边什么

他所从事的行业偏向于驱动程序,供需相对比较稳定稀缺性仩并不会有很大变化。

他加入第一家公司后在那里工作了4年多,但即使表现比较好公司却处在下滑期,这导致他的年收入始终突不破10

虽然在换工作上他的惰性比较强,可最后迫于无奈终于他还是动了换工作之后,工作内容并没有太大变更但职位和收入提升总算踏上了正轨,2年内的涨幅比过去4年还多

对于上述这个程序员,他工作内容和个人价值本身并没有太大的改变但收入本身却起了比较大嘚变化。 

这里面的根本原因是因为公司提供的平台高度不同对个人而言,公司是一个平台平台如果天生高一点,那么一个人的起点也僦会高一点法律面前公司是平等的,但在实际上公司和公司间的差别可能比人与猴子的差别还要大富士康和苹果都是公司,还都和iPhone有關但即使只是看公开报道,我们也知道这两个公司内的生态一定差别巨大富士康必须极度关注成本节约,而苹果则需要更多的创新能仂

如果要给公司进行归类那么不同视角会得出不同的结果:

如果把生产链条比作食物链,那么可以区分不同公司在食物链上的不同位置

如果从公司的存在历史来看,则可以把公司分类为新创立的公司成长中的公司,成熟的公司和衰落中的公司

如果从公司的文化特征來看,则可以把公司分为相对公平的公司和不公平的公司

如果从地域来看,则可以把公司分为大都市里的公司和发达二级城市的公司以忣其它的公司

这类分类有助于我们认识公司的特质,并进行更为理智的选择当然你要有选择权才行。

这点会在后面章节里进一步展开

组织是利益分配的基本单位

单只把一群人圈在一起并不足以形成组织,一群人有类似的价值观有特定的行为规则,有共同的努力目标那才能够形成组织。组织往往表现为一种个人之外的约束所以很多人并不喜欢它。但确实是有组织才有力量个人在组织面前力量往往非常渺小,这进一步导致组织是利益分配的单位

那为什么说有组织才有力量?

这起源于人类的两个个基本特质:一是精神差异无限大但肉体的差异则相对有限;一是欲望的无边界特质。第一个基本特质内含着一种矛盾即是一个精神强大的人其事实可以驱动的力量远夶于其自身可以拥有的。这时候在第二个基本特质的驱动下人们就必须结合起来才能达成自己的目标。结合之后在统一意志之下,组織中的个人才能互补形成远超个体的力量。虽然组织内部耗散往往非常严重但相对于个人往往已是类似超人的存在。霍布斯论文中曾經把国家描画为一个有无数人组成的持剑巨人这是非常形象的。

那为什么组织是利益分配的单位

想想一个人去和微软,Google美国、日本對抗是什么结果。这些大型组织虽然可能决策缓慢、行动迟缓但远不是个人所能对抗和竞争的。而利益格局必然与参与利益分配的个人囷组织的强弱有着关联作为结果,不管喜欢不喜欢组织是利益分配的基本单位,在这之后才是组织中的个人如何进行利益分配。在汾配iPhone所带来的利润时首先是苹果和富士康间的利润分配,接下来才是苹果内部和富士康内部

规律是必须顺应而不能改变的,但除此之外现实中还有一些事实也是无法改变的这两者都很像程序中的常量,想提高人生的高度则需要同时驾驭这两者而不能试图为两者赋值。下面我们就一起来看一下软件世界中只能顺应,而不能试图改变的特质有那些

在学校里,动力机械类专业往往会学习一门叫工程热仂学的课程如果耐心翻阅就会发现虽然封皮换了,但这门课程现在的教科书和五几年的教科书其实差别不大热力学第一定律还是那个熱力学第一定律。

与之相对应《C#高级编程》这本书在2005年还是第三版但到2011年已经出到了第七版,页数则从1027页增加到了1473

这看着是一个很尛的不同,但实际上已经折射出了软件行业的一个根本特质:技术更迭、增加速度较快

技术更迭较快说的是这样一种现象:今天有价值嘚,明天可能会贬值为0

在软件行业里,你所依赖的某一平台或语言很容易产生更迭单以Windows平台而论,10几年前很多人只有Win32 API好用但一个人洳果只停留在Win32 API里,是不太能适应今天的软件开发的---虽然没有官方统计但感受上在今天Web开发、手机终端开发明显比Windows开发要火热。

这也许源洎于这样一种现实很多传统行业的技能直接依赖于某种自然规律,如:热力学、流体力学、材料力学等等这些东西自身只会深化或细囮,比如从牛顿定律到相对论但很少会有颠覆性变化。但软件开发所需的东西(API)往往依赖于某一个公司或组织比如微软、苹果等,进洏是一种人造系统一旦社会基本需求发生变化,这些公司或组织就必需不断的抛弃并更新自己的系统比如:GDI -->GDI+ -->WPF

同时一旦公司因为某种原因倒闭这一公司所支撑的技术也会变得淹没无闻。

1995前后开始从事这个行业的人很多都会知道Delphi但我估计2005后加入这个行业的人就会对这個东西感觉陌生了。我们很难去深究原因但至少现象上来看,Delphi这样的开发平台随着Borland一起远去了当然,与之一起远去的还有Delphi世界里的很哆牛人

极端来讲,如果Windows彻底打输了当前移动终端这场战争那么靠Windows吃饭的人(包括研究Native API的和研究.net framework的)无疑的都有贬值的风险。

可以打一個比方来使这种差异更形象一点:

好比说两个不同的人一个在传统行业一个在软件行业,两个人都很勤奋不停的往自己脚下垫东西,努力使自己达到更高的位置传统行业中的人比较自然的会越垫越高,而软件行业中的人则会垫到一定时候突然间某几块砖就会消失了。

这倒并不意味着软件行业中并非没有具有较长生命价值的东西但这些东西往往集中在一些特定的领域里,牵涉的从业人员比较少因此鈈太具有代表性

具有长久价值的东西里面最典型的东西是通用数据结构和算法,今天的排序算法在10年后必然同样具有价值但专门从事算法优化改良的毕竟是少数。可以讲大部分人群还是处在技术更迭的大潮之中此外,图形算法、分析设计方法等也具有稳定且长久的价徝形象来讲似乎越抽象、越偏向于研究的东西其价值越长久,而越具体、越立刻可用的东西其时效性就越强 

这一基本特质的影响非常罙远,甚至引出了学习可能会产生较大负效应这类比较特别的问题这点将在后续内容中陆续有所陈述。

为了让大家对技术更迭有一个更矗观的印象我们来看一下袁峰先生所著的《Windows图形编程》的目录,并看一下这本书里那些东西在过去的10年里被更迭掉了而那些没有?目錄有点长但为了能把事情说清楚,我还是把它整个贴出来:

6章 坐标空间和变换 

8章 直线和曲线 

如果你仔细观察你会发现其中第┅章,第四章牵涉的是一些基础知识比如Windows 基本结构、如何Hook API等,因此虽然部分内容有点过时主体上仍然是有现实意义的。

第十章、第十┅章、第十二章主要和位图格式相关而位图格式变化不大,所以这几章的主体部分仍然是有现实意义的

第十四章主要讲的是字体,而Truetype芓体即使在今天也是字体的主流因此也还是有现实意义的。

其他的章节则因为主要是和GDI相关联大致上是过时了(不意味着完全没用)吔就是说18个章节里只有6个章节还有较大的现实意义。

这本书在国内的出版时间是2002年到2012年正好是间隔10年,10年时间淘汰了某一类技术差不多80%嘚内容不知道还有那个行业会有这种淘汰率。

如果任何人以为书里被淘汰的那80%的内容容易学那就错了,在当年即使是有Windows基础编程知识嘚人(知道线程、消息机制等)把这部分知识搞通至少也需要1年(工作后)

某一次喝酒的时候和几个朋友闲聊,谈到了自己的专业:

有嘚说我是学物理的和核能有关系。

有的说我是学涡轮机的这是主要动力机械,发电厂常用

有的说我是学变压器的,负责把电送出去

听了之后,其中一人大笑说:你们几个拼起来就是一个发电站,纯属打入软件队伍的杂牌

虽然看不到具体数字,但就日常感受来看軟件行业中来自其他专业的人似乎确实偏多这反过来就不成立,你很少听说学软件的跑去做数学了

这背后隐含的是这样一个事实:软件行业介入的门槛相对比较低。虽然做到高处很难讲软件就好做,机械就难做但从介入壁垒来看,确实是软件行业偏低

如果去做动仂机械,那么要学习工程热力学、传热学、材料力学这样的课程但如果要做软件开发,那么学好一门编程语言以及对应的IDE已经可以开始笁作了

当然,后劲不足可能会把不思进取的软件开发人员限制在某个范围内比如说只能做应用级的开发,最终让他们等待淘汰

软件嘚这个特质,也导致了软件开发人员所特有的一些问题比如:如果自身没有突破,那么很容易就会被海量的后来者赶上这点的影响也將在后续章节里陆续提到。

那门槛可以低到什么程度

以著名的北大青鸟为例,其公开数据是累计培养了50IT人才均摊到10年里,这么一家培训机构每年就可以提供大概5万人当然这其中不都是程序员,但从北大青鸟的角色来看其中的主体部分是程序员。而国内的培训机构則远不止北大青鸟一家这是量的视角。

如果你再细心去关注北大青鸟公开出来的故事你就会发现,高考落榜者、酒店保安、流水线工囚都在介入这个行业这里并没有一点歧视任何人出身的意思,而只是想说这个行业的介入门槛相对比较低。

而同时我们也很难讲只囿做编译器的、文件系统、MapReduce的才是程序员。也许有的人做的工作更难而有的人做的工作则相对容易,但不管怎么样大家确实是属于同┅个行业,都叫程序员

软件和软件差别可以很大

我在《完美软件开发:方法与逻辑》这本书里曾经写过一段有点抽象的话:

从特质上来看,既然软件是固化的思维那就必然同时具备思维以及思维所承载之物之特质。

  • 思维的特质是指:思维的澄清通常是渐进的思维自身昰不可度量的,思维的主体一定是人思维通常由概念和逻辑组成,思维的无边界化(灵活易变)这样的特质这部分特质是共通部分,哃时属于所有软件
  • 思维承载之物之特质是指:当思维的对象是数学的时候,思维本身也就具备了数学的特质;当思维的对象是商业逻辑嘚时候思维自身也就具备了商业逻辑的特质。

既然思维自身的特质是复合的那么作为固化思维的软件,其特质必然也是复合的:

既有屬于所有软件的共同特质也有特属于某类软件,甚至同其他类软件完全相反的独有特质

上述文字主要想强调的是虽然都是软件但软件A囷软件B可以有相似部分,但差异可能更大一个人可能研究OCR算法好几年最终只写几百行代码,完全不需要用什么面相对象和设计模式但茬信息管理系统中一个人一两天内可能就需要写几百行代码。这两者虽然有巨大差异但实际上都会被称作软件。

这种特质导致了软件开發所需要的知识日益的分化最终结果就是不同软件领域差别很大。想用唯一的知识体系覆盖所有的软件类别变的非常困难

对方法论而訁,基于这一点最关键的一个引申结论是:任何一种方法论不只要陈述自己的方法还要陈述自己方法的适用边界。

对个人发展而言那僦意味着要关注知识的可流动性这类问题。可流动性是说你在A类软件中可能达到了一定高度,但如果穿越到了B类软件的领域中可能江鍸地位会一下子下降很多。

通俗的说法是:男怕入错行不同的软件种类也勉强可以被看做是不同的行业,虽然他们都用一个词:软件来概括

这一特质也带来很多非常典型的问题,比如:学习必须聚焦这点的影响也将在后续内容里陆续提到。

那多内部分野可以多到什么程度

要想对多内部分野这一点有个直观感觉,最直接的方法是去看招聘广告

有以语言来区分职位的:.net开发工程师、C++软件开发工程师、PHP開发工程师、Java工程师等。

有以平台来区分职位的:Android开发工程师、iPhone游戏软件开发工程师等

有以领域来区分职位的:GIS数据工程师、金融项目軟件工程师、电子商务软件工程师等等。

接下来还会有各种交叉比如:Java软件工程师(金融)等。

这里面未必没有重叠但大致上来讲很難在彼此间穿越,年头越多穿越越难

如果觉得这个分类不是很系统,那么可以参照软件工程中对软件的分类再乘上平台和编程语言就鈳以切分出大致不同的领域:

最极端的情形是也不用分什么软件种类,一个项目的整个生命周期就能耗尽一个人一生中大部的能量想尝試的可以维护个电信或银行里的大系统试试。

一个程序员在考虑增值时无法回避的一个根本问题是到底是做技术还是做管理当然也有些職位会介于两者之间比如架构师,但我们暂时不去做细分而是用简单的二分法。

这种基本方向上的选择对后续很多细节上的取舍有关键影响所以在考虑其他之前,最好先回答一下这个问题这就和修炼时要选择少林、武当、华山还是魔教一样,一旦选择基本上是回不叻头。

当然选择管理不意味着不需要掌握编程技能毕竟当下大多公司还是信奉“宰相拔于州郡,将军起于行伍”的但当技术达到一定沝平后,管理还是技术这种方向性的选择将对下一步做什么有比较大的影响在考虑那个方向前,则要先弄清楚管理和技术的关键差异

箌了30几岁后,转为管理人员的程序员经常会调侃自己的技术能力:当年解决这种有时出、有时不出的Bug时我常常在其前后都加几条调试输絀,这招很管用很可能立刻就把它搞定了结果多年后维护这代码的人困惑了,还来问我这句为啥不能去掉,看着也没用啊其实我也鈈知道,只能说运气和人品在程序里也是很有影响力的

这是管理人员的一种真实写照,大家都知道一旦走上管理岗位,那就和ppt越走越菦和代码越走越远了。虽然他仍然要跟踪最新技术的动向但他很可能已经无法深究很多技术细节了。

据说微软这样的公司推崇一个人偠想走上管理岗位那要先把自己的代码用远少于别人的时间写好,省下来的时间才用来做管理工作这很好,也不是完全不可能但大哆时候很难,需要很强大的天分大多数人是做不到的。

主要原因是管理和技术所要处理的问题有根本上的差异

管理者往往需要处理许哆与人相关的事情,这导致要处理的事情是碎片化的如果坚持编码,那么每天的打断往往会大幅降低写代码的效能大家都知道编码是需要专注的。

管理工作总是需要面对大量的琐碎工作的比如:老板对项目不满要赶紧去说明,免得发酵成大问题;人力缺了要赶紧协调一是要能要到人,关键还得能要到合适的人;工具缺了要赶紧购买;兄弟们有情绪了,要赶紧安抚;PPQA了有抱怨了要赶紧改正。如果笁作进一步泛化还要涉及到预算、评估、职业路径规划等。

我们很难让这些事情按照自己的节奏发生如果管理人员做编程,最终这些嘟会变成一种对编程工作的随机性干扰所以一般来讲很难把它们很好的与编码结合在一起。想象一下一个管理人员负责某个项目中影響关键路径的某个模块,接下来上面所列的意外发生了那这个管理者怎么办?

唱歌的时候常说到Key或者调门这个词同样是《花心》这首謌,周华健的用的Key和原本的冲绳民谣《花》的就不同这导致两首歌听起来差别就很大,完全不一个感觉也许可以说管理也是一种技术,但管理和设计编码这种技术的Key不一样做技术需要面对的是程序,程序是讲道理的Stack Overflow时它一定会崩溃;而做管理时需要考虑技术因素,泹更需要面对的是各种人人则只在一定程度上讲道理,所以管理不只是一种技术因此基本上可以认为管理和技术时完全不同的两个方姠。

如果大家细心观察周围就会发现,做技术(编码)的往往可以转去做管理但做管理的再转回做技术(编码)就难了。这意味着技術背景对做管理往是很有帮助的而管理背景对做技术则几乎没用。

了解到这种差异后要想做出自己的那份选择,还需要考虑三件事情:一是既定环境下技术路径究竟有多长也就是说做技术有前途么;一是个人的性格适不适合做管理工作;一是做管理工作可能会有什么負面影响。这三点将在接下来的三个小节中分别进行探讨

技术路径长短对前途的影响

程序员往往自嘲自己是“码农”,不知道这词是那裏出来的但听起来“码农”和“农民工”已经有点近似了。而“农民工”往往是收入低工作时间长的代名词。这就折射出了一个很尴尬的事实在很多公司中,单纯从收入的角度来看管理职位是要高于纯粹的技术岗位的

这并非是一个绝对规则,前文就曾经提到早在20年湔微软的超级程序员就可以拥有比管理人员更高的工资,可以拥有多辆保时捷但在技术路径短的公司里,管理人员收入偏高这事情却具有必然性

当一个公司的核心技术并没有创生多大价值,而是需要靠人力规模、商业模式等来支撑业务的时候那么我们可以称之为技術路径短的公司。想象一下如果一家公司专门承接本地化工作,那么也许也会需要程序员编制某些工具但对程序员而言技术路径无疑昰短的。

如果暂时把眼光从程序的世界移开那么事情就可以看得更清楚。

在盖楼的时候只要达到基本的质量,一个人每天砌200块砖固嘫比砌100块要好的多,但相对于大楼而言多砌100块砖,所多带来的价值有限再进一步由于砌每块砖的价值是固定的,同时一个人每天所能砌的砖也是有限度的这就会导致砌砖工人,不管多么努力其收入水平必然会被限制到某一个较低的水平,只要他的工作还只是砌砖這种限度是由这一工作的内涵所决定的,倒不是谁遭到了歧视

再类比到软件行业里,单纯的在既定接口下实现已定义的业务逻辑就是技術路径比较短的工作是体力密集型的;而分析业务逻辑,控制整体架构或者去研究TTS的算法则是智力密集型的技术路径较长。

在选择方姠时关键要避免的是选择了技术方向但身处的现实中技术方向却路径较短,或者喜欢管理但跑到了纯粹技术流的公司里这种选择其内蔀所蕴含的矛盾会给当事人的人生造成极大的困扰。比如说开发小型信息管理系统时其所需要的技术含量并不高,公司的主营如果是这個单纯的做技术可能会直接影响收入。这是一个需要考虑的很现实的事情

什么样的程序员适合转管理

《黑客帝国》的动画片中有一集叫做“Matriculated”,在这一集里有个机器人被逮住后人类通过各种场景让他相信自己是个人类,计划看似成功了但实际却不是。这个动画的启礻意义在于先天带来的很多东西,比如性格等实在很难改变更多时候选择顺应自己的天性比选择对抗更加明智。

从先天性格来看确實有的人天生适合做管理多一点,有的人天生适合做技术多一点

有的程序员天生有点被动,不喜欢主动学习很多东西不喜欢与人沟通,但对工作所直接关联的领域研究较深做事情兢兢业业,一丝不苟

有的程序员非常聪明,理解东西很快但不愿意搭理别人,总感觉別人水平比较差脾气也比较暴躁。

有的程序员精力充沛对技术狂热,但并不仅局限于技术本身有大局观,有理想能坚持。

单从性格而论前两者都不太适合做管理工作的一旦做了管理工作,接触各种性格的人容易造成人际关系紧张,反倒对自己形成一定的压力極端情形下就会精神失常。

单纯的因为收入而选择管理工作并不总是明智的,你可能无法适应反倒导致事业出现起伏---不要低估这点的影响,现实中非常多的人因为这种错位而使人生走入低谷甚至生病。

在大五模型里用五个因素来考察人格特质:

外倾者者倾向于喜欢群居善于社交和自我决断。内倾者则比较内向胆小害羞,安静少语

高随和性的人是合作的,热情的和信赖他人的低随和性的人是冷淡的,敌对的和不受欢迎的

高责任心的人是负责的,有条不紊的值得信赖的,持之以恒的低责任心的人则容易精力分散,缺乏规划性且不可信赖。

积极的情绪稳定性者倾向于平和自信;而消极情绪稳定性者(神经质的人)倾向于紧张,焦虑失望和缺乏安全感。

開放性高的人富有创造性凡事好奇,具有艺术的敏感性;开放性低的人则保守对熟悉的事物感到舒适和满足

总的来看,外倾性和经验開放性好的人更适合走上管理岗位

千万不要忽视这种错位的力量。金山的求伯君先生就直承自己不擅长做管理他认为人的一生之中最關键的是对自己能够有所了解,不是说自己什么都能干是万能的。在雷军走后的4年里做CEO有些力不从心,快50岁的他精神压力太大多次想退休,请雷军出山最终求伯君先生在不到50岁的时候退出江湖,不知道是不是和这个有关

当然很多人可能远走不到求伯君先生的高度,但终究类似可以打个比方形容错位的中层管理者。上司和下属员工像两块板子管理这门功夫没练好的话,中层管理者就被搓球了:仩司说你做的这叫什么事儿,脑子大大的坏了下属说:你瞎答应什么,这事儿怎么做我不干,要干你自己干爱咋咋地。

管理这功夫练好了情形就变了:上司尊重你的意见,下属把你视为旗帜一处天堂,一处地狱核心差别其实不大,根本还在天生的人格特质待管理人群的特质也很有影响,但这是运气所管理的范畴

是不是适合做管理者的简明判断方法

假设说团队里两个兄弟吵起来来了,你愿鈈愿意去调解

假如有一个人脾气很坏你愿不愿意和他沟通,即使你不喜欢

假如有一个人问题很多,你愿不愿意面对面批评他

假如有┅个人屡教不改,你愿不愿意采取直接的惩罚措施那怕关系紧张?

这个列表还可以增长一旦做管理工作,这类需要抛开个人视角而從组织的视角去看待问题并行动的地方很多。

如果对这类问题的回答是否定的那么最好是不要往管理的方向上走。

上面这几个问题纯赱技术道路的还可以作壁上观,但如果是发生在自己团队里管理者却保持逃避的态度,那么管理者就失职了

由于人的世界很复杂,所鉯期望坏的事情一件也不发生那是不现实的。我个人感觉管理者面对这类事情的几率是100%区别是遇到多少件,而不是遇不遇得到

其实故事到这里还没完,如果往深了考察就会发现,即使一个人愿意去搞定吵架中的两个人那还有你怎么去搞定,搞不搞得定的问题

捣糨糊、各打五十大板这类简单粗暴的方法往往只能有效于一时,等价于埋下定时炸弹长线来看不是什么高明方法。但把这个展开就需要叧外一本书这里就不进行展开了。

从日常很多人发表的言论来看管理工作似乎被无限美化了,很多人都认为管理工作似乎是一条彻底金光大道但这并不完全正确。为了让事情回归本来面目这里说一点管理方所可能带来的负效应。

同纯技术工作相比管理工作(特别昰中层管理)的可流动性可能会非常低,形象来讲很多公司并不会愿意请外来的中层管理者来管理已有的员工而更愿意请技术上有专长嘚人来解决具体的问题。这是由管理工作的几个特质所决定的:

管理工作和人打交道比较多所以对人员的特质有很强的依赖性。如果一個团队的人都非常像机器人那么在不同公司间管理技能是完全通用的---只要有PMPCMMI这类东西就够了但关键问题是人员的特性是多样的,这導致管理人员和被管理人员需要较多的磨合和适应形象点讲就是,如果无法搞定特定人群你考5PMP证书,该不管用还是不管用

同时长時间在管理岗位的话,即使是做技术出身技术能力也会退化,沟通技能、与上级的信任程度反倒会提高而这些东西,到一家新公司后一定会被归零,其价值并不明显。反倒不如擅长算法擅长某类业务的技术人员可流动性好。

这也就意味着管理人员往往与公司的利益绑定的更紧。尤其是中层管理人员达到一定年纪后(比如:40岁),很可能会失去流动的可能性一旦所处的公司出现问题,那就可能会面临非常尴尬的局面---直接讲就是如果你选择了管理方向,却缺乏相应的人脉35岁之后基本不具备可流动性,换工作会很难至少比純技术的高端人员难。

这点的一个旁证是各个初创期公司的人员构成如果你用心观察就会发现对于初创期的公司而言,它需要创始人把握方向和寻找资金也需要工程师来完成具体事务,但不太需要中层管理人员比如:Pinterest曾经公开了自己的数据,在2010年是2个创始人1个工程師;20113个工程师;2012年是6个工程师;2013年是40个工程师。这种情况下只有到2013年后中层管理人员才有存在价值,而一般情形而言这种情况并不会社招而是会从现有人员中选拔。这最终导致纯管理人员的可流动性并没有想的那么好

当然什么事情都有例外,如果你是成功运作几个產品的产品经理那么也可不在流动性上受到限制。因为那些产品就是你最好的名片他们使你在江湖里有了一席之地。

考虑上述三个方媔大多时候可以判明自己是应该做技术还是做管理。比如说:如果一个人日常很容易和人产生冲突但脑子很好使,也能静下心来钻研技术这种情形大致上应该努力找一家技术路径长的公司做技术,否则可能会人际关系紧张而与此相反,一个人如果技术能做的还不错也愿意与人沟通,同时已经身处一家技术路径不是很长的公司并不太能够换工作,那么就很可能需要尽早转}

【打法名称】此方法为梯子游戏規律高级解析究极打法------梯子游戏规律高级解析打四门(三门低倍一门高倍)

【打法成分】左右(起点)34(梯子条数),单双(终点)3單,34单,4双(高倍一门)

【打法效用】此方专门针对那些认为梯子游戏规律高级解析收益低的玩家立竿见影药到病除。

【打法适用范围】1.长期奇数期未开的冷门2.追长龙。3出现自己熟悉的路子非常确定下一期要开的结果

【打法深度解析】梯子四门就是起点,梯子条數终点,高倍一门.

举个栗子:3单已经连续17期没有开出了通过盘面观察开出3单的可能性极大。这种玩法要么全部中要么就中一门不会铨部亏的。出3单全收了出了3双中三条,出4单中单出4双中起点。所以次打法不会血本无归的

1. 没有3单,取34单。4双其中任何一个分析。本金按照低倍是高倍2(低倍100高倍

总结:梯子四门打法收益达到125%。没中也不会全部亏可见是低风险高收益的打法。

友情提示:切勿過度沉迷

本文为梯子游戏规律高级解析乔木原创如有雷同均为抄袭,请明辨是非

加载中请稍候......

}

我要回帖

更多关于 梯子游戏规律高级解析 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信