除了编写出色的代码之外还有未来吗?

已发表: 2022-03-10
快速总结 ↬许多开发人员在他们的职业生涯中达到了他们已经实现了许多目标并且对未来充满好奇的阶段。 尽管有些人有信心继续走同样的路,但其他人可能会感到有探索不同选择的冲动,在这些选择中,他们的技能可以用来对我们从事的项目和合作的团队产生更广泛的影响。 我探索了我们可以采取的一些不同方向以及可以在整个旅程中为我们提供帮助的互补技能。

让我们做一个快速练习。 假设您作为开发人员从事专业工作超过五年。 你已经通过数十个项目获得了实践经验,并通过学习新技术、工具和框架来保持你的技能。 您为不同的库做出贡献,定期重构您编写的代码,并定期与您的同事交换代码审查。

但是后来有人上来问你一个你还没来得及弄清楚的问题:十年后你在哪里看到自己?

您可能会担心这样的想法,即如果您继续沿着相同的道路前进,您将只是一个年长的开发人员,他们的代码会更好、更快。 一些开发人员对此想法感到满意,并且迫不及待地想继续沿着这条路走下去。 但其他人可能会意识到,你所经历的这种过山车式的课程和成长正在迅速转向巡航控制模式。

一旦你觉得你完全控制了你作为开发人员的角色,你就会开始渴望做更多的事情。 不是更多相同,而是更多的个人成长。 也许有些不同。

在过去几年的职业生涯中,我一直在寻找答案。 我有机会与许多成功的开发人员一起工作(并向他们学习),他们成功地过渡到了极具影响力的角色,并充分利用了他们的技术背景。 他们每个人都探索了一条不同的路径,在这些路径中,他们能够根据自己的核心技能和互补技能之间的平衡进行有机过渡。

跳跃后更多! 继续往下看↓

我们可以从这里去哪里?

我们可以探索一些新的道路,这些道路可以迫使我们超越自己的舒适区,同时受益于我们努力培养的技能。

作为开发人员,我们阅读的大部分文章、编程书籍,甚至同行的建议,都是为帮助我们只专注于编写更好的代码而量身定制的。 除此之外,我们并没有真正被教导如何更好地工作,或者,从更哲学的角度来看,如何发展。

我们通常不知道在实现我们开始职业生涯时为自己设定的目标之后会发生什么,或者在我们的余生中,除了每天编码八小时之外,我们还有什么想做的事情。 如果我们在不久的将来要做一些除了编写代码之外的事情,甚至低估我们对团队的可能贡献是很常见的。 我们不确定如何才能产生更大的影响,尽管在更具影响力的职位上肯定需要我们的观点和技能。

聆听行业

早在 2008 年,当我开始作为前端开发人员的职业生涯时,世界上没有人没有听说过马克扎克伯格,这位年轻的程序员在改变人们交流方式的同时成为百万富翁。 千禧一代开始浪漫化穿着连帽衫合法致富的想法。 突然之间,几乎我这一代的每个人都想成为一名开发人员。

现在,十多年过去了,我们开始感受到编程热潮的真正影响。 通过今年的 Stack Overflow 调查,我们了解到超过三分之二的受访者的专业编码经验不足十年。

我们可以清楚地看到,具有领导技能的经验丰富的开发人员非常稀缺,因此现在公司必须找到创造性的方法来预定他们最优秀的人才,以便他们可以监督更多的初级开发人员并保持工作质量。 这在成长中的团队中创建了一个有机的领导结构。

该行业继续快速发展,我们作为开发人员的角色也是如此。 最初是程序员的董事和经理变得越来越普遍,而且公司现在正在开放更多需要开发背景的领导职位。

可以肯定地说,尽管编程被认为是下一个蓝领工作,但开发人员的角色正在成长为组织内极具影响力的职位。 但是没有书面的路线图或经过验证的公式来指导我们完成过渡。

我们有哪些选择?

在我的职业生涯中,有人问我一个关于我为自己设想的未来的可怕问题。 我没有答案。 事实上,它引发了更多我没有想到的问题。

我已经在担任前端负责人,所以除了编写代码之外,我被赋予了越来越多的责任,这让我想到了一个可能的未来,我可能不会在其中编程。 在不同项目中产生更大影响的可能性无疑是有吸引力的。

