关注公众号,记忆承载,方能阅读正文《五个影响你一辈子的思维误区》
回答一个满级读者的问题。
他问我怎么看一个消息与一件事。
消息是硅谷的支付巨头,一夜之间裁员40%,因为有了AI,不需要那么多人维护代码了。
一把干掉4成人,还只是第一期。
看到这个消息,他就联想到这些年,那个四处忽悠人去读计算机的某网红名师。
今年,最早被忽悠的那批孩子也该毕业了,面临软件行业的大地震,何去何从?
我知道你想说什么,你想说网红名师是第二个罗冥灯。
罗灵童昔日号称行业冥灯,做什么行业什么玩完。网红名师也一样,他鼓励什么行业,什么行业遭遇巨震。
昔日是土木,现在轮到计算机了。
我个人是这么看的,不要功利化计算机,也不要神话计算机。
站在学科的视角下,计算机的本质是数学,就像英语的本质是一门文化。
你不能跟我讲数学没有用了,文化没有用了,那你干脆说人类没有用了。
如果我们不看本质,你只看某一个时期它的应用,计算机被当成了编程,英语被当成了翻译。
那么它们各自都有各自供不应求的年代。
20多年前,翻译是很紧俏的,就像司机那时候也很紧俏,大部分老板不会开车,所以要聘个司机,如果再是个做外贸的,那就要请个翻译。
这个现象到十几年前就大幅度缓解了。
因为后来的老板们比较年轻,不存在自己不会开车,自己连英文都看不懂的局面。
所以不是开车没用了,英语没用了,而是它被普及了。
如果你把计算机看作编程,那是同样的问题,它不是没用了,而是被普遍,被广泛应用了。
计算机的本质是数学,你读了一个计算机系,就相当于你读了一个应用数学系。
你学了四年数学,这是可以理解的,但如果你说你学了四年编程,这是不可能的。
我举个很简单的例子,我是90年代末读大学的,读的是信电系,和计算机系同属计算机学院。
他们学的我们基本上都学,他们不学的物理类的,我们也学。
我大一的时候,就可以开发网站,如果你把那个也当作编程的话,那我会编程。
我学了多久呢?大概一天吧。
也就是说,一个人,从什么都不会,到可以自己开发网站,一天尽够了。
我们那代人,初中的时候,还学过BASIC,也是很快的事儿。
编程这东西你可以认为就跟学下象棋的规则一样,你觉得了解下象棋规则要多久,那学一门程序语言就要多久。
等我研二的时候,零几年去公司里实习,我依然是不会编程的。
你看,我初中时会用BASIC画曲线,我大一就可以开发网站,不等于我工作后的第一天就会编程。
不会很正常,因为程序语言变了,工作环境也变了。
所以编程就像学棋,无非你学什么棋,你学过跳棋,象棋,不等于你第一次遇到围棋就会下。
那不会怎么办呢?不会学呀。
我零几年做实习生的时候,学linux下的编程,大概用了一周多吧。
这就像你学一门新棋嘛。
我后来还会遇到很多新的编程,windows下的编程,各种OS下的编程,等等等等。
你说这些谁会在学校里教你?
没法教呀。
都是现用现学,现遇到现学,因为本来也就只需要一两天,顶多一星期的事儿,谁还专门给你开一门课程呢?
开了课也没意义的,学校里是考C语言的,考完没啥用的。
这就像你学象棋几个小时就够了,你能不能靠下象棋混饭吃,那是另一件事。
那和你后来遇到的工作任务,需求场景有关。
不是说教你象棋规则的当天能解决的。
所以这个世界上没有谁是去大学里学了一门手艺叫编程。
你去读计算机系,就是学了四年数学。回头你要编程,去了公司都是现学现用。
于是,一个程序员,如果你把自己的职业寿命寄托在编程上,你当然熬不到35岁。
更重要的是,编程这门手艺,本身就会不断演进,不断嵌套。
俗称前人写好的程序,会变成一个通用的模块,被封装起来,供后人调用。
就像搭积木,搭到最后,很多元素积木不用再去重新开发了,开发过了,组装就行了。
也就是说,即便没有AI的诞生,人类在编程这件事上,也是不断打造各种工作流,以提升效率的。
09年我做架构师的时候,干的就这事儿,不断的用虚函数与实例化的方式,来提升效率。
让10个人可以干过去100个人的活。
所以,一个人,你把希望寄托在我学过一门或者几门程序语言,我就可以靠它吃一辈子的饭上,这个想法本身就是很荒诞的。
这不是哪个网红名师能许你的前程,这个行业本身就没有这种前程。
我们信电系过去的老话讲,只有做模拟电路的,可能被淘汰的速度稍微慢一些,因为迭代太慢了。
哪怕是数字电路的,都被淘汰的很快的。
硬件尚且如此,何况软件呢?
所以我那天讲,探树,是活不下去的,想要活下去,得学会探路。
对软件这个行业来说,你把目光聚焦在我掌握了多少门程序语言,多少现有的软件框架,这个就是探树。
你只是搜集了一箩筐的烂树根,树叶。
你掌握再多有门槛么?没多少门槛的。
你掌握再多编程语言也不可能同时需要这些,我当时需要什么,我当时现学什么都来得及。
一个老码农真正的价值从来不在于他的职业生涯里都用过什么语言,而在于他经历过多少项目,多少业务。
所以我们过去选架构师,并不是谁掌握了更多的程序语言,就选谁。
而是谁更会扯淡,我们才选谁。
这个扯淡,就是探路。
我们站在一家乙方供应商的视角下来看问题。
你觉得编程是最重要的么?
一个项目,如果都落实到要编程了,其实绝大部分有商业价值的事情,早就解决了。
真实的诉求从来不是我要编程,而是我要满足什么业务?以及我要用什么代价来满足业务?
没人给你钱,你编程么?你哪怕编筐也是为了卖吧?
所以首先要明白,我到底要做什么业务?人家客人是为了业务买单的,又不是为了程序。
那么人家愿意买单,就有个预算的问题,他愿意买多少单?
我这个程序怎么编,是业务限制的,是代价限制的。
他那个业务本身就只值5台服务器的钱,我编了个程序运行要10台服务器的资源,我这不是赔本么?
你看到了?这些才是架构师的思维。
架构师本身是个扯淡的工作,甚至你自己编不编程都没那么重要。
你的任务是派活而不是干活。
你更像工厂里的下单员,你要把客户的需求拆解成咱厂子里不同环节的工人们,能够理解的生产任务。
这个过程需要你不停的扯淡,和产品经理扯淡,和销售扯淡,和部门经理扯淡,和测试部门扯淡,和码农们扯淡。
你能扯,比你会编,重要得多。
很多码农不到35岁就被干掉了,是因为他拒绝扯淡。
他更喜欢等产品经理,架构师们和客户扯清楚了,再通知他需要编什么。
那么随着技术的演进,哪怕没有AI,渐渐自动化的工作流,也会把你取代的。
因为一旦扯清楚了要干嘛,干,这个确定性的技术动作本身是有很多科技手段,把它优化掉的。
上面这还只是讨论乙方架构师的层面。
如果你做了系统架构师,行业架构师,那重点就从业务,挪到商务上了。
你要弄清楚这个领导到底有什么说不出口的需求,他到底有啥顾虑。
有时候,他们集团原先的开发,即便毫无价值,也得想办法利用起来。
你要是把人家的前期工作都干掉,那人家怎么向上交代?
对于甲方来说,这不变成什么什么资产流失了?他位置还能保住么?
所以没用的废代码,你也得采纳,这是人情世故。
他有很多要罩的厂商,即便你觉得用不上,你也得安排一个有用的理由,技术上还得能说通,这还是人情世故。
而且开发完了之后,还得能够让他指定的人,有能力维护。
就像一个真正的名将,操心的不只是打赢仗,而且要确保打赢了之后的那个摊子,即便交给一个被上面指派下来的太监,也是能够运营的。
这里面有太多的人情世故。
也就是说,行业架构师把人的利益梳理清楚了,才能够浮现软件架构师所需要的那个业务需求。
软件架构师分解了业务需求,才轮到码农们有程序可编。
这就是为啥多年以来,我一直告诫读者们,知道干啥,比干,重要得多。
前者才是我那天第四个话题提到的探路,后者,甚至连探树都算不上,你只是在听从安排,搬木头。
十几年前,我记得某一年春运,火车票上线线上抢票的业务。
有个岁数比我还大的程序员,抢票抢不到,急了,花了几个小时,写了个抢票软件,不仅自己抢到了,还替同事们抢。
我看了下他那个软件的源代码,就交代给他一个私活。
私活的内容就是我那天讲的,塔勒布的用极小的本金,去抢高回报率的事件。
因为本质是一样的,抢票和金融交易里的抢单有啥区别?没区别的。
我此前写过一版程序,让他去改成另一种程序语言。
他帮我改后那版抢单的程序,拿去金融市场里做交易,比如帮我多赚了多少多少钱,我会因此分给他钱么?
不会的。
他哪怕自己开发的程序,他能挣钱么?不能。因为他就不知道我交代他写的程序用在啥地方。
这就是你知道要干啥,比干活本身值钱得多。
如果你能帮我改进算法,你可以成为合伙人,如果你只能编程,那又不值钱。一个交易系统值钱的是算法,又不是编程这个行为。
你不开发,我空了自己也能开发,我没空我把任务分解下,分给多个人去开发,开发完了我自己组装起来就能用。
所以,计算机系学生的前途真不是编程能决定的,是你自己到底能不能探索出那条路,决定的。
关注公众号,记忆承载,方能阅读正文《五个影响你一辈子的思维误区》
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.