据统计,有32.98%的开发者在过去一年中曾换过工作,其中有72.5%的人实现了薪资上涨。而在未换工作的开发者中,约有59.3%的开发者同样能够涨薪。
谈到为什么决定跳槽,很多程序员都有自己的理由:
1 薪资不到位
由于随着加入司领的增加,互联网工作的人,薪水就会低于市场,甚至落后一大截,这是很多人跳槽的根本原因。这种一般是工程师比较常见。
2 干活憋屈了
薪资到位了,但是每天干的活感觉不如毕业生做的,都是体力活,每天重复一样的东西, 很多人就会出现反抗情绪,觉得这种活太Low,不符合自己的“段位”。就会选择离开。初创公司,外包公司的员工一般这种心态多。
3 加班多
程序员这行业加班是常态,绝大多数人是喜欢编程的,但也很厌烦持久的加班,所以一旦时间累积,就会导致大家跳槽。
4 技术无法提高
虽然做的东西是比较有难度的,但是每2个月换项目,或者换模块,也会导致很多人对做过的东西无法充分吸收,导致了大家其实啥都会,但是啥都不会的错觉,因此这种状况久了就会产生离职的念头。
5 厌恶领导
很多时候,程序员会出现讨厌上级的心态,上级的无能,上级的偏心,也会使下属产生想法,这种情况也会导致员工离职。
6 发展受限
工资到位了,技术也能提高,加班也不多,关系处的不错,但还是有些人会离职,这就是这个人职业发展受阻,一般是由于公司架构稳定,项目成熟的情况这种原因很常见,因此这种离职的人群一般分布在资深工程师以上居多。
如果上面有一条存在,可以忍受,2条以上就需要观望机会,3条以上那么必须要果断跳坑了。越久对自己职业发展收影响。但是还是看你目前的现状选择合适的公司是最为重要的。
但怎样才能跳槽到一个好的公司,也需要技巧,今天达妹就来给大家分享6招:
第一招、低调做人,高调做事(适用空降的领导)
无论是什么资质的企业,只要是在中国的土地上,做事就永远不是外国的那种“法、理、情”,而是需符合中国国情的“情、理、法”——“情”永远摆在第一位!所以进入一个新企业,你要彻底地放低自己的身架,与一起工作的同事打成一片。
第二招、多做自我反省
无论你做的事还是说出来的话,当别人误解时,你都不能说“你脑袋正常点好不好”?你应该说“哦!我是不是没交待(或没说)清楚?我再说清楚一下,我的意思是……”。
第三招、尊重新企业的原管理模式(也可说是企业文化)。
你要知道:企业管理是没有绝对正确与错误之分的,管理只存在“适不适用”的问题:能适用的就是“好”的,不适用的就是“错”的!
第四招、改革必须是“自下而上”进行。
现在很多跳槽者到新单位发现“问题点”后,针对这些问题点的解决措施,他们就只想“自上而下”推行,即:
首先,只与顶头上司(含老板)直接沟通,以为只要上司点头认可就可以推行,就可以实现自己的目标,如此就能体现自己的“价值”了!
而根本就没想到:就算上司认可了你的说法,但当你在推行时,一旦你底下有人不满意而成为你的“阻力”(这时你如果想靠你自己去排除这个阻力是有点不可能的了)时,你就会去请求你的上司协助(或出面协调)。
第五招、控制自己永远“不生气”,无论怎样,都要控制好自己的脾气!
工作上的问题,只能是一种同事间的相互影响!只能通过沟通、了解、商量及讨论去解决!而不能夹进自己的个人喜好——你没有理由去要求别人来依你的个性去工作,所以你有什么理由生气?
大厂对技术考核的3个层次
掌握了基本做人的5招,最后一招就是你的“硬功夫”了,啥都不会,凭什么跳槽?
大厂面试对技术的考核基本分为三个层次:对于基础知识的考核、对于项目经验的考核、对于项目深度的考核。
a.基础知识主要考核你对 Java 语言本身原理的理解以及各种框架的原理理解。知识点包括但不限于:
集合 HashMap 的原理,与 Hashtable、ConcurrentHashMap 的区别?
Java 线程池的核心属性以及处理流程
Java 并发包原理、Synchronized关键字、锁
线程的生命周期
JVM类加载机制
JVM内存模型……
面试官一般都会针对简历中描写的知识点刨根问底,不懂的技术千万不要写了解。前段时间参加技术沙龙,京东架构师张开涛、腾讯高级工程师刘泽峰都表示大厂招人现在更注重技术能力的细分板块,你必须在某领域有自己独到的理解。
b.项目理解一般会让你画个架构图,然后从架构图出发,你得清楚每个模块的作用,每个框架的原理以及与其他框架的区别。是否有能拿得出手的项目,并对其原理了如指掌,很大程度关系到你能否通过这次面试。
c.项目思考深度在这一个层次上考核的是你对开源框架的思考深度,这些框架到底好不好,好在哪里,不好在哪里,有什么可以改进的地方。你不仅要对项目本身理解足够深刻,还要跳出项目本身,去思考开源框架本身的问题。
那么要想成功进入BATJ等一线大厂,应该掌握哪些技术能力呢?
1、深入学习常用开源框架
为什么BATJ的面试官总是喜欢问源码?其实我们常用的Spring、MyBaits这样的框架可以说是JAVA里面最经典的教科书,从中你能学习到很多写代码的经验技巧,而去领悟开源框架中蕴含的优雅架构设计之道这才是最重要的。
2、高性能分布式系统设计与应用
根据双十一日志统计,前端系统有效请求约60w以上的QPS ,而后端cache的集群峰值近2000w/s、单机也近30w/s,互联网大厂的架构师面对的就是这样的生产环境,所以分布式、缓存、消息这样搭建高性能系统的技术必须掌握。
3、微服务(分布式服务技术)
微服务架构是一种架构风格,整个应用被划分并设计为以业务域为模型的松散耦合的独立服务,方便横向扩展能力、伸缩性强、便于开发和维护等等这些是微服务与生俱来的优势。
4、沟通合作的能力
程序员的战斗,往往不是一个人的战斗,我们如何在一个平台下高效的去重,进行代码review,对功能进行调整、debug,做到在统一的规划下步步为营,混乱的堆代码的过程中找到自己的记录。这一切都依赖于有效的工具,Git、Maven和jenkins。
下一篇:IT入行首选Java的10大理由