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