网站首页 > java教程 正文
许多人喜欢把程序员的成长路径比喻成升级打怪,如同修炼一本又一本武功秘籍,以为只要潜心练习,修炼到飞花摘叶都可伤人,就是程序员的至高境界。如果在纯技术环境,这样的发展路径或许是对的。但早有人根据本土国情总结出了程序员进化的正确打开方式。
程序员从幼稚到成熟的标志是什么?
网友“老胡聊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.《码客人生》建立读者交流群了,讨论技术话题,分享文章看法,感兴趣的人可以后台加运营者微信入群。
猜你喜欢
- 2024-11-01 《极简Java新手编程之道》13.6.1 标签和按钮
- 2024-11-01 java自学——第一天 神奇的HelloWorld
- 2024-11-01 Java中的String,StringBuffer,StringBuilder三者的区别是什么?
- 2024-11-01 生成icns图标,Mac系统使用iconutil生成图标
- 2024-11-01 Java 8新特性:lambda表达式(java中的lambda表达式)
- 2024-11-01 悟空的金箍棒归来:Shoulder框架重塑Java Web开发!
- 2024-11-01 一文深度讲解JVM 内存分析工具 MAT及实践(建议收藏)
- 2024-11-01 Java对象头你不知道的地方(java 对象)
- 2024-11-01 Java Agent有什么作用?(java agentmain)
- 2024-11-01 游戏《我的世界》重塑品牌:启动器图标改用扁平化设计
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)