近日读Joel的软件随想录,仿佛被人指着鼻子骂了一样.“绝大软件学生都没有做软件的才能”.“学校只教Java不过是培养出一堆过剩的废物”.“只学会拿使用说明拼积木的蠢货”
事实上,这本书甚至在十年前. 但不管是Linus,Rob Pike,汤普森,格雷厄姆,还是布莱恩这些老人的表述和自身经历. 这些人都过分的“精英化”,有超乎寻常的技能和嗅觉,往往让人感到无力.
可能作为普通人往往也没有“做某事的才能”. 我作为普通人技术栈选择和职业规划仿佛迷雾,可以说是雾里探花. 大学教育的课程结构也与产业严重割裂,从工具到技术栈,再到工作流程,可以说一概不知.
在2024年的今天,如果想读一个软件本科,普通人大概率会出现一个照本宣科的庸才,缺乏学术训练和系统性的思辨. 如果想读一个研究生,那宝贵的三年时间就会去跟着一个大概率在过往十年艰难生存的导师,跟着不知道多少人去跨领域做CV,NLP,然后跑回通胀的软件行业.
宝贵且无能的18岁,难以看清行业发展,进入到膨胀且畸形的软件本科教育当中,在毕业那年随着国家导向和惊人的学历贬值,不得不去卷一个研究生学历. 没有确切的经过实践,没有明确的值得深入的方向,一定程度上是没有经过反思的人生,仿佛在等待名为命运的骰盒开奖.
软件工程概念确立于上个世纪60年代,而工程化的建设到今天仍在进行. 技术发展不断发明了一些莫名其妙的东西和过于重复的概念,并且这种扯淡的“重复发明”仍在继续. Js圈甚至在发明了几千种Js框架之后终于开始尝试使用“原生Js开发”. 有时候会觉得普通人了解开发软件之前是否应该去工地做一段时间的项目经理,也许成为包工头之后会更加的具有“开发软件的才能”.
教育贬值和CS热以及产教分离,带来了大量诸如我这样的庸才. 而软开在过去几十年,部分精英们发明了绝大部分事务. 在甚至适合普通人的“安全型铲子”也不过是“最近的事情”. 在2024年,几家大公司,贡献和控制了数目庞大的“基础设施软件”. 开源运动的旗手FSF和RMS本人就像Emacs一样差不多入土了. 事实上普通人要为大公司付费,拿他们的工具,为他们开发,以加入他们为荣.如Google用Chrome内核几乎控制了整个浏览器市场.Redhat挟持了整个Linux社区.
也许这种东西,已经转向为了一种技术哲学. 也许普通人在成为软件开发人员和包工头之前应该成为一个哲学家. 也许有一天,能像布莱恩的“大集市”一样又不一样. 普通人能完全逃离精英主义,拿起安全型号铲,走向纯粹的“赛博土木”.