业余程序员宣言: 我们就TM不专业了, 怎么了?

看园子里文章<<什么是专业的程序员>>有感, 故发此文. 首先要说明, 我不是一个专业的程序员, 如果你自认专业, 是大中型企业的精英份子; 或者你认为别人的个性与你的职业精神格格不入, 对企业和信息技术的发展毫无用处, 不妨现在点右上角的x.

另外说明一点, 原文中一些正确的观念, 也是我们应该思考的, 我只是针对一些有待商榷的观点进行讨论, 不代表全盘否定. 而且说实话, 我这篇文章里最刺耳的词汇也不是针对园子里的同志, 更不是针对上面引用的这篇文章的作者; 对号入座的工作, 交给每个读者去完成.

该文中提到:
引用专业的程序员必须:

a        专业的企业精神

b         编程很专业

c         做事很专业

不专业的程序员:

Ø         无企业精神

Ø         编程不专业

Ø         做事不专业


在这个对比中, 存在着严重的误导和偷换概念. 简单说来, 其中的a, b, c, 根本不是连带性的, 也不能够划等号, 甚至我们可以说, 这中间根本没有必然联系. 在这三点中, 充分的体现了大中型企业对各个层次员工的预期, 而不是结果. 在这种言论中, 我们不难看到对人的作为主体的差异性的极端忽视; 这才是导致失败的源泉.

问题一: 没有企业精神, 就等于编程不专业, 做事不专业吗?

既然原文和原文引用的某人的文章中提到西方的观念, 就让我们看看西方人的历史吧: 从最远的来看, 他们公认的思想启蒙者, 苏格拉底, 作为城邦的一分子, 最后因为不合群, 被毒死; 18世纪的那些杰出数学家和哲学家, 不被社会认可而一生默默无闻, "死后生命才开始"的一群一群; 著名的科学家德布罗意, 到20多岁还是个小玩闹, 博士论文一共半页纸, 就是这半夜纸, 使得现代物理学产生了重大的变革; 爱因斯坦, 一个不容于近代科学组织, 老师嘴里的"不懂数学的懒狗", 不得以去找了份普通市民从事的工作的家伙, 成为了人类科学史的重要里程碑.

虽然这些话题似乎与原文所探讨的话题有些远, 但其中是不是存在着一些耐人寻味的东西呢? 企业精神讲究的是与组织的配合, 而我们往往可以发现, 一般的杰出贡献人士, 除了象杰克韦尔奇这样从工程师走上仕途的, 只要是留在知识与技术领域的, 并不是都能与其它人配合的很好, 而无论是组织还是社会, 生产力的发展与技术的变革, 往往正是这类人所推动的.

然我们反过来再看看计算机领域: Jobs与沃兹尼克创业的时候, 如果沃兹尼克对HP有专业的企业精神, 现在的结果是怎么样呢? 著名的电子艺术终生成就奖获得者, RealTime3D的重要贡献者, 第一人称3D游戏的发明人, John Carmack, 在大学时代就不合于群, 最后因为受不了学校制度而退学; 这样的例子数不胜数.

如同爱迪生的创业经历, 当他成功以后, 对交流电是个什么反应, 大家都知道了; Apple现在肯定也希望自己的员工具有企业精神; 从资本家自身利益的角度出发, 这都无可厚非, 但我请这些曾经的毛头小子们, 你可以随便给别人带上"没有企业精神"的帽子, 但不要给人家顺手扣上"编程不专业", "做事不专业"的帽子. 那些在表面上或者潜意识中, 愿意为各种组织和既得利益者摇旗呐喊的同志们, 也请不要侮辱你们大领导: 按照这种标准, 他们当年没有一个合格的.

另外就是自己在学术和技术上业余, 就不要拿过去的专业人士顺嘴说的一两句话去压别人. 比如刘英武(且不论这个人是不是SQL的发明者)说三年掌握C++, 问题是他说的"掌握"是个什么概念. 连Strustroup都说不期望任何一个程序员能全面掌握C++(2000年后兴起的TMP就是一个证明), 他刘英武的意思, 就真如你们曲解的这样? 偷换概念是不对地; 即使某某人真这么说, 就一定是圣旨了? 在一个人说话之前, 我们总要看看他说这话的时候, 是什么背景吧. 当然某些宣传者, 自身还剩几斤几两肉, 现在算干嘛地的, 恐怕他心里比读者门清.

