专业的JAVA编程教程与资源

网站首页 > java教程 正文

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

temp10 2024-11-01 13:45:15 java教程 8 ℃ 0 评论

许多人喜欢把程序员的成长路径比喻成升级打怪,如同修炼一本又一本武功秘籍,以为只要潜心练习,修炼到飞花摘叶都可伤人,就是程序员的至高境界。如果在纯技术环境,这样的发展路径或许是对的。但早有人根据本土国情总结出了程序员进化的正确打开方式。

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

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

网友“老胡聊Java”说:

1.意识到写代码无非就是调用接口api,做业务无非也就是抄些增删改查的现成代码。也就是说,编程没想象中那样高大上,也就是谋生的一种手段。

2.知道提升能力不是单纯靠学,而是得靠解决实际问题。比如在做项目时,提升技能的最好方式是,去解决些值钱(比如分布式高并发或devops等)方面的问题。同时更知道,单纯做增删改查的业务,其实顶了天也只能算个初级开发。

3.知道其实在做项目的过程中,写代码的技能相对来说是比较不值钱的。比较值钱的技能点是,排除解决问题的能力,确保项目高质量的能力(即测试能力),运维项目的能力(比如容器和devops),组件的使用能力和配置安装分布式或微服务组件的能力。

4.知道在自己领域,哪些技术比较值钱,同时更知道,如何在面试中证明自己的技能,更知道,在下次跳槽时,自己该去哪些类型的公司,知道该如何要到更高的薪资。

5.知道衡量程序员能力和水平的标准是薪资+公司,在公司都差不多的情况下,谁薪资高谁能力强,在薪资差不多的情况下,谁公司好谁厉害。这话另外一层含义时,在跳槽时,对方公司衡量程序员能力时,第一看之前公司的规模,即大公司背景,第二看薪资。随后再通过面试看技术。

6.知道公司的领导在给自己提建议时,出发点大概率是为了公司好和为了项目组好,在此基础上顺带会给些对自己有帮助的建议。这种情况下,对领导的话是会有选择性地听。

7.知道不少公司领导留人的方式不是靠加薪,而是靠画饼。更知道,如果在同一家公司,每年涨薪顶多1成,而且还得使劲加班,同时如果是跳槽,涨薪3成都算低的。

8.知道在面试中证明自己能力时,不能单纯靠自己做过什么,也不能靠自己学过什么,而是靠自己能靠说证明什么。比如能在面试中,通过说自己解决过的值钱技术方面的问题,能证明自己在这方面的能力,至于自己是否做过,面试官很难核实。

9.知道程序员要过大龄这道坎,不是靠技术,而是靠公司,即得找个能容纳大龄程序员的公司,而一些小公司,对大龄程序员可能未必友好。

10.知道身体比挣钱重要,知道家庭比工作重要。而程序员这个职位,只是提供了用加班用艰辛换取高薪的机会。

11.知道有些公司,尤其是小公司外包公司,仅仅是过渡,在其中不应该呆过3年。别看其中的领导信誓旦旦或者宣扬狼性,但可能他们自己都知道,自己的业务线甚至是公司未必能撑多久。

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

13.即比较成熟的程序员具备复制别人成功模式的能力。举例来说,比如某Java开发当下只会增删改查,但他能通过观察组内的资深架构平时干了什么事情,解决问题的过程,通过多问多复盘多实践,慢慢把人家的本事学到手,然后提升自己的能力。

14.再进一步讲,成熟或者说资深的程序员,更具备从各种试错过程中找到正确方向的本事。比如当下某人的外包公司,接触到的技术天花板是单机版的增删改查,所谓的组内大牛也只是熟悉业务。这种情况下想进好公司,比较成熟的程序员一般能通过尝试,知道怎么写简历怎么找猎头能拿到大公司的面试机会,再进一步,知道在当下技术储备不多的情况下,经过各种无效学习的试错,知道如何掌握大公司面试所需的技能,再进一步,经过各种面试的尝试,知道该如何面试成。

15.做久了以后,知道做项目时应该用最安全的方式修改bug,而设计模式和重构之道之类的理念,只是存在于教科书,而且只会在面试时用到。这句话更加通俗的说法是,在当前系统修改bug时,不该看的代码不看,不该了解的代码不去了解,不该碰的代码不碰,一旦看了了解了碰了,改出问题,责任就是你的。而且在改牵扯到多方的疑难bug时,一定得拉上领导或相关人。

16.在面试场景,知道证明自己用过某个技术的方式是,说业务场景和API细节。这块具体展开下,比如在面试中要证明自己做过机器学习,可以先说项目里引入机器学习模型的场景,再说用过哪些模型,其中的api接口、语法和配置细节是什么样的。而且同样是在面试场景,证明自己能力的方式不在于说自己做过哪些业务,而在于说自己排除解决技术问题的方式,解决过的问题越值钱(比如含高并发机器学习或AI),那么面试官只能相信你的能力。

17.在面试时,比如求职者有3年公司经历,那么应该就有3年Java(或Python或其它技能)的项目经验。这种情况下,如果求职者通过业务场景和API说技术,再通过说解决过的问题证明能力,面试官只能相信求职者的能力。一些会面试的求职者,2,3年跳槽一次,每次薪资涨个3成,或者以此进好公司,这其实不是难事。回到主题上,较为成熟的程序员都知道一些面试技巧,而比较幼稚的程序员,面试时只说自己项目做过哪些事情,更只会通过做业务证明自己的能力,这样的跳槽和面试的能力是有待改进的。

18.较为成熟的程序员一般给人的感受是,面试时,被普遍认为能力强,因为具备足够的面试能力,刚开始进项目组时,会被认为很菜,但很努力,因为接触到了更值钱的技术,而之前没接触过,所以很菜,但在新环境里能通过努力高效学习。过了一段时间,这位程序员能在解决问题、沟通和写ppt汇报等方面展示足够的能力,再过了一段时间,这位程序员会跳槽到更好的公司里,迭代上一次的流程。而较为幼稚的程序员则会认为,只要我能力强,能解决问题,就能在当前公司一直干。

19.在自己当下技术不高的情况下,知道如何最大程度上变现自己的技术,因为成熟的程序员都知道,技术不能当饭吃,生活还得靠技术变现得来的钱。

20.这甚至已经可以作为“老油子程序员”的标志了。知道解决哪些bug能给自己带来收益,知道解决哪些bug,虽然对项目有帮助,但牵涉到一些人或一些事,未必会对自己有帮助,知道项目里的哪些bug应该报出来,但不应该立即着手解决,而应该开会找相关人讨论,知道项目里的哪些bug,甚至都不应该报出来。

网友“fearless”建议:如果你是个普通程序员,特别是学历,履历都不好的情况,三十多岁这个年龄核心是要放弃学技术,特别要放弃技术决定一切的思维。

有人调侃道,“三十岁之前以为技术决定高度,现在觉得如何圆滑的处理人际关系才是真正的王道”。许多程序员潜心技术,只和电脑打交道,工作多年“归来仍是少年”,而老油条们早已看透“唯技术论”的有限性,搞定技术外的事情是一项必要且紧要的事情。

把自己活成一个项目,解决公司的需求,才是离钱更近的道理。

END

【来源】:知乎https://www.zhihu.com/question/642449547/answer/3387775030

【消息】:

1.《码客人生》开启新栏目:《读者来信》——每月精选往期文章的趣味评论,类似程序员“树洞”,评论选中者,可在微信公众号后台加运营者微信,领取奖励。

2.《码客人生》建立读者交流群了,讨论技术话题,分享文章看法,感兴趣的人可以后台加运营者微信入群。


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表