《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://cnblogs.com/hiroshi-cnblogs/p/10354565.html 「hiroshi_cnblogs」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

我已经在IT行业从事了六年半的开发工作,感觉到了这个年头,对行业也具备了一定的经验和认知,才敢拿一些经验出来给大家分享一下。

今天是二月初,马上就到“金三银四”的跳槽季了,今天想说的话题是IT新人绝对有必要考虑在工作一年后跳槽,中国是七月份毕业,毕业之前也应该有过半年的实习了,那么如果你现在已经毕业一年半了,我想你更应该仔细掂量掂量这篇文章讲述的内容,警钟长鸣在我看来是好的。

为什么说要跳槽呢,首先结合我自己的经验来讲,我不是名校出身,也不是计算机专业出身,通过野路子自学编程,毕业之后在一家没名气的软件公司干了两年有余,或许很多人都存在这种情况,就是由于学生的认知范围存在严重的欠缺,也可能是在自认为能力不牛逼的情况下着急就业,很容易就会进入“普通企业”或某所谓好企业的“普通IT部”,在这个阶段别提仰望大佬了,连大佬是什么、和仰望的正确姿势都不知道。注意,下文的情况即便不覆盖某些去了理想公司的优秀的毕业生,但是优秀毕业生或多或少同样存在下面所说的问题。

我刚入职的时候,也就是2012年,工资4500,半年后涨到6000,之后直到我离职一直都是6000,两年多后跳槽,在2014年中后期工资达到了13000(当年的2年经验正常水平),请注意不要用现在的物价和水平和本文中的数字来做仔细衡量比较,没有参考价值,现在回想在这个阶段如果我早一年跳槽,在各方面、至少在金钱方面都会有更大的收益。

一、在技术成长方面

虽然普通IT企业或者部门的技术或许比较老旧,但对于一个学生来说一开始的成长都比较快,但是经过一年左右的学习和业务开发,你就会发现,用到的内容都学得差不多了,身边的同事水平其实跟你差不多,难以给你很大的提点,部门还没有大拿(有也是因为业务懂得多做管理了),加上技术老旧工作内容重复,工作给你带来的能力成长会越来越快地降速,即便自己自学,也很难把新东西应用在项目中,且由于你是新来的,在一两年之后的认知看来,当年你写了很多糟粕,你不得不陷在某些很难还的技术债务里,同时如果部门整体水平差不多,你也要还之前的人的债。

二、在金钱方面

有两点考量,不考虑整体经济环境恶化与否,首先在企业里一年涨薪的幅度很有限,如果不升职级可能有8%就不错(即和近年单位人民币购买力的下降速度估计值打平手),而你在这一年获得的成长带来的实际市场价值增幅是远大于这个幅度的(当然,几年后技术成长带来的收益会下降,但是不是现在要关心的问题),假设你现在6000,一年后你的市场价值可能是8000,而公司可能只会给到你6500。再者你去面试,你目前的薪资会作为下家开价的参考,那么你在两年后跳槽,对方就会误认为你两年经验只具备6500或7000左右的能力,即“你不够努力”(你不能轻易高估HR的智商或把他们想得都是所谓好人),再基于这个数涨薪,而如果你在第一年就跳了槽,假设过一年后再跳槽,对方就会认为你的两年经验至少具备了8000元以上的能力。为了避免给下家造成这类错觉,也应该在一年的时候跳槽。请参考我个人案例中的数字,我跳槽时正是人民币贬值加速、移动开发泡沫和O2O泡沫兴起的时候,所以拿到了互联网行业相对正常的薪资,而普通IT公司的薪资是跟不上市场变化的。

三、在面试方面

作为技术面试官,最看重的并不在于你必须是大牛,而是,一你的能力是否达到了完成工作任务的基本水平,否则也不敢要你,二你的年限/能力/目前薪资三者是否真实匹配,而不论你做什么技术栈,对于两年的研发,要求通常是能在较少的技术指导下,能独立承担某个技术栈的大部分编码工作,以及具备初步的系统设计能力,但对一年经验的新人来说标准会相对放宽,不可能拿架构师的难题来吊打你,如果你在这个阶段足够勤奋,读了足够多的东西的话,应付这种级别的面试应该是足够的,甚至会给面试官超预期的感觉,但是当你到了两年乃至更长之后,面试官的标准会提高,会认为你明白某些东西是理所当然的,此时跳槽你就会丧失这个优势。

