作为一名工作了7、8年的程序员,感觉啥都会,但是又啥都不精通,怎么办?

最近在逛知乎的时候,遇到上面标题的这个问题,不知道大家看到这个问题是怎么想的,阿粉看到这个还是有点感触的,作为一个即将达到这个工作年限的人,阿粉也经常在思考类似的问题。

阿粉个人还是比较赞同排名第一的回答,这个回答主要从两个方面来分析

选择合适的赛道

技术人员也要有赛道的概念,这里的赛道指的是互联网领域的细分行业,比如说电商领域,社交领域,区块链领域,金融领域,广告领域等。

其实很多技术人员对这个概念并不认同或者说即使认同也不会这么做,都觉得技术人员只要搞好技术就行了,做金融也是写 Java 做电商也是写 Java,反正都是写代码,只要搞好自己的技术并不关心具体的业务。

但是往往忽略了技术是为了业务服务的。见过很多程序员在做需求或者业务的时候只考虑技术层面的东西,并不会主动去了解业务,很多时候这是种不成熟的表现,我们要明白所有的技术都是为了业务服务的,抛开业务场景讨论技术都是不成熟的,技术的发展和升级最终的结果都是业务价值的体现。任何业务需求如果没有产生价值,背后的技术再厉害,再牛逼也没有用,不会有人歌颂,不会有人记住。

而且每个行业因为行业本身的特点就决定了需要使用什么样的技术,比如说金融领域,因为金融系统要保证安全的原因,那就必须要求程序员使用特定的软件和技术,对于新的前沿的技术是完全不可能在金融系统里面被使用的。想想还有多少系统是跑在 JDK 5 或者 JDK 6 上面的。

金融系统安全稳定是最重要的,不允许任何数据的丢失;但是相反的比如广告领域,要求的高性能,偶尔丢几条日志数据完全没关系。

所以说行业的特点往往会决定技术的选型和架构的部署。

阿粉也有很多朋友在一些银行里面做技术,跟他们交流听到最多的就是系统使用的技术还停留在很多年前,阿粉之前也对接过一些电信业务,用到的协议还是十多年前的协议。

当然这种情况是普遍的,但不是绝对的,很多大的银行也会有科研团队,很多人也很喜欢到银行里面去上班,毕竟相对来说比互联网公司会轻松一点,而且福利还很好,但毕竟坑位有限,机会相对较少。

避免频繁跳槽

按照互联网行业的规则,一般 1 - 3 年工作经验的是初中级程序员,5 - 8 年工作经验的会是高级程序员。这么评定是有一定的依据的,程序员这个行业,工作三年才能算得上是刚入门,技术相关的东西太多了,需要时间去好好学习和消化。

另外前三年也是一个选择的阶段,很多人在这个阶段可能转岗,也有很多人通过这三年对互联网的工作模式和岗位有了很大的了解,从而选择了自己的方向;更多的还是随遇而安,在本职岗位上发光发亮,但是不管怎样,三年时间可以帮助我们成长很多。

但是对于超过工作三年的程序员,强烈建议不要轻易跳槽更不要轻易的换赛道,在找到了自己的方向以后,我们要做的就是在一个行业领域里面深耕,把该领域的业务和流程弄清楚,结交一些该领域的其他专家,同时自己也要成为该领域的专家,不管是技术专家还是业务专家都行。

当我们在一个行业里面成为了一个专家过后,工作机会和期望的薪资一般也会随之而来,毕竟要相信猎头的能力。

写在最后

所以对于工作了七八年的程序员,我们最重要的是有没有找到自己的目标,知不知道自己想成为什么样的人才。对于标题说的工作了七八年感觉啥都会,但是啥也不精通,阿粉觉得此时此刻正是成为 T 字型人才的时候。之所以感觉啥都懂,是因为做过的项目多,经历过和看过的事情多,而这个时候我们更能体会之前不能体会到时候,更能找准自己的定位,所以不要迷茫,找到自己的兴趣点,往下干就对了。

所以小伙伴你们觉得呢?关于程序员是否有赛道的概念你们是怎么想的呢?欢迎在评论区里面留言,我们一起讨论。

Java Geek Tech wechat
欢迎订阅 Java 极客技术,这里分享关于 Java 的一切。