程序员从幼稚到成熟的标志是什么?

大家好,我是刘布斯。

今天在某乎上,看到这么一个问题“程序员从幼稚到成熟的标志是什么?”,有些大佬们的答案,确实很有趣,也让人能有所收获。

开发方式

有一位答主是这么回答的:

以前写代码,老大提了需求,就着急忙慌的上网查资料,看有没有相类似的代码功能,查具体实现,想着要写“优雅”的代码,想赶紧把需求实现,功能完成。

现在写代码,首先会分析为什么会提这个需求,需求从何而来的,找老大问清楚需求,确认需求,是否有后续需求;接着,在纸面上,构思、设计具体的代码流程、接口定义、参数,还要考虑到可扩展,是否容易被他人调用。

刚入行的小年轻,都喜欢通过快速完成项目迭代,来证明自己的能力,并且希望在项目中实现技术的成长。但往往在需求的频繁变更中,失去本心。

如果一个需求的迭代,每一次都是把之前的上一版的流程推翻重来,你花很大精力,甚至加班实现的“优雅”代码,在下一次迭代中被改的面目全非,你是否还有高质量完成需求的信念?

成熟的程序员,会将用在沟通和确认上投入更多的时间,实现风险前置。

上面这位答主的成长,总结一下就是“先了解需求背景,并且想清楚技术细节后再开发”。

再来看一个搞笑,却又很现实的回答:

刚毕业的时候:这谁写的屎山?这么垃圾?我要重构!!!在重构中学习,成长!!!

现在:虽然这个代码确实挺屎,但是万一写这代码的哥们当时加班很猛,被催的很急呢?啊呀,屎山,人之常情,算了算了,我写个拓展方法,搞个拓展类库迁进去吧,重构就算了!

这简直能把程序员的升级路总结为“质疑屎山-理解屎山-成为屎山-超越屎山-换座屎山”,哈哈哈,雕花确实是一件艺术活!

技术崇拜

技术重不重要?

肯定是重要的,但技术需要为业务服务,通过技术解决具体问题,提高公司业务流转效率,或者解决某些用户的具体痛点和需求。而不是你到底用 Vue 还是 React,用 Python 还是 Java

「幼稚的程序员」的标志是迷恋技术、喜欢研究各种技术细节,即使业务并不需要

「成熟的程序员」更专注于解决实际问题,会根据需求场景选择合适的技术

也有人认为,大部分的程序员到不了成熟期,会在业务流水线上变成螺丝钉:

绝大部分的程序员根本到不了成熟期,他们很快就会理解代码只是用来实现业务,功能不过层层调用API,认识到写代码不过CRUD的机械重复,甚至写代码的时间都远不及沟通测试线上救火。

意识到原来自己不过是业务的吊线木偶。虽然说更加贴近业务,更懂得与团队沟通,懂得取舍和权衡。有很多很酷的技术想去学习,无奈没有足够的时间,学也只是学个皮毛,也不能学以致用。

实际就是学废了,从一个技术极客变成了业务流水线上的螺丝钉。大多数的程序员就停留在这个阶段,他们后面的道路有3条,转型业务,管理,或者ppt架构师。无论是哪一种都宣告着技术生涯的终结。

有些人会在技术之外,找副业的机会,甚至会开始创业:

会越来越感受到,大多数代码、框架乃至和技术相关的东西,其实都是虚的。当然一些高端技术(比如当下的大模型)不能说是虚的,这能实打实挣钱,但一般程序员接触不到这个层次。做到后面就会发现,再要进一步挣钱,首先得看人脉,有人脉才有渠道接单,业务量大了才能有所谓的盈利模式,有了盈利模式才能进一步雇人做大,所谓是扩大再生产。

思考和工作方式

关于技术的思考:

不要认为自己学习付出最多的技术就是最好的技术,这实际是“输不起”心态。当年的开发如此,今天的各种框架也是如此。

关于人是否可以被取代:

没有什么技术和人是不可取代的,“裁员裁到大动脉”的故事很多是某些技术人员臆想出来的爽文,当真就上当了。

关于生活:

其实程序员做久了,会把自己生活变的越来越窄,比如生活社交等,技术越来越厉害,头发越来越少,但是如果有一天不幸被裁,转身一看,身后啥也没有

关于行业的思考:

当一个行业不赚钱甚至做不下去的时候,怀念和不满是正常的,但裱糊和内卷是终将无济于事的,沉浸幻想甚至破口大骂更是无能的。积谷防饥,拒绝过度消费主义和某些智商税,居安思危,早日筹备迎接新机遇转型。时代车轮滚滚向前,几乎从未怜惜过被抛下者。

最后

大家对这个话题,肯定也有自己的理解,希望大家早点度过迷茫期,成为一名成熟的程序员。

还没有使用过我们刷题网站(https://fe.ecool.fun/)或者刷题小程序的同学,如果近期准备或者正在找工作,千万不要错过,题库主打无广告和更新快哦~。

老规矩,也给我们团队的辅导服务打个广告。