初级软件开发人员 (junior software developers) 正面临一个充满挑战的就业市场。远程工作的广泛普及、大量裁员以及人工智能 (AI) 的崛起为这一行业的新入行者带来了不少难题。以下内容介绍了如何帮助这些初入行的新人在职场上茁壮成长。
众所周知,与在办公室工作相比,许多软件开发人员更喜欢远程工作。根据 Terminal 在 2023 年对 1000 多名开发人员进行的调查,其中 80% 的人表示他们希望至少有 80% 的时间可以远程工作。但对于那些刚开始职业生涯的初级开发者而言,与经验丰富的同事直接合作,可以获得真正持久的优势。
负责远程和分散的开发团队的工程管理人员面临一个挑战:如何主动确保这些初级员工能够掌握成功开展工作所需的技能。
哈佛大学、纽约联邦储备银行和爱荷华大学的经济学家在最近的一份工作论文中指出,身体上的近距离接触可以增加指导机会。他们研究了一家财富 500 强公司的软件工程师,发现当这些工程师与他们的团队成员在同一座建筑中工作时,他们在代码上获得的反馈增加了 22%。研究人员还发现,“初级工程师重视指导,但觉得主动寻求指导的成本较高”,尤其是当他们与更高级的同事相隔较远时尤为明显。
重现办公室体验
管理者在缩小这一差距中起着关键作用。Codingscape 的首席技术官 (CTO) Jimmy Jacobson 强调,领导者们必须认识到,许多刚从大学毕业的年轻工程师,还没有接触过知识型工作环境。“他们需要培养很多技能,比如如何负责任、如何有效沟通、如何寻求帮助,”Jacobson 表示。“在软件行业中,我们通常得自己摸索解决问题,但如果花太多时间自行解决而不求助,就可能拖慢团队进度。”
Jacobson 负责监督约 75 名开发者,他们分散在美国的七个完全远程团队中。他发现,通过模拟办公室体验来识别并弥补潜在的技能差距是一种有效方法。他的团队每周都会通过 Zoom 或 Gather 这样的虚拟会议平台进行多次视频“闲聊时间”,期间他们会像平常一样工作,但在镜头前。“这样我们可以互相看到对方或各自的屏幕,只有在有问题时才会交流,”Jacobson 说。这让初级开发者能够近距离观察更资深同事的工作方式,并让团队领导注意到需要额外帮助的工程师。Jacobson 的团队还利用 Zoom 开视频会议来进行其他原本面对面的会议 — 关键是要保持视频开启。
位于华沙的 FreySoft 和 MakeDeal 的创始人兼 CEO Oleg Panchenko 认为,与初级团队成员进行频繁的交流非常重要。在他管理下的远程团队中,他们实施了每日站会,确保团队成员对项目当前进展和需要解决的潜在障碍有着清晰的共识。除此之外,他们还定期进行每周或双周回顾电话,内容包括审查代码和向开发者提供反馈,以及在团队成员与管理者之间进行的每月一对一沟通。这些措施不仅对项目的成功至关重要,同时也帮助识别团队成员的长处和改进空间。
Panchenko 利用这些洞察来推动内部的职业发展计划。他组织不同技能水平的工程师共同研究解决方案,并向团队成员进行展示。“这种做法促进了团队成员之间的开放对话,”Panchenko 表示,这不仅建立了信任,还增强了解决问题的能力。通过紧密协作,初级员工也能从基础开始构建他们的职业网络。
引导职业之路
对于任何经理,尤其是那些管理远程工程团队的经理来说,塑造并引导初级员工的职业发展路径是职责的核心。最出色的工程经理们总是关注下属在公司内,甚至公司外的职业目标,并且致力于培养年轻团队成员的才能。
位于德州奥斯汀的开源软件公司 Sonar 的开发者关系负责人 Peter McKee 认为,搭建职业网络和规划职业生涯往往是相辅相成的。他说:“如果你理解开发者在其职业生涯中追求的目标,你就可以更容易地动用自己的人脉,找到能够帮助他们的人。”
但首先,经理们需要明确年轻工程师的职业目标。McKee 指出:“对于初级开发者来说,他们可能对软件工程或相关领域的未来发展缺乏清晰认识。”领导者们不应假设刚入行的人员能够分辨例如软件架构师(关注大局的专家)和工程经理(负责技术团队的管理和协调)之间的区别。有经验的高层人员有责任帮助初级员工明确他们的职业发展方向。
“一旦你理解了他们的职业目标或至少确定了一个大致方向,下一步就是制定一个实现这些目标的计划,”McKee 继续说。他建议制定一个简明而详细的计划,设定一个清晰的目标和实现它的路线图。“要定期进行一对一的交流,讨论进展,解答疑问,提供鼓励。同时,要不断检视员工的职业方向,确保他们对这个方向仍保持热情。随着他们在成长的道路上前进,他们的视角可能会变化,从而改变他们的目标。”
不仅是年轻员工,经理们的一些额外努力也能让整个团队受益。Codingscape 的首席技术官 Jacobson 相信,远程优先公司的成功最终依赖于那些主动积极的经理,他们致力于指导经验较少的开发者的职业发展。
Jacobson 表示:“你产生的影响与你的产出和成果紧密相关。因此,我们的管理者必须精通于任务分配,同时也要善于指导和培养新入职的员工,帮助他们成功地完成工作。如果新员工不能有效地贡献自己的力量,那通常是我们的不足,而不是他们的问题。”