四、在软的方面

一开始就长期就职于一家普通公司极其不利于学生了解整个行业和社会,如果你不去一家更好的公司,你很难接触到更牛的人,也很难运用更多新的技术,视野会变狭窄,也无法接触其他业务领域、管理风格、文化风格等,其他的人脉什么的就更不用提了,这里个人情况不同,不再赘述,但是狭隘的视野范围对决策带来的负面影响是极其严重的,丝毫不亚于技术能力对你短期内薪资的影响。

那么作为一名新人,作出错误判断继续留下的问题可能在哪呢?我反思了一下大概有这些点:

  1. 心态不正,或者你被教育的“正”的心态是假的。对于一个抱着“公司即便有缺点,但是它培养了我,我需要报恩”之类心态的学生,公司非但不会阻止你留下来,反而有可能搞些手段挤兑你走,因为你的成本高于一个应届生,而普通公司根本不需要高级技术人员,可以看出这种被灌了鸡汤的思维模式不同于公司的思维模式。
  1. 技术不自信,总觉得自己才一年,周围同事和带我的人都比我厉害,而那个xx公司会不会面试很难?xx领域看起来技术那么厉害,我一个菜鸡还不能跳啊!久而久之过度谦虚的心理造成了自我认知和市场对你的认知之间的偏差,但是在做充分的调研后,往往会发现相关的领域可能并没你想得困难,你的同事可能也根本没多厉害,你自己也不low。
  1. 在第一次涨薪之后,总抱着还能再涨的幻觉,而企业的涨薪可能一年只有一次,幅度也很小,但是在这个阶段因为图样图森破,很容易被表面对你不错的老油条画饼忽悠。
  1. 进一步讲,我发现很多哪怕工作了很多年的程序员,都丝毫不了解经济学、组织行为学、心理学、管理学等等这些领域的通识,所以他们在思维方式上欠缺一整套体系,而是用一套不够理性的传统思维方式看问题。背后的原因很可能是心态不够开放,总不敢去接触新领域,或者盲目觉得某些东西是所谓恶的。
  1. 学生和社会有严重的信息不对称,甚至很多学校老师对企业的事都一窍不通,信息闭塞需要靠前辈在各方面开导,而刚毕业以学生的心态继续生活,势必会延续学生时代的某些局限性。要关注大环境,长者说,一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。

在这个阶段如果希望跳槽,一定要尽量去互联网好厂,而不是去一般IT公司或创业公司,因为创业公司死掉的可能性很大,需要准备在一年内再次跳槽,如果进不去一些好场,那么去一般产业的大企业IT部是一个或许可以考虑的选项,但是也要注意公司所处行业的前景和经济状况的关系,鉴别公司的方式比如可以考察它们的DevOps水平,甚至包括是否偏向于Y型管理风格,一般这方面做得比较好的都经过了至少一两年时间的打磨,有一定脱离软件作坊的意识,公司愿意在技术基础设施上进行投入,公司也偏向于更信任员工,这多少有利于留下一些人材。此外在技术的选择上,在这个阶段大可以放心地选择其他技术,比如从.Net转行做前端或者干脆去做NLP,或者去选择自己更看着眼馋的技术乃至岗位,大不必担心自己不会那些。此外,一年的新人如果去希望考研或者留学也没有太大的束缚,毕竟几年后工资涨了上去生活压力也大了,就更迈不出这一步了。

最后,如果大家对这篇文章有同感或者感到有帮助,欢迎留下你的评论。希望大家有计划地复习跳槽,同时也不要舍不得眼前的几个小利益,最终能把路走得更顺畅。

文章目录
  1. 1. 一、在技术成长方面
  2. 2. 二、在金钱方面
  3. 3. 三、在面试方面
  4. 4. 四、在软的方面