开发人员会犯的7个致命的职业错误

失败可能导致成功,但盲目的自满是职业杀手

维基百科

你会发现很多关于失败的励志短语:快速失败,失败塑造性格,成功的关键是失败,错误让你成长,永远不要害怕失败。但是,错误地攀登软件业顶峰的想法可能是不正确的。每个开发人员在职业生涯中都会有自己的失误,但为什么不学习其他人的经验,以避免代价最大的错误呢?

这就是我们所做的:我们与一些技术专家进行了交谈,他们帮助我们确定容易避免错误的领域。毫不奇怪,一个优秀的开发人员职业生涯的关键是对称的:例如,不要在一堆东西或工作上呆太久,但也不要频繁切换语言和雇主,以免引起注意。

以下是一些工程师职业生涯中最引人注目的陷阱——当你在一个不断变化的科技市场中前行时,你可以很容易地避免的雷区。

错误1:停留太久

如今,作为一名开发人员,在一家公司干上几十年是很少见的。在很多方面,这是一种荣誉勋章,显示了你对公司的重要性,或者至少显示了你生存和发展的能力。但那些只在一家公司工作过的人可能会突然发现自己在裁员或“适当裁员”(这取决于当时流行的流行词)方面走错了方向。

普拉文·普里,管理顾问

