初级开发人员在他们的职业生涯早期必须考虑的一个大问题就是,他是该离开还是留下。我在我职业生涯的早期发现,相对于我的同事我所得的报酬过低,而这仅仅是因为他们工作的年限比较长。报酬低也就算了,然而公司分配给我的工作量却是相同的,于是我的不满迅速增长。3 u! O$ G2 M& ~( B! f, O1 o
: t5 @# _. }) F& {
但是,这是我刚毕业就给了我一份offer的公司,并且支付我去纽约上了一个全面的培训课程,让我的职业生涯有了一个轻松又容易赚钱的开始,在我的很多同龄人甚至不能得到一份工作的时候。且不说跳槽的风险。要是我讨厌我的新工作怎么办?要是我不够优秀,竞争不到工作怎么办?我的身后再也没有“我是应届毕业生”这面保护大旗。 1 z6 f0 T0 ^. d2 o `2 p: h b! h' J8 H, J: U8 K' k
这是一个没有明确答案的有趣问题;在这种情况下,我确实只能跳槽,这是我能做出的最好决定,但是这绝不是标准。几年前,另一家公司想挖我,不过幸亏我拒绝了:不到12个月,整个团队都被解雇了。跳槽总是有风险的。 1 Z4 ~& P$ ^6 A9 m8 ?/ [: }: z# \' ^* r
所有你要做的事是彻底研究新的公司和团队,确保你会感到满意。直觉是这些事情非常重要的晴雨表。但是,在职业生涯中变动工作的好处是什么?有帮助吗?! H7 d- p. ~6 b+ \0 t
8 I: u. c+ N+ q# f1 X这个问题的答案和软件开发中大多数问题的答案一样,“要视情况而定”。跳槽固有地伴随着加薪,话说谁不爱钱呢;薪资通常是提高10%,但可能会多点或少点(这里有一篇令人惊叹的文章,讲得是一个人如何在对方原定目标的基础上又额外协商增加了15,000美元)。这理由可能已经足够让你跳槽了,并且这(以及工作满意度)的确是我第一次跳槽的主要的推动因素。 . C8 i8 t& S/ ^' h 1 ^! c$ ]3 p( e$ K' j但对生活和工作而言还有很多东西比金钱重要。工作满意度,工作与生活的平衡,以及职业发展都是非常重要的。生活中的绝大多数时间是耗在职场中的,所以快乐和满意是你应得的。之前的一代人习惯于半个世纪地忠于公司,即使他们讨厌他们的工作(主要是为了将来的退休金),现在的世界已经变得不同——一个人在一个岗位上一般只停留2-5年,并且就业市场非常活跃,特别是在软件开发这个领域中。员工和公司之间的双向忠诚度已经显著崩坏。如果你不喜欢自己的工作,那么你就应该考虑跳槽——开心和快乐是你应得的!( S- Q/ E% V8 U7 I- Y. l, b L
; ?, \9 k( u( `, E这同样适用于工作与生活间的平衡。这对我而言尤其重要。尽管我享受于我的工作,但我是为了生活而工作,工作并非是我生活的全部。我有一些朋友经常熬夜工作,甚至有时候周末都要去加班赶进度,因为他们承受了太多的压力。在我最近写的一篇文章中,有人评论说,他们没时间写是因为他们工作的时间太长了。对于你这样疯狂的加班行为,公司不会阻止你,因为通过延长工作时间可以有效地得到免费的劳动力。如果你正处于这样的情况,那么马上换工作!好的雇主意味着在大多数时间里你都只需要付出合理的工作时间即可。现在是一个员工市场。很多公司都迫切需要优秀的开发人员,并且就业机会多于优秀人才。3 S9 L6 N, r. P4 K& P9 v. | O) }
7 Y1 |2 |) h# d0 G# K; E
跳槽到什么样的公司也会影响你的职业生涯,但总体来说只要你不是每6-12个月就更换雇主,那就是一件好事,因为许多雇主喜欢员工具有一定的稳定性。新公司往往是一个很大的挑战,但会有令人难以置信的学习机会,而提高技能的唯一途径是不断的学习。你将接触到新的技术和新的工作方式。有些方式会比你以前使用的更佳,但有些还不如你以前使用的。不论怎么样,你都是在积累知识。将来,如果你被要求,例如,运行团队,那么你就有经验了,可以借鉴以便于决定该怎么做。4 ^: s ?9 r! S2 o' i
7 g, R* |5 p/ l! v! n* G6 Q4 i0 Y我建议初级开发人员在职业生涯的早期,至少要跳槽一次,这样才能了解不同公司的文化,以及得到应有的薪资待遇。这将有助于你知道什么样的环境能让你快乐地工作。当然希望新公司就是那家能让你开心快乐的公司!我最近为我接下来要出版的书面试了一些高级开发人员,一般我们一致性地认为作为一个从低级走向高级的开发人员不一定要待过很多不同的公司,虽然一直待在同一家公司里可能会亮起一面小红旗,因为这会导致开发人员的固步自封和不思进取。( c; O; n+ A; v5 O+ o
一个一贯被提及的思想理念是内部调岗。这会减少你跳槽的风险,因为你依然在同一家公司中,但却可以去到一个新的团队——和新的同事互动,和新的技术、新的设计交互。我已经调过三四次了,所以我强烈推荐它,特别是如果你开始对你现在的项目或角色感到厌烦的话。 0 |* _# w$ r! W6 f( P6 W ' ^9 @: Q* J. E T/ G/ D3 E) F4 v那么,结论是什么呢?如果你是一名初级开发人员,那么一定至少要换一次雇主,并且每隔几年尝试轮换到新的团队。这是提升学习和知识并帮助你成为高级开发人员的最有效的方式。一个在同一个岗位干了10年的人,和一个在10年时间里担任过10个不同角色的人相比,虽然他们作为开发人员有着相同的工龄,但是后者拥有前者10倍的工作经验。2 b3 p1 O/ x- j! T3 ^