问题二: 天才, 一般意义上的杰出者 VS 专业化, 哪个更容易得到?

在原文引用的某人的文章中, 又再次提到"天才"与"专业化"的问题, 认为由于大规模的培养后者是可能的, 所以要求每一个人都变成后者, 更有助于软件生产力的提高. 在该段文字中, 还提到了Brooks的<<人月神话>>. 在我印象里, Brooks写该书和修订该书的时候, 都没有丝毫的动摇一两个天才带领一个十几人的外科手术式团队, 一个大型项目有多个这样的团队, 这样是最高效方式的观念. Brooks本人本来是干吗地的, 他写这本书和修订是在什么背景下, 我想这不用说了吧? 他参与的项目其规模和耗时都是有目共睹的; 大规模专业化团队, 是不是可行, 他老人家会没思考过? 既然Brooks敢使用"唯一"来形容问题的解决之道, 肯定是有他的体会, 我们在他的文章中也看到了他的证据. 培训专家和某总编的一番话, 就全给推翻了, 你们的证据呢?

事实上, 大规模专业化团队, 普遍而平均的高生产力, 一直是资本家们的梦想, 可惜梦想不等于现实, 这样的尝试, 即使在美国, 也是一次又一次的以失败告终. 某讲师把这种国外玩剩下的玩意, 又拿回国内来赚钱, 还拿出10倍效率来耸人听闻, 只能说一句, 我们的一些同胞坑自己人真不是闹着玩的: 这招你们还要玩多少次? 现在可是信息时代了好吗. 据我所知, 10倍的效率这个典故, 本来在美国就是长期存在的现象, 是一个杰出程序员和平庸者的对比, 而不是美国人职业道德的对比; 这虽然涉及到编程的专业性, 但与所谓的企业精神, 根本是风马牛不相干的两件事!

手段拙劣的把好的东西罗列在一起, 不好的东西罗列在一起, 永远无法证明他们之间存在着什么真正的联系. 上面举了非常多的极端的例子, 他们无一例外最后的选取了自我创业. 但是在这些极端的例子之外, 其实更大规模的杰出人才, 能够更好的用来说明这些问题: 微软里面那些默默无闻的英雄就不要说了, 如果大规模培养所谓的专业精神, 能够解决问题, 微软还用建立什么研究院, 去伺候各种各样家伙吗? 还有如GoF这样的, 他们在设计上的高水平, 难道是因为所谓的"企业精神"?

那具有企业精神的人即使不像大老板们所热切盼望的那么多, 也有不少, 怎么没有人人都成为GoF? 众所周知的, GoF不但更好的服务了他们所在的企业, 也对面向对象开发社区起到了难以估计的影响; 这些影响所起的作用, 从社会角度和长远来看, 难道就比郭士纳小么? 咱们不说什么天分, 就说对个人能力特点上的抹杀, 就是非常可笑的一件事! 实际上, 人家国外对程序员生产效率的调查, 加上Brooks提出的外科手术团队等一些组织形式的探索, 正是为了把杰出人士有效利用起来, 为企业提供更高的效率: 这也从一个侧面反映了, 天才, 或者一般意义上的杰出人士, 并不像想象中难么难得(很多人在自己工作的领域内都算得上); 采用人尽其用的方式, 比不切实际的希望无差别利用"职业人"提高效率, 可行性更好.

再论abc: 实际上, 作为一个普通的贡献者, 作为一个人, 我完全认同abc都代表了工作岗位上可以体现的高素质. 问题是, 有多少人能同时在abc上达到非常高的境界? 如果同时做到abc, 才是一个专业人士的话, 我不得不说, 成批量的专业人士, 比天才, 还他妈难得! 后者打着灯笼还能碰见一些, 前者..., 可能美国玉米地里面的大片稻草人符合这一要求吧. 每一个企业主, 每一个大中型企业的管理人员, 如果你们不正视这个问题, 而是不切实际的希望通过某些"培训专家"能够得到一大批可以替换, 做牛做马忠心耿耿的马仔的话, 我只能告诉你们: "出来混, 迟早要还."

