频繁跳槽、员工流动……这些现象在IT行业已经时有年日。程序员不仅工作稳定,环境优越,有弹性时间,还有高薪收入。那为什么工程师们要另寻高就呢?
这有一篇来自betterprogramming.pub的文章,作者根据自己搜集的数据,工作的经验进行分析,展示这个现象现在有多么稀松平常。这些文字将回答这个问题:为什么程序员不应该在同一家公司待太久?
数据分析
曾几何时,许多员工会选择在一家公司一直工作到退休。比如日本就流行终身雇佣制和家族企业。但现在情况变了,如今的时代找新工作变得更加容易,在技术领域上,这个现象体现得更为明显,业界普遍不认为程序员/开发人员会在一个工作岗位上停留10-15年以上。
环顾身边,你也许可以找到那种程序员从事一份工作长达10年或更长时间的情况。但如果去询问一个在这个行业工作不到5年的程序员,他们中的大多数人会说,他们对这份工作不感兴趣。
下面的这张图表,收集了居住在旧金山的一万多名软件工程师的数据,其中主要是一些科技巨头的程序员任期时间的中位数。
在这些大公司中,几乎50%的程序员在两年内离职,75%的程序员大约在三到三年半的时间内离职。而其他行业专业人士的平均任期是4.2年,这是非常低的。
即使如此,科技巨头实际上依旧更有能力留住程序员;创业公司和中等水平的科技公司的情况要糟糕得多。
经验分析
原作者用自己作为招聘人员的经验,述说了他眼中的程序员是怎么样的。
我在面试中遇到过很多程序员。我总是问他们的上一份工作如何:在哪里工作,在那里工作多久,或者为什么离开。我不能说出确切的数字,因为我没有统计,但我发现几乎70-80%的面试者在两年内辞去了他们的上一任工作,而我很少找到在一家公司工作5年以上的求职者——也许在200多个候选人里能有两三个。
在初创公司,我看到的更少。因为在一家公司工作了很长时间的开发人员通常不会来一家初创公司工作。
那么,根据这些资料,该怎么得知程序员不应该在同一家公司待太久的原因呢?
以下总结了两大原因:
1、渴望学习的机会
学以致用,往更高的境界学习是程序员在职一段时间后应该离开的最大原因。
在程序员职业生涯的早期阶段,程序员需要学习很多东西。比方说在入职的第一年,公司和新来的程序员都从彼此学到了很多东西。公司从他们以前的经验中学习,程序员从他们的技术堆栈、项目和高级开发人员中学习。
在一个公司工作一年后,一个程序员会建立一些项目,并成为一个重要的员工。但通常情况下,程序员并不这么认为。他们会陷入重复的维护,失去继续学习新事物的机会。因此,程序员从同一家公司学到的东西会越来越少。
当然——如果这家公司是一家科技巨头,还是会有新的见识。但在中小企业中,只会更加缺乏成长,这可能是程序员离开小公司更快的原因之一。
下面这个图表显示,小公司的软件工程师平均任期只有1.5年,而大公司则是2.3年。
问题是,学习的终点在哪里?相信随着年龄的增长,便不得不承认学无止境,天外有天。但是这并不意味着你在整个工作生涯中都要频繁地更换工作。大约10年之后(或多或少),你就可以被提升到一个不需要频繁跳槽的职位。但十年,对一个小白程序员来说,仍太遥远。
2、寻求更好的职业
科技在不断发展,技术堆栈的变化比以往任何时候都要快。这就是为什么学习对程序员来说是一个永无止境的过程,却也是为什么编程是世界上独一无二的工作之一的主要原因。
程序员的跳槽,不仅是为了学习,也是为了更好的事业。在一家公司工作会减缓职业发展。通常,一个公司的发展速度并不像程序员发展他们的技能那样快。
在这种情况下,公司无法满足开发商的需求。所以,即使程序员做到了忠心耿耿、兢兢业业,即使程序员能在原本的公司寻找到学习的机会,也应该在觉得自己值得拥有一份更好的工作时毅然离开。
总结
那么,程序员应该选择什么时候离职呢?
老实说,没有正确的答案。一篇文章无法决定一个人的职业生涯,本文仅为分享一些观点和数据。有许多跳槽的人,比那些长期呆在一家公司的人获得了更好的地位。它也会增长一个人的自信和对自己未来的期盼。
一个人不会因为现在的公司陷入了危机,而遭遇很大的麻烦。但如果一个人在公司里郁郁寡欢或受到不公正的待遇,那就应该去想是否要早点离开。
你为多少家公司工作过?
请在评论中与我们分享你的经验!
(文中图片和统计数据源自原作者)