你会发现,围绕着失败,不乏职业激励的话语:快速失败,失败塑造性格,成功的关键是失败,错误让你成长,从不害怕失败。但误以为自己是软件行业的佼佼者的想法可能是不合理的。每个开发人员在职业生涯中都会有自己的失误,但为什么不从别人的经验中学习,避免最昂贵的错误呢?
这就是我们所做的:我们与一些技术专家进行了交谈,他们帮助我们确定容易避免错误的领域。毫不奇怪,一个可靠的开发人员职业生涯的关键在于对称性:例如,不要在一个堆栈或工作岗位上呆太久,但再次不要频繁地切换语言和雇主,以至于你会发出危险信号。
下面是一些最显着的职业陷阱工程师 - 一个雷区,你可以很容易地避免,而你导航的高科技市场中总是不断变化的。
误区1:住太久
这些天也很少有一个长达数十年的运行作为一个开发者在一个公司。在许多方面,这是荣誉的象征,表现出业务,或者至少你要生存和发展能力的重要性。但是,这些谁建立了一个职业生涯只在一个公司可能会突然发现自己在裁员或者“合理精简”,这取决于当时的青睐流行语错误的结束。
意见对你应该留在一个地方的时间而定。普利文普里管理顾问谁花了25年开始了自己的公司之前开发人员和项目经理,是不怕摔了一些数字。
“你越停留在一个位置,越多,你的技能和工资停滞不前,你会觉得无聊和不安,”普里说。“在另一方面,如果你经过不到两年的时间切换多个作业,它发出了一个危险的信号。在我自己的经验,我停留太久,对我在那里工作了14年的一个工作 - 我应该六点以后已经离开。我离开了其他位置的平均四年,这大概是右后“。
人才公司首席技术官迈克尔亨德森(Michael Henderson)认为,呆在一个地方太久有两大缺点。“首先,你面临着限制接触新方法和新技术的风险,”他说,“其次,你的专业关系网不会像那些改变团队或公司的人那样深入或多样。”
过分集中于你的现在的雇主使用一个堆栈显然是伟大的公司,但也许并不适合你。
“这是其他雇主寻找一个非常专业的技能集的好处,每个企业是不同的,”阿明MEHUL,在先进的系统概念的高级软件工程师说。“但是,这可能会限制你的成长和知识在其他领域。在每个作业显然住了几个月不是你的简历有很大的样子,但员工流失率是相当高的这些天,雇主希望年轻工人像刚刚大学毕业,在一家公司保持长期的前位走动。”
错误2:跳槽
让我们看看另一面:你走动太多了?如果这是一个问题,你可能会问你是否真的让你从你的时间需要以坚定的。
Charles Edge, director of professional services at Apple device management company JAMF Software, says hiring managers may balk if they’re looking to place someone for a long time: “Conversely, if an organization burns through developers annually, bringing on an employee who has been at one company for 10 years might represent a challenging cultural fit. I spend a lot of time developing my staff, so I want them with me for a long time. Switching jobs can provide exposure to a lot of different techniques and technologies, though.”
这些谁上得太快移动可能不会看到该项目的整个生命周期,警告奔多诺霍,工程副总裁MediaMath。
“危险正在成为一个佣兵,一个枪手,你错过了机会,让主人翁意识在产品和建立持久的与人的关系,”多诺霍说。“无论你是作为一个技术专家多么有才华,知识渊博,你仍然需要看到从用户的角度看事物的能力,它需要的时间在一个位置,了解用户需求的软件地址,以及他们如何使用您的产品“。
希拉里工艺,在艾迪生集团的IT部门经理,让自己平淡的道:“常跳槽可以看作是红旗。雇主聘请基于技术能力,可靠性,和更多的往往不是,文化契合度。稳定性和项目完成经常补充这些招聘需求。对于承包商,这是一个很好的规则移动到下一个角色之前完成每一个项目。有业内人士倾向于“率店”赚取最高每小时收费可以,但反过来一刀两断,不会在支付从长远来看。”
误区三:薪火促销
有一个在每个开发人员的生活地步,你想:是不是这样?如果你喜欢编码多办展,你可能想知道,如果原地踏步,可能会延迟你的职业生涯。
“进入管理层应该是一个谨慎、深思熟虑的决定,”人才公司的亨德森说。“管理是一种职业转变,而不是技术轨道的逻辑发展,需要一套不同的技能。另外,我也看到很多公司把优秀的技术人才推到管理层,因为公司认为这是对员工的奖励,但事实证明,这对经理和公司都是一个错误。”
了解你自己的工作环境说,管理顾问布里,补充说,有没有一个尺寸适合所有人的答案,这一个。
普瑞说:“我曾在一些地方工作过,不快乐的经理们没有实权,文件和会议堆积如山,不得不玩弄政治。”。“在这些环境下,最好还是继续发展。从长远来看,我建议每个人都进入管理层,因为20年后,发展职业就会停滞,你将得不到更多的报酬。”
另一种看待这一点的方式可能是自我保护。Automic的产品营销总监斯科特•威尔逊(Scott Wilson)提出了一个问题:“他们会把谁放在你的位置上?如果不是你,他们可能会提拔最不称职或最讨厌的员工,仅仅因为从战壕中失去生产力不会像失去更合格的员工那样后果严重。有时候接受升职会让你——以及你的同事/朋友——控制你工作日的快乐。每个人都应该在职业生涯中至少从事一次管理工作,如果不是为了了解管理层和公司运作的原因和方式的话。”
误区四:不支付向前
一个不太明显的错误可能会停留太专注于自己的职业轨道,而不考虑在你的办公室的初级开发人员。当球队需要领导那些谁与年轻的程序员配对经常被窃听。
Automic的Wilson说:“我发现指导初级开发人员使我的工作做得更好,因为通过教授任何一门学科,你比通过任何其他方法都能学到更深的知识。”。“此外,由于开发人员经常与人际交往技巧作斗争,指导提供了很好的机会来提高这些人际交往技巧。”
如果经验是最好的老师,教别人只会加深你的知识,说JAMF软件的边缘。这就是说,他不记仇忙碌的开发人员,如果还没有发生。
“让我们面对它 - 没有开发团队不断有足够的资源来提供什么样的产品管理要他们”边说道。“当高级开发人员不必指导年轻的开发的时候,我完全理解。只是不说这是因为“我与人不好。””
误区5:坚持你的筹码
你在一个堆栈的专业知识可以让你非常宝贵的你现任的工作 - 但它帮助你的事业?它可以伤害过于集中在只有一个堆?
MediaMath的Donohue没有对这个问题提出任何批评:“当然,这是——没有现代软件工程的角色,在你的职业生涯中,你只会使用一种技术。如果以一个在Java领域工作了10年的Java开发人员为例,突然他们开始开发JavaScript应用程序,那么他们的编写方式将不同于具有类似Python开发经验的人。你所学的每一项技术都会影响你的决定。有些人会说这不是一件好事——如果你对像JavaScript这样的松散类型语言采用Java面向对象的方法,你会试图让它做一些它不应该做的事情。”
它可以伤害你的轨迹过于集中在一个堆栈人才公司的亨德森说,但也许比你想的不一样的原因。
亨德森说:“每一堆都会有不同的文化和视角,最终会拓宽和加快你的职业发展。”。“举个例子,我发现很多C#开发者只知道微软的生态系统,因为那里有一个更大的世界。可以说,Java拥有最好的生态系统,我经常发现Java开发人员之所以能成为最好的C开发人员,是因为他们有更广阔的视野。”
为Automic的威尔逊说能力 - 但不精通 - 一个堆栈应该移动到另一个之前的基准。
威尔逊说:“当你擅长这项技能,但不一定很棒时,是时候继续前进了。”。“我不是在提倡平庸,恰恰相反。我是说,在你开始学习一项新技能之前,在考虑继续学习之前,请确保你在该技能方面表现良好、胜任或高于平均水平。”
最后,人才公司的恒基兆业提供这样的警告:“不要期望陷阱,每一个新的语言仅仅是旧有不同的语法。C#和Java开发谁试图强行JavaScript插入到经典的面向对象的方法,引起了许多的痛苦“。