
很多学Java的朋友,刚开始的目标定位为我要成为Java程序员,所以学习劲头满满的,等到成为Java程序员之后,一段时间也是干劲满满,但是随着工作时间的推移,有的Java程序员依旧是干劲满满,有的Java程序员则是早已随波逐流,Java程序员如何突破自己呢?
不管是哪一类Java程序员,总会有自己遇到瓶颈期的时候,该如何突破自己呢?跟北大青鸟小编往下看,比如在Java程序员中很明显会出现的一个问题就是,随着年龄的增长,会遭受各方面的压力,工作压力、家庭压力,这让很多Java程序员不由得会反思自己,接下来电脑培训介绍该怎么办。
面对诸多的压力,目前的自己又处于一个不上不下的岗位,虽然自己一直在进行Java技术的累积、工作经验的累积,但是Java技术上感觉自己没什么突破,Java项目经验好像也没什么太大的长进,在Java行业混迹了这么多年,却不知道未来的自己该何去何从,深深感觉到该好好的突破自己了,该怎么办呢?
Java程序员如何突破自己?你是不是太习惯待着舒服的安逸区了,导致自己都忘记了你是身处在一个“不进则退”的Java行业中,没有好好的提升自己的Java技术,也没有好好的进行职业规划,那么就最根本的还是从自己身上找原因,哪里做的不好,哪里再继续更改,比如换个公司发展。
工作了5年的Java程序员,该如何提升,做了3~5年Java开发,你已经积累了不少项目经验,扩宽了技术广度,也许已发力成为团队管理者。到了这个阶段,大家却常有这种感受:感觉自己卡在瓶颈进步缓慢,技术水平很难像早期一样实现大幅突破?其实大家往往忽略了这一点——提升自己的架构认知(工作5年左右程序员必须重视架构认知的提升,这会很大程度上推动你今后的成长)。架构的本质在于面对业务场景给出优雅的解决方案,使得业务能够快速迭代和持续交付,从而达到降本增效的目标。提升架构认知高度,就像达克效应所描述的一样,要敢于从愚昧之巅跳到绝望之谷,通过爬升开悟之坡,从而达到架构认知的巅峰时刻。到达巅峰时刻也就掌握了架构背后设计的哲学,面对具体业务场景在架构层面你便能够轻松应对,以无招胜有招。
提升架构认知,要紧抓3个关键点:业务洞察力、技术视野、原创力(执行力)。
1.业务洞察力是技术战略层面的问题,在当下能够做出合理的判断,清楚公司做什么事情收益最大;
2. 技术视野即技术选型能力,是技术战术层面的问题,在清楚做什么事情后,需要进一步解决怎么做的问题,也就是能够给出合理的技术选型方案:是完全基于开源的方案,还是基于开源二次开发的方案,还是完全自研的方案;
3. 原创力(执行力)是技术落地执行层面的问题,一旦技术设计方案确定后,需要能够快速Rush完成。
这3点层层递进,最重要的是先把技术战略问题思考清楚,然后再进一步解决技术战术问题,最后是快速落地执行的问题。
工作5年左右的程序员,在原创力(执行力)层面比较有竞争力,往往欠缺技术视野以及业务洞察力。后面2点更加重要,这2点解决的是架构设计哲学问题,是架构师能够持续拥有竞争力和影响力的立身之道。
举个场景的例子来详细说明:一提到分布式锁问题,大多数人想到的方案是基于Redis的Master-Slave模式来实现。这个实现方案行不行?分布式锁本质是一个CP需求,基于Redis的实现是一个AP需求,乍一看基于Redis的实现是无法满足的。脱离业务场景来谈架构都是耍流氓。
从技术战略的需求层面来看,如果分布式锁在极端情况下获取锁的不一致,社交业务场景能够接受,那么基于Redis的实现是完全可行的。如果业务是交易场景,分布式锁在极端情况下获取锁的不一致性无法接受,那么基于Redis的实现方案是不可行的。在锁强一致性的场景下,需要采取基于CP模型的etcd等方案来实现。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)