场景一
之前,一位在我交流群里的群友找师长诉苦:工作8年,从事Java开发相关的工作6年,最近失业快4个月,还是没有找到合适的工作。
image.png
感觉自己已经废掉了,一直在金融公司从事Java开发工作,之前薪资18K ,深圳。
更多的时候,工作属于软件项目管理,比如以下:
需求分析,把客户发过来的软件需求,分类分解,分给对应模块人员
分派任务,测试测出bug,然后自己做出基本分析,然后分派给模块人员
制定项目计划,推动项目的block点,及时发布软件版本
完成基本简单的需求。
沟通需求,如果不明白的需要和客户沟通需求或者bug的情况
不知道现在Java开发都是用什么新技术, 没有做过电商平台类开发,也没人要我,打算自己学习下最新的一些框架,写个Demo什么的。
又或者转行做销售去? 从头开始。
在或者做点别的什么?
之前天天在公司加班,忙这忙那的人,突然没工作了,现在挺迷茫的。
image.png
场景二
昨天晚上,另一位Java开发的群友给我发消息,说上次我帮他修改简历和求职指导后,他总共收到了6个offer,最高的月薪是22K,最低的月薪是15K,最后他根据我的建议选择了一个月薪20K的offer。
image.png
为什么不建议她选择薪酬最高的offer,反而去选择月薪20K的offer呢?根据我对职场的观察,给出以下理由:
新的职位和新的公司是否能为自己下一份工作起到背书的效果。
行业的发展和该团队的情况,也是考虑的一个重点。
结合该位群友的个人情况等原因。
毕业2年,却收到月薪20K的offer,他是如何做到的呢?
一、拓宽业务场景
我们会在很多场合听到对「精钻」这个词语的推崇,包括在职场上,我们常常听到前辈教导我们对待工作要精益求精,但事实上,在某一方面做到万里挑一的大牛是一条可取的道路,却不是职业发展的唯一道路。
二、把握职场节奏
在职场上有一个时间标准:3 年。 3 年时间,一定要在工作内容和职级上有一个质的变化,这个变化可以通过升职得到,也可以通过跳槽达成目标。
初入职场的 3 年,主要的工作内容就是夯实基础,此时基本处于「完成上级交付的任务」这样的阶段。但在这个过程中,员工不能仅仅完成任务了事,而是要不断思考为什么上级要布置这个任务,这个需求是怎么来的,用于解决什么问题,有没有更好的解决方案等等。
之后的 3 年,也就是职业生涯的 3-5 年,作为程序员,需要达到一个小 leader 的层级,即带领一个小团队(可以仅仅有几个人)负责某一个某块或是功能的研发,此时在上个阶段积累的经验和关于解决方案的各种想法的作用便凸显出来。而此时作为小团队负责人的角色,程序员更多地需要关注上下游的逻辑,能够形成完整的逻辑链条。
工作经验的 5-8 年,此时程序员已经进阶成了技术负责人,可以独立负责某一个产品的研发,可以成功地推动产品从 0-1 的阶段,此时更多需要关注的便是跨部门之间的合作与沟通,确保研发行程的按时交付。与此同时,更多地关注一些产品设计方面的内容,会对进一步的晋升很有帮助。
最后一个阶段,即工作 10 年以上,此时达到研发总监或是更高的职位会是一个比较理想的状态,而对于这个层次的要求,是对于整个行业能有比较清晰深入的判断,能够感知未来技术发展的方向并为公司提前布局。
三、训练复合技能
除了编程之外,程序员要尽量培养一些其他方面的技能,例如演讲、写作等等。这样做一方面可以为程序员提供一些兼职机会,如主讲技术相关的直播课程、参考文章或书籍的撰写等。类似的机会在提供报酬的同时也会增加员工的知名度和行业影响力,更有甚者,在社交媒体上发表了相关文章之后,吸引了一批志同道合的同行,开始合伙创业,有了更大的机遇。
四、建立技术体系
在我的群里有这样一套技术学习体系供大家提供学习思路:
一:常见模式与工具
学习Java技术体系,设计模式,流行的框架与组件
常见的设计模式,编码必备
Spring5,做应用必不可少的最新框架
MyBatis,玩数据库必不可少的组件
image.png
二:分布式架构
高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:
分布式架构原理
分布式架构策略
分布式中间件
分布式架构实战
image.png
三:微服务架构
业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?
微服务框架
Spring Cloud
Docker与虚拟化
微服务架构
image.png
四:性能优化
任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:
性能指标体系
JVM调优
Web调优
DB调优
image.png
五:工程化与工具
工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:
Maven,项目管理
Jenkins,持续集成
Sonar,代码质量管理
Git,版本管理
image.png
如何一起学习,有没有免费资料?
image.png
以上是自己收集总结的Java架构技术图谱,自己因为比较喜欢技术,所以收集了一些Java高并发、分布式、JVM、spring、源码分析和kafka等架构技术资料,如果你也对技术感兴趣可以来我的Java后端社群:964357187,可以到群里来下载这些资料,欢迎大家进群讨论与学习。(感兴趣的转发分享下哦)
有疑问加站长微信联系(非本文作者)