所以我开始研究哪些选项可能对我的未来感兴趣。 我研究了一些同事成功从开发人员角色转变为公司重要职位的道路。 大多数案例包括采取小步骤并在正确的时间出现在正确的地方。 但总的来说,他们最终都参与了这三类主要活动:

  1. 管理团队和项目
    带领一群人走向伟大听起来令人兴奋,但这并不容易。 作为经验丰富的开发人员,有许多增长选择,包括将一组开发人员作为一个团队管理或跨多学科团队管理项目。 尽管这是一个非常有价值的选择,但它需要离开键盘并学习委派,这对于习惯于亲自解决所有问题的开发人员来说可能非常棘手。

    继续前进到一个我们可以更好地控制流程的位置,并且围绕它的团队很可能会导致需要牺牲我们在代码方面习惯于拥有的控制权。
  2. 指导和培养人才
    有多少老板幻想着克隆他们的顶级开发人员? 在现实世界中,这仍然不太可能发生,因此聪明的老板会做下一件最好的事情:他们建立流程,让最精明的编码人员可以积极地将他们的知识传递给他们的同事。

    我们必须记住,即使一些开发人员在他们的日常工作中自然而然地这样做,如果高级开发人员被赋予更正式的角色,他们可以定期分配时间来促进他们的成长,这总是更有效。团队。 这可以通过代码审查、研讨会和与一些同事的个人评估来完成。
  3. 从事技术业务
    经常听到开发人员抱怨项目在出售给客户时是如何推销或定义的。 而且,在大多数情况下,抱怨通常为时已晚。

    根据我的经验,我发现自己在销售期间参与开发人员的项目上工作更开心。 有一个逻辑思维的盟友在没有其他人有线索的房间里标记潜在的技术问题总是很棒的。

    顾问和技术总监的角色在大型数字项目中至关重要。 在任何项目开始时,开发人员参与客户研讨会和起草技术文档可能会改变项目生命周期的游戏规则。

开发一套新工具

假设我们想要继续成长,并想要开启一个我们想做的不仅仅是编写代码的未来。 一旦我们对前进的方向有了一个想法,我们很可能还没有为飞跃做好准备。 毕竟,我们只是专注于获得使我们成为更好的开发人员的技能。

一旦我们意识到我们有很多东西要学,我们就需要开始学习正确的技能。 这一次会有所不同:我们不会学习新的语言、框架或库。 我们将需要储备过去可能并不重要但对于在这些不确定领域采取下一步措施至关重要的技能。

沟通

对于任何在任何公司工作的人来说,这都是一件轻而易举的事。 众所周知,沟通是任何类型组织内协作的核心。 不幸的是,多年来,程序员一直在这个领域获得免费通行证。 寻找有逻辑思维、勤奋工作、充满激情的人的需求使我们能够茁壮成长,而无需真正拥有出色的沟通技巧,甚至不需要成为一个非常社交尴尬的群体。

如果我们有任何与不同团队和客户合作的愿望,很明显我们将不得不努力改善我们沟通的各个方面。 从现在开始,一对一的会议、演示文稿和重要的电子邮件都需要仔细打磨。

所有权

逻辑思维模式影响了我们组织工作的方式。 作为开发人员,我们通常对我们的工作从哪里开始和结束在哪里有一种非黑即白的感觉。 当它使我们能够清楚地了解需要我们完成的工作时,这是积极的,但有时会阻止我们突破界限并在舒适区之外工作。

业务的首要任务是开始对我们参与的工作的所有方面拥有所有权。通过模糊定义开发人员工作结束的界限,我们能够承担新的责任并最终过渡到不同的角色。

领导

无论我们在职业生涯中走向何方,我们都需要队友信任我们。 我们需要他们知道我们正朝着正确的方向前进,即使暂时还不是很清楚。

为了实现这一点,我们需要能够证明我们的知识,我们需要对自己的决定充满信心,我们肯定需要能够承认我们的错误并迅速从中吸取教训。

这不是一项简单的任务,也不是您可以核对清单的事情。 只要我们希望在发展泡沫之外继续成长,就需要我们的奉献精神。

开始工作

一旦我们确定要在职业生涯中实现飞跃,我们就必须开始朝着正确的方向前进。 第一步是探索选项,决定你想走哪条路,看看这条路如何与你当前的角色保持一致。

您的公司是否提供了一个可以让您成为导师或经理的空间? 你认为那里有机会实现它,还是你认为你需要在其他地方继续增长? 这些只是您必须问自己的一些问题,也将导致与您的一些队友和经理进行对话。

朝着新的方向迈出一步需要付出努力,保持开放的心态,并有足够的韧性去失败并重试,尽可能多地尝试。