所以我这篇文章, 不光光是确认我个人"业余程序员"的身份, 省的"专业/职业味道"沾到我身上, 更多的也是写给既得利益者看的: 小心某些窥与你们腰包的专家, 借助了你们不切实际的抹杀人的个体差异的心理, 偷偷的把你们的钱拿走, 最后带着"每一个毛孔都渗透着..."高帽破产的可不是他们: 即使背上这个恶名, 你们所面对的问题也解决不了!

问题三: 大老板们, 你手下谁最应该为员工没有专业精神负责?

我不否认, 程序员队伍中存在着良莠不齐的现象. 问题是这种现象的产生, 并非是因为什么专业人士太少, 而是我一直在强调的"信息不对称". 由于从事的领域的不同, 管理者(甚至曾经是技术人员的管理者), 很难获得足够的信息, 去判断一个人对自己的组织存在着什么样的价值. 哪怕是刚入行的新手, 也一定有适合他发挥光和热, 并得到成长机会的岗位. 关键是, 什么样的人, 适合放在什么样的位置上, 而这事应该谁负责呢? 我个人对如何解决用人过程中"信息不对称"的想法, 见文章后面补充说明1.

不过, 在目前的环境下, 想要尽量改善现有情况, 如果说什么方法最有效, 谁最应该受到培训, 拥有专业精神和必要的知识, 大老板们听好了: 你手底下直接接触的这些高管们, 才最应该去受到培训. 的确, 就像某喇叭说的, 建立一个良好运作的组织, 需要几年十几年, 但这似乎不是程序员的责任吧? 程序员即没拿这份钱, 恐怕也不具有这样的能力, 否则谁不愿意当那个对别人胡三喝四的家伙啊.

看看Intel总裁格鲁夫影响了一代管理者的大作:<<只有偏执狂才能生存>>吧.  里面详细的说明企业管理者, 中层干部到底是干嘛地的, 碰到问题时应该怎么办. 尤其是格鲁夫提到的Intel的转型时期, 非常明确的表达了这方面内容: 由于高管和中层干部对新的技术方向的不了解, 被要求要么自我学习到合格, 要么走人. 格鲁夫甚至在公司的高层会议上说道: 如果大家不改变, 我想几个月后, 在座的2/3都不能在这里了. 他个人都成天和工程师泡在一起, 由于自己的无知, 心甘情愿的被这些按照国内某些人看法"不懂如何相处"的技术牛人嘲笑.

至于如何处理人事的问题, 人事说难听点就是"玩人", 你不能把我们玩的心甘情愿为组织现身, 踏踏实实和同事合作, 到底是谁的业务不到家? 说到培训, 是这些管理者们去培训一下, 增进自己"玩人"的能力容易呢? 还是要求数量远远是管理者好几倍的程序员或其它打工者"专业"一点, 全都改进的跟军人或者少先队员似的容易呢? 要知道, 大多数人, 无论是程序员还是其他从业者, 哪怕他性格个涩一点, 也都是很淳朴的; 越有个性的人越好掌握, 这是每一个人都明白的道理. 程序员只是要求一个玩自己玩的舒服或者服气的领导, 而你玩不转自己的业务, 不能让大家满意的工作, 反而去怪别人吗? (这里有一个例外, 见补充说明2)

不过, 我们程序员, 尤其是"业余程序员"比那些说中国程序员不专业才是问题所在的培训专家们要仁慈的多. 鉴于人和人是不一样的, 管理者们时间和精力也都是有限的, 我们也不希望他们象IBM大中华区副总那样倒在自己的工作岗位上, 所以我们不要求他们变成真正的"有职业/企业/专业精神"的管理者. 只是作为大老板的那些人, 应该想想怎么办了, 让我们看看Intel当年的结果吧: 按照格鲁夫的说法, 最后公司大多数高层/中层, 都做出该有的改变, 只有几个最顽固的家伙走人了.

大老板们, 不要忽略这帮拿你钱最多的人改进自身的能力; 不要因为他们是人就存在的惰性, 由于他们一点点努力都不愿意做, 就听信他们推脱责任的言辞; 要是你本人不能改变, 或者对这些聪明过头的家伙过于信任而闭塞视听: 如果是前者, 我只能跟你说, 收拾下铺盖卷, 准备去给别人打工吧, 这个社会角色不适合你. 如果是后者的话, 那你最好再找一个能收拾这帮家伙的狠角来帮手.