“你在一个职位上呆的时间越长,你的技能和薪酬停滞不前的程度就越高,你就会感到无聊和不安。”——Praveen Puri(管理顾问

在一个地方呆多久,大家意见不一。普拉文•普里(Praveen Puri)是一名管理顾问,在创办自己的公司之前,他做了25年的开发人员和项目经理,他不怕给出一些数字。

“你在一个职位上呆的时间越长,你的技能和薪酬就越停滞不前,你就会感到无聊和不安,”普里说。另一方面,如果你在不到两年的时间里换了多个工作,这就发出了一个危险信号。根据我自己的经验,我在一份工作上干了14年,但时间太长了——我应该在6年之后就离开。我在平均四年后离开了其他职位,这可能是正确的。”

Talent Inc.的首席技术官亨德森(Michael Henderson)认为,在一个地方待太久会有两个主要缺点。“首先,你会面临接触新方法和新技术的风险,”他说,“其次,你的职业关系网不会像更换团队或公司的人那样深厚和多样。”

把太多精力放在当前雇主使用的一堆东西上,这显然对公司有好处,但对你可能不是。

高级系统概念公司的高级软件工程师Mehul Amin说:“这对其他需要非常专业技能的雇主来说是一个好处,而且每个公司都是不同的。”但这可能会限制你的成长和其他领域的知识。显然,在一份工作上干上几个月并不适合你的简历,但是现在员工的流动率非常高,雇主希望年轻的员工,比如刚毕业的大学生,在长期留在公司之前能多做一些变动。”

错误二:跳槽

让我们看看另一面:你是不是频繁地四处走动?如果你担心这一点,你可以问问自己在这家公司工作的这段时间是否真的得到了你想要的东西。

希拉里·克拉夫特,Addison集团IT部门经理

“经常跳槽被视为一个危险信号。——希拉里·克拉夫特,Addison集团IT部门经理

查尔斯,苹果设备管理公司专业服务主任JAMF软件,说招聘经理可能犹豫如果他们想有人很长一段时间:“相反的,如果一个组织通过开发者每年燃烧,使一个员工在一个公司10年可能代表一个具有挑战性的文化适应。我花了很多时间发展我的员工,所以我希望他们长期陪伴在我身边。不过,换工作可以让你接触到很多不同的技术和技术。”

MediaMath的工程副总裁本•多诺霍(Ben Donohue)警告说,那些太快离开的人可能无法看到项目的整个生命周期。

Donohue说:“这样做的危险在于,你会成为一个唯利是图的人,一个被雇佣的枪手,这样你就会失去对一种产品产生主人翁意识、与人们建立持久关系的机会。”“作为一名技术人员,无论你多么有才华和知识渊博,你仍然需要从用户的角度看问题的能力,而了解你的软件满足的用户需求以及他们如何使用你的产品,是需要时间的。”

Addison Group的IT部门经理希拉里•克拉夫特(Hilary Craft)直言不讳地表示:“频繁跳槽可以被视为一个危险信号。雇主雇佣员工的依据是技术技能、可靠性,通常还有文化契合度。稳定性和项目的完成通常是这些招聘需求的补充。对于承包商来说,在进入下一个角色之前完成每个项目是一个很好的规则。一些专业人士倾向于‘收费商店’以尽可能高的时薪,但反过来却断送了后路,这样做从长远来看是没有好处的。”

错误3:拒绝升职

在每个开发人员的生活中,都会有这样一个时刻:就这样了吗?如果你更喜欢编程,而不是主持工作,你可能会想,原地不动会不会让你的事业停滞不前。

“进入管理层应该是一个谨慎、深思熟虑的决定,”人才公司的亨德森说。“管理是一种职业转变——而不是技术轨道的逻辑发展——需要一套不同的技能。此外,我看到很多公司把优秀的技术人才推入管理层,因为公司认为这是对员工的奖励,但结果却是对经理和公司都是一个错误。”

斯科特·威尔逊,汽车公司产品营销总监

“每个人在职业生涯中都应该至少做一次管理工作,哪怕只是为了深入了解管理和公司运营的原因和方式。”——斯科特·威尔逊(Scott Wilson), Automic公司产品营销总监

管理顾问普里说,要了解自己的工作环境,并补充说这个问题没有放之四海而皆准的答案。

普里说:“在我工作过的一些地方,不满的经理没有实权,文书工作和会议负担过重,不得不玩政治。”“在这种环境下,最好还是继续发展。从长远来看,我建议每个人都进入管理层,因为发展职业生涯在20年后就会停滞,你不会得到更多的报酬。”

另一种看待这个问题的方式可能是自我保护。Automic的产品营销总监Scott Wilson问了这样一个问题:“他们会让谁来代替你?”如果不是你,他们可能会提拔最不称职或最令人讨厌的员工,只是因为失去他们在基层的工作效率不会像失去更多合格的员工那样严重。有时候接受升职可以让你——还有你的同事/朋友——掌控你工作日的快乐。每个人在职业生涯中都应该至少做一次管理工作,哪怕只是为了深入了解管理和公司运营的原因和方式。”

错误4:不付出

一个不太明显的错误可能是过于关注自己的职业生涯,而不考虑办公室里的初级开发人员。当团队需要领导时,那些与年轻程序员结对的人往往会被选中。

“我发现,指导初级开发人员让我的工作做得更好,因为通过教授任何学科,你都比通过其他任何方法更深入地了解它,”Automic的威尔逊说。“此外,由于开发人员经常难以掌握人际关系技巧,辅导为他们提供了很好的机会,可以提升这些人际关系技巧。”

如果经验是最好的老师,教别人只会加深你的知识,JAMF软件的Edge说。也就是说,他不会因为一个忙碌的开发人员还没有出现这种情况而指责他。

Charles Edge, JAMF软件专业服务总监

“当高级开发人员没有时间指导年轻的开发人员时,我完全理解。但不要说这是因为‘我不善与人相处’。”-- Charles Edge, director of professional services, JAMF Software

Edge说:“让我们面对现实吧——没有任何一个开发团队有足够的资源来满足产品管理层的要求。”“当高级开发人员没有时间指导年轻的开发人员时,我完全理解。但不要说这是因为‘我不善与人相处’。”

错误5:坚持你的堆栈

你的专业知识在你目前的工作中可能是无价之宝,但这对你的职业有帮助吗?太专注于一个堆栈会有伤害吗?

MediaMath的Donohue对此毫不留情:“当然是这样——在现代软件工程中,你不会在整个职业生涯中只使用一种技术。如果有一个已经在Java领域工作了10年的Java开发人员,突然开始开发JavaScript应用程序,那么他编写的代码就会与具有类似经验的Python开发人员不同。你学到的每一种技术都会影响你的决定。有人会说这不是一件好事——如果你用Java面向对象的方法来处理像JavaScript这样类型松散的语言,你会试图让它做一些它不应该做的事情。”

Talent Inc.的亨德森说,过于专注于一堆东西可能会损害你的发展轨迹,不过原因可能和你想象的不同。

亨德森说:“每一组员工都有不同的文化和观点,这最终将拓宽并加速你的职业发展。”例如,我发现许多c#开发人员只知道微软的生态系统,当有一个更大的世界在那里。Java可以说有最好的生态系统,我经常发现Java开发人员是最好的c#开发人员,因为他们有更广阔的视角。”

Automic的威尔逊表示,在进入另一个堆栈之前,对一个堆栈的熟练程度(而不是精通程度)应该是基准。

威尔逊说:“如果你擅长某项技能,但不一定很棒,那就该跳槽了。”“我不提倡平庸,恰恰相反。我的意思是,在你开始学习一项新技能之前,确保自己在该技能方面是优秀的、有能力的,或者高于平均水平,然后再考虑跳槽。”

最后,Talent Inc.的亨德森提出了这样的警告:“不要期望每种新语言都只是语法不同的旧语言。c#和Java的开发人员试图将JavaScript强制成为一种经典的面向对象方法,这给他们带来了很多痛苦。”

12 第1页
第1页共2页
工资调查:结果在