程序员干到三十就干不动了
最早大概来自8x~9x年代的第一代程序员。
这时候多半是一种自嘲。
那时改革开放没多久,国内it业刚刚起步,教材、经典书籍什么的……还是别想太多了。
当时很多基础性的东西甚至是靠类似反编译之类手段逆向出来的。从现象反推原因,自然错漏极多(比如谭浩强著名的i=i+i++错误,就属于这类问题),而且琐碎、不成体系。
比如,国内的编译原理教材,忘了是清华出的还是同济的,甚至连为什么需要终结符、终结符是什么、提出这个概念是为了解决什么问题等等都一字不提,直接就对着文法high起来了。
缺了这么关键的一环,这本书根本就不可能被人理解;老师懂还有可能给你补上;否则……你就当佛经背吧。而且是梵文音译版。
所以,当时搞技术,必须有一股钻劲,没有路也要硬琢磨条路出来——邪路都行,能达到目标就是正道。
这样学,这样研究,这样做,自然需要投入极大的精力;而且既然知识不成体系(当然了,反推嘛),后续任何新技术出来,学起来都非常非常吃力。
另外,当时管理手段落后,动辄“封闭式开发”——把整个项目组*起来,吃住都在一起,一干就是几个月,项目不搞定就别想出来。别笑,真的,就这么简单粗暴。
学起来难,做起来难,工作方式……更难。于是他们自然就会抱怨,自嘲“年纪大就玩不动了”。
这大概就是最早的起因。
但这时,大家都知道这只是自嘲,根本没当回事——多新鲜,梁肇新、王江民这些超过30岁的“老家伙”,你找十来个小年轻捆一起,能赶上人家一个人的效率?缺乏基础,看两年你也插不上手,还是慢慢跟着学吧。
尤其是当时的学法……想达到那些三四十岁的老油条的水平,难啊。
然后,随着和国外的交流越来越多、越来越深,国内it业终于慢慢走近正轨了;软件开发也慢慢从“手工小作坊”开始,逐渐专业化、制度化了;国外教材、经典图书也开始被大量翻译、引入中国,我们终于可以从正确、成体系的理论开始起步了——理所当然的,基础越扎实,经验越丰富,接受新技术的能力就越强:废话,新技术就这种人创造的,没基础的还敢和经验丰富的比谁更内行?你以为还是过去眉毛胡子一把抓,追着变化疲于奔命的“黑暗时代”啊。
基础打牢了,玩再多花样,也是万变不离其宗;这个“宗”被了解的越深、掌握的越好,那些“变”就越不过是些“瞄一眼就知道个八九不离十”的东西——诸位不妨去看看业界知名的程序员们的博客,看看有几个新技术/新概念,是能让他们不吐槽“不过是xx换了个名字”的。
但这又引入一个新的问题,那就是:分工。
过去搞小作坊,软件公司除了打杂的,剩下全程序员;现在要专业……没个管理人员显然是不行了。
但说起“管理”,咱中国人可是一肚子牢骚;另外呢,基于历史渊源,中国从来就没有理解过啥叫管理,咱只会玩“权术”——管理是合理调配资源、正确考评绩效;而权术……大家都懂的。
然后,一切就乱了套了。
2001年,csdn创刊。这是第一本程序员的专业刊物,同时也是国内最大的、官方的程序员社区。
——其实当时很多优秀程序员自己搞的私人网站/社区比它专业得多得多;但很遗憾,你能指望梁肇新这类技术人员说的巧舌如簧、花团锦簇,吸引大量小白级的、尚未走出或者刚刚走出校园的初级读者吗?
——而且,据说外向的程序员会看着你的脚尖和你说话;内向的大概就只敢看自己脚尖了。
凭这么些闷葫芦,能撑起一份刊物?
何况,哪怕是闷葫芦……中国it界起步太晚,教材又太坑,闷葫芦也找不到几个啊。
没办法……别说算法这么“高深”的东西了,你就是讲个中断、tsr甚至只是点阵字库原理……当时中国能跟上这个节奏的能有几个(而且,当时讲这个书也不少,我就买过不少……教材实在是没法看:不是太浅,就是佛经)。
所以,它必须另辟蹊径。
于是乎,这就奠定了csdn中国最大的披着技术外衣的非技术社区的基调——因为他们显然已经只剩下找些it公司的老板、经理之类人出来撑场面这一条出路了(现在看当然非常奇怪:你号称程序员的杂志,居然不讲技术不谈规范不讲职业发展,反而大讲特讲创业经、反而长篇大论劝人改行,这哪有半点技术杂志的样子?)。
请这些人来,他们当然就会基于自己——而不是程序员——的利益诉求,鼓噪一些别的东西了……
尤其是,前面我提到过,中国历史上从来就没有真正的管理,成文的几乎全都是权术;而最早的一批it界管理人员呢,其来源,多半就是技术上已经没了进步可能、于是摇身一变,在”内行管内行“的思路下转职成的项目经理——由于文化基因,他们多半是 半吊子的技术+半吊子的权术+道听途说来的半吊子管理技术 的结合体。
这种人鼓噪的东西,可想而知是什么水平……
ps: 在我看来,“外行管理内行”才是正道。因为管理的内行几乎必然是技术的外行。
管理的内行去管理他不懂的技术时,基于他专业的管理技艺,事情仍然可能是有序的;而技术的内行去做他外行的管理,肯定要搅得一团糟。
ps2:过去我国深受“外行领导内行”之害,不过是因为领导权力过大,成了土皇帝——就好象赫鲁晓夫说的那样,当我是市长时,我不懂;我是省长了,我还不懂;现在我是国家*了,难道我还不懂吗?
在这种心态下,自然啥事都想显摆下自己,不然“官”当的多没面子;而且权责不明,领导可以胡说,可以瞎指挥;可等出包了,背黑锅的绝对另有其人——这反过来又促进了领导的浮夸风,反正不用担责任嘛。
于是,领导必须是内行就成了金科玉律。至少他的命令不会太让人哭笑不得,却又不得不乖乖执行……
但事实上,现代管理制度谈到的管理人员,和领导完全是两码事:后者是土皇上,前者只是资源的协调者。比如在软件企业里,项目经理其实是负责为程序员解决各种资源问题、同时负责对上汇报项目进度的——拿主意自有专业人员负责,可轮不到他。
他们的第一板斧,是“程序员蓝领论”:以后不是手工作坊了,程序员呢,当然他们还是高级技术人才;但在软件工厂里,他们其实是普通的男工女工……职业经理人、项目经理才是高层。
于是,等级就出来了:程序员是传统意义上的白领,但归根结底是it蓝领;管理阶层才是真正的白领,是更高一级的。
这在权术上,叫树立权威。立尊卑,然后卑者才可能知进退嘛。
但真正的管理,推崇的却是“权责分明”、“分工合作”——他一立尊卑,当然就没法“分工合作”了,谁还敢驳领导面子啊?但他学艺不精,不驳又别想把事情做好;驳?哎呀,小样,这就*了?
内斗就这样开始了。
甚至,哪怕你只是能力比他强……他可不觉得手下有个技术专家能成大事,反而觉得自己屁股下面的椅子要着火了。
第二板斧,就是宣扬“程序员干不过30岁”:精力不行了,要提升自己,早日转管理;不做管理的程序员是没前途的;项目经理才是程序员的进阶职业,30岁还进不了阶,那就没指望了,还是转行吧,别在it界混了,你,不行。
这显然是偷换概念,用意是把项目经理定义成程序员的进阶职业,使其凌驾于其他程序员之上——这时味道已经明显不对了;但有之前老程序员的自嘲在先,那些刚毕业、没毕业的青涩程序员们,谁能有这个智慧,看穿其中的猫腻呢?
当时中国it业出现才几年,又有几个超过30岁的程序员呢?
正因为程序员少、最大的官方社区又被这些人把持,所以才发不出反驳的声音;反驳的声音少,就成了默认;然后,即便是那些真正的技术社区,一开始有人驳,但小白太多,慢慢也就没激情了。
但……那些以权术手段把持管理位置的,他们可有激情了。
因为,在他们看来,大家都是要走 先研究半拉子技术、然后赶鸭子上架做管理、然后从历史权谋中汲取营养,成为半吊子经理这条路的——未来的竞争对手啊,不先立威,以后怎么办?
终于,这番歪理被宣扬的是如此的深入人心:当时甚至谁敢说要把技术搞精,这些青涩程序员自己,必群起而攻之。
至今,被这番歪理*的,都还大有人在。
——而国外真正的经验,是 管理 技术 两条发展路线:做管理并不必懂技术,但要以管理的视角对被管理对象有足够了解(国外某管理大师有一句名言:如果你不能准确量化一种东西,你就不可能有效管理它);至于技术,如果要做,就必须搞精。
——以某公司为例,5级起算工程师,6级资深工程师,9级开始拿年薪;管理线对应级别薪水近乎相当;但管理最高15级,技术级别上限比管理还要高两三级(最后这几个级别记不清了);项目经理属于技术线。
换言之,他们鼓吹的,其实是一条 技术学成半吊子 搭配 管理也是半吊子 的 双重外行 职业路线,并且认为不走这条路线的程序员,30岁后就没戏了。
不过,到了现在,哪怕当年被他们毒害过,还是有大批程序员挺过30岁了——于是,这个说法,自然而然就销声匿迹了;即便偶有提起,也不过是被当作很low的笑话嘲笑一下就算了。
拿脚趾头想都知道,专业不精,还半途改行跨入自己完全不懂的领域的双重半吊子,才真正是走上了歧路,提前给自己的职业生涯画上了句号。
中国it业越是发展,越是走上正规,他们的生存空间就越小——所以说,那些鼓吹“程序员干不过30岁”的,他们对自己的预言还是挺准的:他们这样的程序员,真的是在it界很难混过30岁,不管以什么身份 ^_^
他们的第三板斧,引进并夸大“软件工程”“敏捷开发”以及“uml”之类概念,然后无限拔高,无限上纲上线。
我甚至曾经遇到过一个奇葩经理,此人狗屁不通,却敢对着一帮子项目组成员宣扬“uml已经能自动生成代码了,你们很快就会被替代”(他的另一个乐趣是喜欢跑到每个人座位上,对人家的工作指手画脚;结果被偶一个同事狠狠坑了一把:他来指手画脚,这位同事就随口附和,时不时还捧他两句;等他犯了错,这位就“哎呀这个我记不住,要不你写封邮件?”。然后……程序自然崩的不能再崩,公司老总怒了,这位就“诺,他让我这么做的。这是邮件。”)。
这些东西的确是好的;但软件工程类似曼哈顿工程的奥本海默的工作,属于有专业背景(但不需要很精通)、同时有统筹协调能力的技术类工作,并不比技术专家高级(sz这边的行情是:凡在程序员职务外,额外担任项目经理的,每月多给70块钱;而技术搞好了、工作有成果,考评拿个b+、a-什么的,月工资能高几百到几千);敏捷开发不过是一种方法论,真正的实施者还是程序员,项目经理不过是需要对这个懂点皮毛,以便跟踪关键点(术语叫里程碑)罢了;uml嘛……其实不过是个“尽量让外行也能懂”的交流工具罢了,程序员之间有的是更高效的交流手段(全是内行嘛,互相一句话甚至一个词,就都明白了:当然,最后拿给项目经理看的,倒的确还必须是uml,不然他们可懂不了)。
抬高了“管理阶层”才能用的“高级”玩意儿,让大家都对其“不明觉厉”,那么什么架构、算法之类尽量写得让普通程序员都能看懂的东西,看起来不就low多了吗?
就这样,新生的程序员群体太过弱小、根本不知道发声,更不知道争夺话语权,就这样吃了个闷亏。
总之,“程序员干不过30岁”和“软件蓝领论”,明显是权术家的一次成功逆袭。这次逆袭成功的抬高了他们的位置,对新生的中国it业造成了严重的打击。
当然了,他们也未必是怀着什么险恶目的、故意攻击程序员这个群体;只是由于他们的位置、他们的眼界,以及对他们无法控制的程序员们的私怨(你们这些不听话的,要知道我们才是白领,你们,虽然顶个白领的名头,但要认清自己的身份,不听我们指挥是不行的!),言论自然充满了偏见。
而这种偏见甚至歧视,就在程序员失声的现实氛围中被无限放大;而放大的偏见/歧视又鼓舞了他们的同类,使得他们变得更加狭隘,攻击性自然也就更强,直到完全失控。
作者invalid s来源知乎
推荐阅读