写在前面:近段时间,有很多程序员朋友问我年后会不会跳槽,以及跳槽是不是明智之举,这是很严肃的话题,我通常不会轻易发表建议,因为这个决定会对程序员的职业生涯和生活产生非常深远的影响。
很多人想要辞职但是因为怕被贴上“爱跳槽”的标签而裹足不前。从我观察的结果来看,很多程序员趋向于为了所谓的“声誉”而呆在老公司,但是在后期将两者相比较,“呆在老公司”的程序员处理问题的经验和职业发展前景远远不如那些频繁跳槽的。正如我以前曾经说过,有的公司甚至非常愿意在岗位上看到一些积极的人员流动。
程序员通常会因为一些比较常见的原因(例如产品发布失败、裁员、薪酬/福利减少)而辞职。有人可能会说,在一家濒临破产的企业学到的经验其价值远远大于在一家成功公司的经历。但是,如果你坐等“辞职”警报的响起,而恰巧碰到个假警报,你的职业生涯将万劫不复。
什么时候该考虑辞职?
首先你得已经成为公司里“最好”的程序员,或者你已经找不到可作为老师和导师的人
关于这一点,很多人都会过度自信,所以我们需要诚实地评估自己的技能。再则,即便你承认自己不是最好的,那么你去请教的“前辈”又是否乐意将他们的知识分享给你?是的,即使你所在的公司聘用的都是身怀绝技的牛人,但是如果这些人各忙各的,都不鸟你一下,那么这和独自工作又有什么区别?
如果使用的技术是非可持续发展的,那么你终将会被市场淘汰
要是你依然冥顽不灵地执着于扩展这些过时的、专有的或者非常特殊的技术,那么你这是在自掘坟墓。要是有哪家企业仍然在用某种语言或框架的早期版本,那或许恰好能拯救你。但是,你得明白,长时间地处在一个停滞不前的技术环境里,可比就职于同一家公司不断给他们改进工具要来得糟糕多了。
如果你一无所成
这也许并不是你的错。因为有可能是你的公司一直拖延发布,或者总是不能及时交付。这些问题来源于开发过程和管理决策,而与技术人才无关。如果你回顾自己在某公司所呆的分分秒秒,恍然发现自己竟然没有做出过丝毫有意义的成就(时间要足够长),那么奉劝你要好好思考“辞职”的问题了。
如果你的问题是薪水少,没有晋升空间
那么至少得有低于市场价格的原因。例如,能和一些特别优秀的牛人一起工作可能是第一大理由,而学习宝贵的技能和经验位列其后。如果你赚的钱不多,又没有什么积极向上的未来规划,那么建议你是时候重新考虑自己的选择了。
如果一些好的项目和晋升机会总是轮不到你,你的想法总是不在考虑之中
这说明你在公司眼里根本不重要。他们认为你足以胜任你的工作,却不曾视你为真正值得投资的长期资本。那么如果是这样,可以向新公司投递简历了。
如果你和你刚进公司那会的状况差不多
这里所谓的”状况“有多种含义。传统上面指的是财务状况(总得给你加薪水吧),在这里我们赋予其更深层次的意义,即技术能力、市场竞争力等。如果这些方面在经过一段时间以后仍然没有提高,那我要想问你了,你还有什么理由呆在哪儿?
如果日复一日你的工作没啥变化——长期又重复地只需要负责一些琐事,会逐渐磨灭人的意志,变得堕落。其罪魁祸首就是,你总是负责大项目和重要产品中一个微不足道的部分。
如果你毫无激情
很多软件开发的领域并没有外人想象的那么有趣。这这种情况下,如果有机会挑战身边的技术做出一些真正意义上的创新,或许有助于调整这种斗志萎靡的状态。但是要是你觉得你目前的工作毫无价值,完全激不起灵感的火花,那么不妨跳出那个圈子,找点自己感兴趣的事情。