前言
今天是 2020 年最后剩余的第四天,由于我已经请了两个礼拜的假回老家了,所以最近基本上没有空写东西。然而昨天晚上就突然想起了过完年也是入坑 Java 的第五个年头了(其实没有五年,差不多四年的样子,主要为了符合标题,不然又要被标记为标题党了),昨天晚上想到的几个困惑真的是让我久久不能入睡(差不多讲完这句话就睡着了)。我相信有一定的经验的程序员都会有和我一样的感受,本篇的话主要的是安酱对从业这些年来的反思,希望有好哥哥能答疑解惑(是不是很奇怪,写博客不是帮别人答疑解惑的吗,我就不一样)。
概述
在表达我的疑问困惑之前,需要大概讲一下安酱的工作环境。安酱目前就职于广州某一大型的(听说有好几千人的公司)自称互联网(互不互联网不知道,就是不知道有没有互联网公司会经常拖个一两个月不发工资)的公司。安酱从一入职开始的职称是Java开发工程师
,然后经过一年不懈的努力成为了高级开发工程师(公司是这么给的,虽然我不愿意承认,因为我已经不知道什么样才能成为高级)。这里很有必要说一下技术角度上公司的职称关系,大概是这样的,初级开发 -> 开发工程师 -> 中高级开发 -> 高级开发 -> 技术经理 -> 技术总监,不知道是不是所谓的大厂的职位体系。
安酱从事的项目的话是公司内部自誉为金融项目(实际上在技术角度上来说是一个偏后台管理的项目)。可能是公司的某些领导看中我的能力,让我堂堂一个高级开发工程师带了一个项目(正常不都是由技术经理带吗)。出乎意料的是我竟然接了,理由很简单,我想跨过这个台阶,看看上面的世界。不过呢台阶跨过了,世界还是那个熟悉的世界。
困惑
在刚带项目的时候,很充实,是真的很充实。首先需要了解基本上整个项目的需求、背景、流程。组织小伙伴弄懂(都不敢用弄透这个词,因为根本弄不透)需求、反复确认需求、甚至推翻需求(基本很难推翻)。到后面的表设计、代码规范(这个就包含很多了,比如异常码、全局异常处理、第三方对接规范等等)、代码 review。
所以在这里我的第一个困惑就是所谓的高级开发到底怎样才算达到了。我知道,这可能没有一个标准答案。可能是工作环境的原因,我已经成功的分不清什么是高级开发、什么是技术经理、什么是技术总监、什么是架构师。讲道理,这还是很影响我的职业规划的(虽然我并没有什么规划)。
另外的话,公司有很多个形形色色的项目。在平时基本上没有什么交集,就是在需要对接的时候会有一些工作交流。在这期间,对接了有很多所谓架构师、技术经理、技术总监所设计、架构的项目,用一个词来形容就是就这
。当然这也有可能是我年幼无知,读的书少。
然后我就反思啊,要怎么才能成为一名架构师呢?这也是我的第二个困惑,不对这个应该叫做困扰。因为安酱一直的目标就是成为一名架构师,然后,不管怎么努力,像阅读源码、熟悉底层等等,但是始终都感觉还差点什么。不知道有没有好哥哥跟我有同样的感受,再次求好哥哥们答疑!
还有一个就是目前来说,我不知道要学什么了。讲道理,这个还是很恐怖的,不是说所有的东西我都会了,而是安酱像很多框架的源码、JVM、分布式相关的解决方案都有一定的了解。但是我想在进一步就优点难了,一方面资料偏少,另一方面的话可能需要跟加底层相关东西。不是不想学,主要学习成本真的太大了。还有一个原因就是可能身边的大佬都带不动我,我太菜了。
展望
希望在 2021 年能如愿以偿,换个身份,成为架构师或者成为真正的高级开发工程师。当然能进个大厂就更好了,或许进个大厂我上面的这些困惑、困扰都能破开迷雾,从而迎刃而解。
另一方面,希望安酱能够沉下心,多读点书,在技术这条路越走越远,直到黑暗(走到黑)。
当然,这一切一切的努力都是为了多赚点钱。没想到吧,就是这么俗!
最后的最后,2021 负重前行,冲冲冲
微信关注安安酱,一个热衷于分享干货的公众号。现在关注领取即可
Sping
源码分析相关资料。