连刘邦, 曹操都明白, 是不是使用一个人, 是看他的长处, 而不是他的短处; 要求一个完美的人是不现实的, 一个人没有"专业精神", 该被解雇的是为这个人提供支持的管理者: 既然他不能正确处理一个为企业服务的人, 不能让一个人在企业中找到归属感, 发挥这个人的专长或优势, 与其它人正确合作, 并在企业中得到成长, 这样的管理者就是失职的管理者; 更何况那些自己工作不到家, 把责任全赖到别人身上的, 顺便还泼上"编程不专业, 做事不专业"脏水的没有"专业精神"的管理者呢?

本文作者: 博客园的怪怪, 于2008年三八妇女节前夕的北京, 预祝广大没有专业/职业精神的女性"业余程序员", "业余打工者", "业余XXX", 节日快乐, 最后说一句:

先进, 先进, 多少罪行, 假汝之名以行!



补充说明1:
在这里, 鄙人倒是有一个想法, 先让某些培训专家失业以后, 给他们找个真正有用的职业: 职业鉴定(不过他们最好有点专业精神). 我个人的想法是, 只有把这个市场真正的培育起来, 由第三方中立机构, 负责推荐人才, 才能把效率最大化. 老板们在人事问题上, 不再抱有内部负责和解决的顽固想法, 而是求助于社会上的第三方机构, 并信任他们举荐的人才, 使用可以量化的衡量机制: 如某组织推荐了100人, 其中80人符合岗位需求, 则是合格的. 企业需要承认的一个事实是, 只借助企业自身的能力, 寻求合适的人才, 比起寻求专业机构的帮助, 没有丝毫竞争力. 就像软件设计一样, 对寻找人才这一职能投入越多, 其效果越好, 也就越超过企业可以承担的成本; 但是如果这一职能以第三方专业机构的方式在全社会得到重用, 其成本就可以降到最低, 所有组织都可以获益.

这里如果说还存在着什么疑点的话, 唯一一个要命的是信用: 比如某些培训机构转型的人才举荐机构, 恐怕狗改不了吃屎, 等到他们弄过来的经过精心包装的100个人里80个人不符合需求这一事实被发现的时候, 一切都晚了(对于现存的各种培训机构来说, 除非他们自己提出证明自己清白的方法, 不妨把它们直接加入到黑名单中). 不过, 如何通过市场手段, 淘汰差劲的人才举荐机构, 相信大中小老板们比我有手腕的多: 比如自发的逐渐的建立完善的市场信用制度等等.

的确, 寻求第三方的帮助, 这是一个长期和艰辛的转变, 而且在初期要冒一定的风险, 同时保留一些复杂的流程以确保可靠性; 但是如果不去做,  而是不切实际的去相信某些大忽悠的屠龙术, 恐怕企业们面临的问题将永远没有解决的一天. 现在最关键的是, 这个市场其实还根本不存在(一般意义上的猎头不算), 或者说没有形成有价值的规模. 在起步初期使用资本直接介入建立这样的组织, 并形成企业联盟培育这个市场, 是我们IT产业中大小组织真正应该注意的问题.

采用这样的制度, 雇佣真正符合岗位需求的程序员, 一个附加的好处是: 大老板们可以直接听信这些可靠的技术人员的意见, 让管理人员回归到Brooks们等先烈说的, 支持工作上去. 不给一些表面上具有"企业精神"的管理者翻云覆雨玩手段的空间, 企业的效率至少又能上一个台阶. 这种管理与技术分而治之的思路, 也经过一个长期的发展, 可以说很成熟了.

补充说明2:
需要说明的是, 有一种老板们抠门到一定地步, 导致高管们没有足够的钱去玩转手下的情况; 在这样的公司里下, 无论我们是高管还是程序员, 都只能认命: 这样的公司不倒, 只能是因为老板个人能力超过所有员工加一起的总和; 比如英俊的赛潘安, 娶了税务局长的女儿什么的. 不过这样的公司到底能有多长久呢? 我们, 尤其是我们那些不打算勾心斗角的程序员, 在这样的公司里, 又能追求什么样的回报呢? 当然, 作为混饭吃糊口的环境还是不错滴^^
原文地址:https://www.cnblogs.com/guaiguai/p/1090909.html