本文来自黑马程序员Java的童老师公开课:
🥇曾任技术总监,管理超过30人的技术团队;
🥇12年技术开发经验,近7年从事开发管理工作;
🥇精通Java,对高可用、高并发、微服务架构有深入研究;
🥇精通前端技术栈,如AngularJs、Vue、ReactJs、Flutter等;
🥇对ERP、直播项目、自媒体类项目均有涉猎;
如果大家有以下烦恼,可以认真阅读文本:
❓抱怨薪资太低,但是又不敢跳槽?
❓想要努力提升,又找不到方向?
❓刷题、写简历、准备面试太麻烦,提不起劲?
❓嘴上说着想努力,身体缺很诚实地选择躺平,到夜深人静的时候才满怀负罪感;
其实是没找对方法,方法对了,提升没那么难。
本文逻辑为:
文章目录
一、判断自己应不应该跳槽?
大家可以根据上图逻辑对于自己跳槽进行一个判断。
如果不跳槽需要:
想办法提升自己,成为企业需要的人;
可以适当忽略短期利益,只要价值提升,就一定会收获对应的回报。
二、跳槽需要了解岗位横向/纵向发展路径
了解各个岗位的职责与前景;
对晋升路线要有认识;
2.1 企业需要什么样的人?
知道企业的需要,才能更有效的提升自己。
企业需要能统筹协调资源的人:
资源:人员、技术栈、项目、渠道、品牌…
统筹协调:对资源进行管理,并且借助资源产生一定的价值。
说白了,可以带着不同岗位的人一起做事;或者可以将多种技术栈进行结合开发。
技术经理:
架构师:
总结
技术专精:那么除了将本岗位技术研究透,还要更多地去涉猎其他技术栈。并且需要具备快速学习能力,在未来新技术出现时,能够快速掌握。
管理专精:那么你要不断地考虑,如何优化现有资源,让其产生更到效益。并且要不断思考,如何管理更大的团队,管理更多样化的团队。
三、只想专精自己的本职技术?
被市场需要的技术才值钱;
只专精一个技术风险太大,没有需求,你再努力也没用;
增加技术涉猎,培养对新东西的敏感度,才能不被淘汰。
跳槽
应该正确地认识和对待跳槽这件事,把每一次面试当成是造火箭;
每次跳槽,都是因为原公司存在某些不足,期望在新公司能得到改变。
如果不认清你想要什么,目标是什么。
那么进入新团队很有可能还会遇到原公司的一些问题。
四、对于跳槽的前置思考
第一:确定目标薪资
第二:建立期望团队画像
4.1 团队画像
团队到底什么样?我们来用几条标准描述。
有稳定的盈利模式
具备开放的晋升条件
做的事情和公司主营业务紧密相关(不能产生金钱效益就没有地位)
大平台
行业有巨大潜力
4.2 选择团队的逻辑:找一家能才持续工作10年以上的公司
有关团队选择的总结:
确定目标薪资
先认清跳槽成本
建立期望团队画像
稳定盈利模式
开放晋升条件
工作内容有企业主营业务紧密相关
五、如何拿高薪offer?
写简历和面试的表现是拿高薪offer的关键。用一份我们真实面试过的简历作为例子。
问题在于:
- 没有对齐,看起来就不舒服
- 不重要的信息产生干扰
- 技术栈大小写不严谨
- 技术描述有误
- 无意义的技术栈乱摆
- 项目名称函数(不真实)
- 项目介绍过于简单
- 从你做的事,只能看到你在搬砖,完全没有体现价值
5.1 简历正确写法
5.2 觉得写简历麻烦?
简历 = 基本信息 + 技术栈 + 项目介绍;
有实际工作经验的人,最多花你1~2天时间;
简历可以多次使用,下次跳槽只需简单修改即可;
5.3 简历中的技术栈应该要写什么?
除了写自己擅长的,还要写企业想要的;
如果你有期望加入的企业,应该多研究这些企业岗位想要什么技术栈。
步骤:
- 确定期望加入的公司名单(1~2家)
你不可能对所有的公司进行分析,那么你就重点分析期望加入的公司
并且把期望公司的面试安排在最后(难打的boss,放在后面才有胜算) - 分析公司的招聘需求,根据招聘需求优化技术介绍
5.4 公司需要的技术栈
通过职位描述提炼重点信息:
并发场景开发
并发、IO、JVM
SpringBoot
分布式系统开发
原简历:
企业需求:
技术栈说明优化:
熟悉多线程开发,线程池,线程锁;
熟悉JVM内部原理,内存模型,GC等;
熟悉SpringBoot框架,了解starter原理,自动装配原理。
熟悉基于SpringCloud的分布式项目搭建,熟悉Nacos、Gateway、Hystrix、Feign等组件。
熟悉并发场景处理,常用Redis、RabbitMQ等进行并发场景处理。
熟悉Linux,熟悉Shell脚本、熟练使用Docker进行环境部署,项目发布。
5.5 项目就是最好的竞争力
写项目的关键点在于:
数据化
功能点与技术结合
统筹能力
遇到的问题、难点、优化点
数据化
并发量/数据量/工作结果
比如:
实现秒杀功能,秒杀接口最大可支持10000TPS;
MySQL单表数据量达到5000W,负责优化MySQL,保证数据高效查询;
使用Redis进行接口缓存优化,优化后接口查询速度提升80%;
功能点与技术结合
一句话说明功能点是做什么的,并配上1~2个技术关键词,并说明对技术应用的考虑。
反例:负责开发登录功能;
正例:负责开发登录功能,使用JWT生成Token,结合ThreadLoacl + 拦截器实现全局Token校验,减少代码冗余量,方便对代码进行维护。通过我的优化,节省了10%的冗余代码量。
技术栈优先程度:分布式/集群/并发/多线程/MySQL优化/单体架构框架
统筹能力
架构设计能力
多种技术栈的掌握和应用
单体系项目搭建能力
带新人,带团队,项目牵头能力
紧急项目、高强度任务下、顶住压力获得良好结果
遇到的问题及优化点
实际工作中遇到什么问题,如何解决,最终取得什么结果?
主动进行代码优化,获得什么提升(数据化)?
想不出问题怎么办?
靠积累和记录:每次花时间解决的问题,要将详细思路进行记录。
问题牛不牛逼不重要,面试官想知道的是:你在进行平凡工作时是否有自己的思考。
简历项目的优化
原简历:
调整后的简历:
项目:闪聚宝聚合支付平台
开发框架:
SpringCloud,RabbitMQ,Redis,MySQL集群
项目描述:
闪聚宝是一个提供聚合支付的SaaS平台,目前主要业务是线上聚合收银台,线下C2B一码多付、B2C商家扫码。
职责描述:
负责对接第三方支付,结合RabbitMQ以支持并发支付场景,可支持每秒1万笔支付;
负责后台数据报表统计,使用Redis进行优化,接口性能提高80%;
负责SaaS平台的分布式架构搭建;
负责项目Redis、MySQL的高可用;
六、考证/靠学历是否有用?
关键从投入产出比去考虑问题
你需要投入什么
你能获得的回报是什么
要背的太多,记不住怎么办?
制定可执行的学习方案;
将学习融入工作,利用好碎片化时间;
边学边记录。
6.1 制定可执行的学习方案
定一个明确的目标,什么时间要学到什么程度;
比如:我在这个月月底,要把SpringCloud 50道面试题刷完;
安排固定学习时间,每天早上提早半小时或一小时到公司;
在精神饱满没有人打扰的时候,学习效率更高;
持续推进;
6.2 将学习融入工作,利用好碎片化时间
在乏味的工作中,寻求一些创新;
深追工作中的bug、排查的过程是宝贵的经历、记录下来未来在简历中体现;
少一些划水、给自己定短期目标、根据目标去执行;
你每天会感觉很充实、下班就可以随意方式,根本不用带着思想包袱;
6.3 边学边记录
大脑的优势/劣势:逻辑分析?数据记忆?
擅长创意类的工作,推理工作,特征识别
无法进行长期,稳定地进行数据记忆
根据大脑的特性,让大脑做擅长的事情,将大脑不擅长的事交给电脑去做
这样脑子可以腾出来做更多的事;
七、是否要裸辞?
裸辞相当于断了自己后路,面试时将缺少谈薪的底气;
面试没有那么花时间:
周末/午休/下班/纯电话/纯视频面试;
利用好身边的渠道:
BOSS直聘/脉脉/朋友圈;
八、面试时如何自我介绍?
面试官需要从你介绍中获得面试问题的切入点
希望了解你的:
项目经历/专业技能
表达能力,表述问题的思路是否清晰
8.1 自我介绍范例(时间不要太久,3分钟左右)
8.2 压力面试如何应对?
经验丰富的面试官喜欢给面试者施加压力,检验面试者抗压能力。
面试时应保持清醒头脑,不卑不亢;
被问到不懂的问题并不丢人,坦然承认即可。
8.3 连环提问如何应对?
保持清醒头脑,试着在回答中抛出其他知识点,将面试引导向别的方向;
或者通过反问,打破面试官的问题节奏;
8.4 模拟实际面试
每一次面试都意味着真实,高质量的实战经验
- 面试时记得录音(或者在面试结束后立刻记录);
- 每天进行复盘(复盘 -> 完善到面试题库);
如果能保证每次面试后都有成长,那么你就离目标越来越近了。