李锋镝的博客

  • 首页
  • 时间轴
  • 说说
  • 读书观影
  • 系列
  • AI工具集
  • 论坛
  • 友圈
    • 友链
    • 朋友圈
    • 游客中心
  • 留言
    • 留言
    • 走心评论
  • 关于
    • 关于本站
    • Now
    • 每日心情
    • 网站地图
    • 网站统计
    • 赞助
  • 星球穿梭
  • 🚇开往
静亦定 动亦定
惟坚韧者始能遂其志
  1. 首页
  2. 转载
  3. 其他
  4. 正文

【收藏】从面试官角度观察到的程序员技能瓶颈,同时给出突破瓶颈的建议

2019年10月16日 272 0 2
本文最后更新于 2019年10月16日,距今已 2578 天,其中的信息可能已经发生变化,请注意甄别。

我在做技术面试官的时候,面试对象大多数是初级开发和高级开发,偶尔也会面试架构师。我发现,IT人的工资固然和相关技术的使用年限有关,但如果候选人的技能无法跨越到更高层次的话,他们的收入也就会停留在当前级别,哪怕工资年限再多,也无法提升工资水平。

比如,我就面试过不少工作了5,6年的程序员,他们的技能也就停留在增删改查阶段,那么只能领到初级程序员的工资。更可悲的时,在面试过程中我发现他们甚至不知道上升的途径和方式,这样的话,可能当他们有10年经验时,或许还只是初级程序员。

对此本文将围绕着初级程序员,高级程序员和架构师这三个职位,说明下这些级别的技能瓶颈,并给出若干突破瓶颈的建议。

1 初级程序员的技能瓶颈与收入瓶颈

哪怕是非相关专业,从培训班出来的程序员,要找个工作也不难,更何况是计算机相关专业出身的学生。

在一般的公司里,对初级程序员的要求大多也是会增删改查,熟悉基本的业务,而且不少公司不会让他们干更高级的活。所以我在面试过程中,不少3年以内的初级程序员的水平和一些有5年经验的人差不多,这就进入了初级程序员的收入瓶颈。

比如Java方面,他们仅仅会用技能,比如集合,多线程,数据库等,也会在Spring框架下干活,SQL方面,仅会写基本的SQL语句,或许还会使用简单的索引等技能。但如果我问及底层代码,他们知道得很少,问及Spring等框架知识,他们只会告诉我如何配置,如何在现有框架里干活。至于一些高级技能,比如分布式组件,或者LInux下的部署和日志排查,他们大多就不知道了。对于项目管理的工具,比如Jenkins,sonar等,他们可能都没听说过。

如果面试时仅表现为会干活,不会调优,不会分析和解决问题,那么能力上也就是初级开发。这样的话,在上海,按当前行情,估计最高也就12k了,同时,如果干了5年还是这样的话,那么竞争力会大大降低。那么如何提升到高级开发呢?

1 在平时得熟悉调试代码,并且,一旦组里出了问题,得尽量参与,刚开始可能分析和解决问题的能力不行,但慢慢就行了。

2 多看些优化方面的技能,以及比较热门的技术,比如数据库方面,别单纯看JDBC的增删改查,可以看些NoSQL甚至redis缓存,然后看下SQL调优技能。

3 多关注些项目开发和管理的技能,比如敏捷开发,站会,单元测试,集成部署,通过Sonar看代码质量等。

4 这点比较关键,得多和别人交流,比如多和需求方沟通需求,多和测试方沟通问题重现步骤,多和组员领导沟通问题的实现方式。

其实初级开发升级到高级开发还是相对容易的,只要主观上态度上端正,别固步自封,然后到处看些资料多和人交流即可。如果进互联网公司,在大压力环境下,身边大牛再多些,升级过程会更加顺利。

2 高级程序员的技能瓶颈在于分布式组件

