程序员干到三十就干不动了


最早大概来自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来源知乎