开发新人有必要考虑在工作一年后跳槽

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

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

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

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

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

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

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

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

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

1.心态不正,或者你被教育的“正”的心态是假的。对于一个抱着“公司即便有缺点,但是它培养了我,我需要报恩”之类心态的学生,公司非但不会阻止你留下来,反而有可能搞些手段挤兑你走,因为你的成本高于一个应届生,而普通公司根本不需要高级技术人员,可以看出这种被灌了鸡汤的思维模式不同于公司的思维模式。

2.技术不自信,总觉得自己才一年,周围同事和带我的人都比我厉害,而那个xx公司会不会面试很难?xx领域看起来技术那么厉害,我一个菜鸡还不能跳啊!久而久之过度谦虚的心理造成了自我认知和市场对你的认知之间的偏差,但是在做充分的调研后,往往会发现相关的领域可能并没你想得困难,你的同事可能也根本没多厉害,你自己也不low。

3.在第一次涨薪之后,总抱着还能再涨的幻觉,而企业的涨薪可能一年只有一次,幅度也很小,但是在这个阶段因为图样图森破,很容易被表面对你不错的老油条画饼忽悠。

4.进一步讲,我发现很多哪怕工作了很多年的程序员,都丝毫不了解经济学、组织行为学、心理学、管理学等等这些领域的通识,所以他们在思维方式上欠缺一整套体系,而是用一套不够理性的传统思维方式看问题。背后的原因很可能是心态不够开放,总不敢去接触新领域,或者盲目觉得某些东西是所谓恶的。

5.学生和社会有严重的信息不对称,甚至很多学校老师对企业的事都一窍不通,信息闭塞需要靠前辈在各方面开导,而刚毕业以学生的心态继续生活,势必会延续学生时代的某些局限性。要关注大环境,长者说,一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。

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

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

原文地址:https://www.cnblogs.com/hiroshi-cnblogs/p/10354565.html

时间: 2024-10-04 02:44:41

开发新人有必要考虑在工作一年后跳槽的相关文章

php大力力 [026节] php开发状态要随时做好整理工作

php大力力 [026节]  php开发状态要随时做好整理工作: 1.整理了开发目录,以及文件命名: 2.做了各个页面的快捷方式: 3.把浏览器safari的很多没来得及消化的页面链接,写入了我的在线日志:博客园_php大力力; 确保: 1.开发文件夹不要乱 2.不要打开N多网页 3.随时做好代码编写的文档辅助工作

让你提前认识软件开发(52):系统某模块工作原理详述

第3部分 软件研发工作总结 系统某模块工作原理详述 [文章摘要] 某模块在系统中占有非常重要的地位,该模块能够对符合条件的动态信箱进行清理.本模块直接清理的信箱包括:过期动态信箱.冷冻信箱和空动态信箱:删除非动态信箱由本模块发送消息到其它模块完成. 本文对该模块的工作原理的详细介绍,为相关模块的开发和测试提供了有益的参考,同时也有利于现场人员对本模块进行维护. [关键词] 系统  模块  数据库  流程 1. 本模块删除的信箱类型 本模块删除的信箱类型如图1所示: 图1 本模块删除的信箱类型 2

产品经理必不可少的在线敏捷开发工具,可将团队工作效率提高90%

互联网时代,IT技术飞速发展,市场瞬息万变,产品经理如何进行敏捷管理?团队如何快速高效交付软件产品?如何拥抱变化?下面我给大家推荐一款敏捷开发工具,可以协助大家在最短的时间内完成开发任务,以最快的速度交付有价值的软件,使客户满意.一个好的开发流程,对于项目的进行,更新和维护都起着至关重要的作用.CORNERSTONE敏捷开发工具适用于一些开发周期长,需求不明确,或者随时间渐进明确,频繁更新的项目.一. 产品与设计项目决定启动后,第一步就是项目组准备需求,整理出需求文档.通过建立一个公开需求池,向

交换机开发(一)—— 交换机的工作原理

一.交换机的工作原理 当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去.交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所有MAC地址与该交换机各端口的对应信息.某一数据帧需要转发时,交换机根据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即知道具有该MAC地址的设备是连接在交换机的哪个端口上,然后交换机把数据帧从该端口转发出去. 1.交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的

APP开发实战6-APP的切图工作

2.2APP的切图工作 最理想的情况是设计师给iOS APP和Android APP设计两套图片,实际中,设计师大都使用iPhone手机,没用过Android手机,且为了节约资源,设计师通常只按iOS APP的要求提供设计切图和标注尺寸. 以下是iPhone手机的屏幕尺寸和像素密度: 设备 屏幕尺寸 Reader 分辨率(px) 像素密度值 iPhone 3GS 3.5寸 @1x 320x480 163 iPhone 4/4s 3.5寸 @2x 640x960 330 iPhone 5/5s/5

项目开发和发版前的工作整理

最近做了一个项目,只负责前端部分,总结一下做项目中的坑. 首先是定位问题,我之前接到的通知是分析一下前端的工作量,进行一下人力安排排期,天真的我没有了解项目架构,仅仅是算了一下页面开发工作量和联调时间.事实证明,这个想法误导了我,后期吃亏了很多.在一个项目中,不管负责的内容多少,都要对项目的架构等有个整体的了解,对接多少项目组,什么样的架构,如何提测发版等对后期的开发很重要. 1.开发之前: 1.需求文档:接到需求之前需要仔细阅读,首先确定逻辑是否通,提出疑问.其次看一下处理流程,对需要对接的项

开发新人-代码管理工具

1.版本管理工具 1.VSS(Visual Source Safe) 描述:此为微软公司出品,与其.net平台可无缝衔接,适用于小型项目管理. 百度百科:https://baike.baidu.com/item/VSS 2.CVS(Concurrent Versions System) 描述:基于unix的开源版本管理工具.SS 百度百科:https://baike.baidu.com/item/CVS 3.SVN(Subversion) 描述:在CVS的基础上改良的版本管理工具. 百度百科:h

Linux C++ 开发常用工具,常用指令工作手册

vim常用: :set nu显示行数 :set mouse=a 鼠标滑动屏幕,:set ic :set noic 忽略不忽略大小写 /word_to_search\c \c表示忽略大小写 c小写忽略,C大写不忽略 比较两个文件不同: vim -d file1 file2: 然后使用“[c”跳转到前一个不同点,使用“]c”跳转到后一个不同点,可以使用Ctrl+w之后,左右上下进行替换. 如果已经打开了文件file1的情况下,可以在file1中输入:vert diffsplit file2,如果没有

工作三年后的总结

之前的收货:来公司前一直认为前端开发就是界面展示.与用户交互,展示的数据就是调用后台的接口生成的.之后了解到不仅如此,还必须要与客户端交互.最主要的收货就是能与不同技术的各部门进行联调,完成共同的目标.这也是最重要的,不能光自己写自己的不与人交流,否则是无法完成任务的.了解了公司中的开发模式,一个真正有用的开发模式和方案不是只适应于一个人或几个人的.要适合整个团队的模式才是好的开发模式.从刚开始的碎片化单独开发,样式脚本共用的模式,碎片上一般不会多人修改.但是样式脚本却会被多人修改.很容易被别人