高级开发论技术,有一定的调优经验,也有一定分析日志解决问题的能力,也能debug。论解决问题的能力,也能和别人沟通,从而接简单的需求,并能分析和解决一些问题。论团队合作,也能带3,4个人一起开发。其实这类能力,对工作个3年的程序员来说,不难达到,如果在节奏比较快的互联网公司里,甚至2年即可。

论工资水平,当前在上海,高级开发拿个15k都算低,如果进个大公司,外带5年左右开发经验,估计能到20k,如果在互联网公司甚至能更高,但瓶颈估计在25k左右。

我面试高级开发,他们一般基础知识比较扎实,比如Java集合内部的实现代码,高并发的诸多类,或者Spring框架的一些关键底层代码,都能说得上来。一般给我的高级开发的面试标准是,所需初级开发的技能,并在此基础上具有一定的调优能力,通过日志定位问题,设计解决方案和解决实际问题的能力,而且linux上也能部署代码。只要能说得上来,一般能给到高级开发的工资,就多少的问题。

但我面试时,感受非常深的是,和架构师相比,高级开发对于分布式组件或基于云组件(比如k8s)或其它高并发分布式组件,有些人可能用过,但仅限于会用其中的API,让他们搭建一个集群,他们可能就力所不能及了,如果再问他们分布式组件在项目开发时经历过的坑,他们大多也说不上来。

比如我问,Dubbo里通讯协议有哪些?高级开发一般能说得上来,因为这有现成资料,但我再问,根据你们的业务实际情况,你们用的是长连接还是短连接方式?为什么要用这种协议?他们估计就很难回答。如果我再问,如果要处理高并发的请求,需要在Dubbo里做哪些配置?如何同其它组件搭建成集群以达到容错效果?高级开发就更难回答了。

同初级开发升级到高级开发相比,高级开发升级到架构师更难,因为在一般的工作环境里,高级开发很难有相应的实践机会。不过话说回来,如果程序员有8年经验后还是高级开发,那么竞争力会逐步下降,一方面很难再要到更高的工资,另一方面很难通过面试争取到架构师的工作机会。那么高级开发如何升级到架构师呢?这个时候光靠态度就不行了。

1  理论知识不可少,还需要在自己电脑上,可以搭建个脚手架项目,比如自己装个虚拟机,搭建个dubbo集群等,这样能熟悉基本的配置和用法。

2  最好找个互联网公司实践下,哪怕在互联网公司干的是高级开发的活,一定也有机会接触分布式组件,这样就有相关经验了。我在一家外企自学了1年多架构师的技能,然后到一家互联网公司,发现3个月的实践抵得上1年多的自己探索。

3  比如高级开发,架构师更得了解集群,而不是单机版的代码,所以更得关注一些技术以外的技能,比如负载均衡,容错处理,通讯协议和流程等。积累着方面的经验别无他法,只能多动手排查和解决实际问题。

4 虽然说光靠态度不行,但没态度也不行,在升级过程中,可能因定位问题不及时不准确,或者提出的方案有瑕疵,从而受到别人挑战,相反如果回到高级开发的舒适区也能稳定地过日子。我自己也有体会,我幸亏遇到了好师傅,而且我师傅的师傅是大牛,也为我指明了不少进阶方向。否则的话,这条升级路能坚持下来,还能难说。

3 架构师的瓶颈在于项目实践经验

目前在上海,架构师的月薪普遍在30k以上,如果稍微资深点的话,35k也不是问题,如果是一个公司的主心骨的话,那工资就更没上限了。

虽然不多,但我好歹也面试过Java方面的架构师,我在面试过程中发现,一些资深的架构师,相关实践经验相当丰富,更有部署上线和在线排查问题方面的经验。

比如MyCAT分库分表方面,高级开发会使用,一般的架构师会搭建集群,也会排查产线问题,而资深架构第一能知道该如何上线,上线时如何采用分组发布确保数据兼容性,上线后又该如何清洗数据,如果上线过程中出现问题又该如何回退。再比如针对Netty的OOM问题,资深架构的脑海里会出现若干个优先排查点,在这些范围内找到问题的概率很大,不行再具体看日志分析。

如果说,架构师还有人可以问的话,资深架构则没人可问,有问题得靠自己之前踩坑获得的经验,或者自己找资料。从这个意义上来讲,在架构师级别,如果技术上再要提升,那么只能多靠解决实际问题时积累的经验,而且更得结合业务,把负载均衡,容错处理等处理高并发的理念用分布式组件实现。这方面,我们可以参照下BAT或知名互联网公司的架构知识体系。

4 在任何时候,态度都是限制发展的瓶颈

不管是面试初级程序员还是高级开发或者是架构师,我发现一些表现好的,都是比较积极向上的。

比如回答问题时声音洪亮,沟通时也有尽量向表达清楚的愿望,哪怕某个方面回答不正确,但也能看出平时在不断积累知识,当被追问比较深时,也能比较耐心地一一解答,总之通过交流,给人的印象是比较踏实靠谱。有些人甚至平时会写博客,或者出过书,或者想尽一切办法来积累和提升自己。这类人大多能过,哪怕个别过不了,但努力的大方向没问题,完成进级也仅仅是时间问题,未来潜力也是非常可观的。

但相反,有些回答不好的候选人,总会给人些得过且过敷衍的感觉,比如回答问题比较简单,或者总是想套面试官的话,或者总想用些模棱两可的回答来蒙混过关。

我和其它的面试官沟通以后,对此感受很深,总是先自己要了,然后再肯上进,再自发地归纳出好的学习方法,并能有效地进行时间和工作任务管理。

我见到过不少反面的案例,这些人论资质不错,但或者光有决心没行动,或者干脆陷入在舒适区不可自拔,这些人很难有技术上的突破。相比之下,初级程序员在有决心有行动后,升级所需的时间不会超过1年,有些半年就够了,高级开发升级到架构师可能有些难度,但一般不会超过2年。

所以说,要升级,首先态度要端正,人要上进,这话说起来太容易,但能做到的并且能坚持下来的人数并不多,所以态度也是升级的瓶颈,这话虽然通俗,但不无道理。

5 总结,技术可以暂时落后,但任何时候都要有上进的信念

本文提到的各级别程序员的瓶颈和突破建议,都是我和其它多位面试官在面试过程中总结而来,希望能对大家有所帮助。

再者,除去因升级而带来的收入提升外,在任何技术前提下,都有对应的挣钱手段。比如我在博客园等地,看到不少大学生朋友靠写文章挣钱,而开专栏也并不是要多高深的技术积累。同时,当程序员升级到高级开发后,就能通过写书或者录制视频等方式挣钱。此外,如果是接项目,在各技术层面都有对应的项目。不过话说回来,对我们程序员来说,在任何公司任何职位任何场景,都有机会进入到舒适区“享福”。

有道是“技术穷但志不能短”,我在博客园里就见识过不少靠努力翻身的例子,在我身边的同事朋友里,也经常看到“半年后技术大变样”的例子,这些榜样能激励我不断上进。所以本文在给出突破瓶颈建议的同时,更希望大家要有不断上进的信念。

如果大家感觉本文有帮助,请推荐本文,也欢迎大家通过评论来交流。

版权说明:

有不少网友转载和想要转载我的博文,本人感到十分荣幸,这也是本人不断写博文的动力。关于本文的版权有如下统一的说明,抱歉就不逐一回复了。

1 本文可转载,无需告知,转载时请用链接的方式,给出原文出处,别简单地通过文本方式给出,同时写明原作者是hsm_computer。

2 在转载时,请原文转载 ,谢绝洗稿。否则本人保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/JavaArchitect/p/11616851.html

参考链接

1
  1. 1www.cnblogs.comwww.cnblogs.com
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
分享到

【收藏】从面试官角度观察到的程序员技能瓶颈,同时给出突破瓶颈的建议

也可使用浏览器菜单中的「分享」功能

微信扫一扫分享

标签: JAVA 面试
最后更新:2019年10月16日

岁月同一天 11 月 7 日

回望过去的今天,你在写什么

  • AI
    1 年前 2025年11月7日
    DeepSeek本地部署全攻略:从环境搭建到高级应用,打造专属 AI 助手

    DeepSeek 作为国产开源大模型的佼佼者,凭借出色的推理能力、代码生成效率和中文支持,成为很多开发者本地部署的首选。…

相关文章
  • 内存屏障浅析2021年11月18日
  • Java设计模式:策略模式2025年5月22日
  • 使用itext和freemarker来根据Html模板生成PDF文件,加水印、印章2019年9月5日
  • 为什么生产环境不建议使用Executors快捷创建线程池?2025年2月12日
  • jstat命令使用(JDK1.8)2020年8月12日

李锋镝

既然选择了远方,便只顾风雨兼程。

打赏 点赞
< 上一篇
下一篇 >
1234567891112131415161718192021222324252627282930313233343536373839404142434446474849505152535455575859606162636465666769727476777879808182858687909293949596979899
取消回复
…

文章评论

  • 贺龙Lv 2

    年轻的时候,把“积极向上”作为一种“信仰”,是很正确且必要的。

    WindowsWindowsChrome 90.0.4430.72Chrome 90.0.4430.72中国中国-北京
    2021年5月25日
    00 回复
    • 李锋镝Lv 5

      @贺龙 少壮不努力,老大徒伤悲么……古人诚不欺我

      WindowsWindowsChrome 90.0.4430.212Chrome 90.0.4430.212中国中国-北京
      2021年5月25日
      00 回复
  • 人间有味是清欢。

    听点儿音乐吧 朋友~
    文章目录
    最新 热点 随机
    最新 热点 随机
    给服务器加了WAF 又一个逆天改命的人:小小徐 AI的生成能力等于生产力吗? NGINX严重漏洞(CVE-2026-15176、CVE-2026-93479、CVE-2026-97205) Kratos-plus v1.1.27更新说明 php2shell远程执行漏洞修复(CVE-2026-109618 和 CVE-2026-109619)
    给主题增加了游客中心功能心气没了,干什么都不得劲我觉得是时候公布我的导航网站了给服务器加了WAF游本昌去世关于主题加载速度优化的一点儿小演进
    HBASE初探 你总要学会往前走 Kratos+ v1.1.16版本更新说明 mybatis-plus-join-boot-starter介绍及用法 MySQL语法总结 Auld Lang Syne
    最近评论
    fairy 发布于 18 小时前(11月06日) 机器人快来我这里吧!
    李锋镝 发布于 18 小时前(11月06日) 都是机器人,防不住
    李锋镝 发布于 18 小时前(11月06日) 是的,太烦了
    李锋镝 发布于 18 小时前(11月06日) 可以同一台服务器
    fairy 发布于 20 小时前(11月06日) 这流量,好厉害啊。我一年都没那么多
    标签聚合
    数据库 日常 多线程 Claude AI编程 AI Spring 分布式 ElasticSearch SQL MySQL JVM JAVA K8s Theme WordPress Redis SpringBoot IDEA 架构
    友情链接
    • 刘永博客
    • Mr.Sun的博客
    • Honesty
    • 志文工作室
    • 林羽凡
    • 韩情脉脉
    • 九仞之行
    • sssr7844的博客
    • 哥斯拉
    • 皮皮社
    • 彬红茶日记
    • 搬砖日记
    • Serendipity
    • 老张博客
    • 韩小韩博客
    • 瓦匠个人小站
    • lijie blog
    • 知向前端
    • 懋和道人

    COPYRIGHT © 2016-2026 lifengdi.com. ALL RIGHTS RESERVED.

    lifengdi.com 十年之约虫洞

    Domain age badge for lifengdi.com

    Theme Kratos-plus By Dylan Li

    津ICP备2024022503号-3

    京公网安备11011502039375号