每个人都有优点和缺点,作为招聘经理,很容易聘请表现出与您相似的优势的人。这是因为您在上述领域有经验和兴趣,并且对评估更有信心,因此更容易发现这些优势。技术实力通常被视为衡量软件工程师资历的标准。我不会削弱技术实力的重要性。雇用工程师来创建解决现实生活中的软件问题,必须具备编写可维护且可靠的代码的能力。除了技术深度之外,还想提供一个更全面的观点来评估软件工程师的实力以及这如何适用于组建团队。
建立多元化,完善软件工程团队的重要性
从我作为工程师和管理团队的经历来看,我已经多次听到这种担忧。这在女性工程师中尤为常见。行业中的人们都看到了典型的“高级工程师”角色:在一个或多个技术领域具有深厚专业知识的个人。那些兴趣与传统的深度技术角色不符的工程师通常被视为团队的“初级”成员,甚至是“业绩不佳”的成员。
1. 有很多类型的强大工程师。人们不仅需要深入的技术知识来构建满足不同类型最终用户需求的解决方案。有效的协作和沟通对于团队保持内部和外部一致非常重要。
2. 了解当下优化与未来发展之间的权衡,这样团队就不会陷入停滞或无形的陷阱。
3. 满足用户需求,以便为产品路线图提供输入并构建人们真正想要的产品。
我想分享一些故事,这些故事教会了我建立全面团队的重要性。
我的内部团队之一通过提供具有可重用,可自定义组件的共享平台来支持产品团队。虽然构建此平台以使其具有可扩展性和可靠性的技术标准非常高,但对于我们的团队来说,正确理解和满足客户的需求同样重要的是,许多互补的“软”技能也同样重要。当我第一次加入这个平台团队时,我注意到团队中有许多强大而热情的工程师,但是团队在交付结果和与客户沟通方面存在很多问题。您可以拥有一支才华横溢的工程团队,打造出技术上令人赞叹的产品,但如果对您的客户不起作用,那将会浪费时间。我帮助团队清理了流程,并雇用了具有互补观点和技能的个人来完善我们的集体能力。今天,我们与Square的其他成员保持着牢固,健康的工作关系。
团队是否需要工程师来解决深层的技术问题,对产品感兴趣的工程师或建立团队文化的工程师?
我曾经雇用过一位以高工程水平而闻名的团队的女性。她不是最快的程序员,因此使她陷入了冒名顶替综合症和缺乏自信的困境。经常让她想起自己的软弱无济于事,因为其他人要么拥有多年的开发经验,要么对深入理解技术主题产生了浓厚的兴趣。
他们所忽略的是她的长处-她对产品有着天生的直觉,非常有同理心和团队建设能力。我将她带入我们的平台团队是因为目前的团队已经有几位具有丰富的工程经验;其中大多数来自基础架构团队,我们缺乏对如何交付能够解决具体问题并推动执行的产品有更好了解的人员。
即使她被认为是先前团队的“初级工程师”,但她也加入了我们的团队,并立即提升了团队的地位并对我们的交付成果产生了积极影响。她帮助团队更好地了解了如何根据用户实际遇到的问题来匹配我们正在构建的内容并确定其优先级,而团队中的其他工程师则帮助她练习并提高了她的技术技能。作为一个团队,我们在交付有意义的结果方面变得更加强大。
您是否希望团队专注于现在或将来?
我个人非常期待。我喜欢思考长期战略并形成愿景。这就是示例团队最初所缺乏的。他们无意间被指定为“ SRE团队”,以保持高度关键但知之甚少的平台。传统架构从未设计成可扩展的。
我聘请了几位像我一样具有前瞻性的人,以帮助我们为未来平台的外观创建一个现实的愿景。我们从内部团队以及公司那里得到了支持,以实现这一愿景。我想说的是,从那里航行很顺畅,但绝对不是那么简单。在试图引导船舶迈向未来时,我们仍然需要满足当今的无数需求。
一些工程师非常热衷于挖掘遗留代码并创建模式以简化和改善当前状态。其他工程师需要与当前的行李分开,以设计理想的视野以争取。这两类人在确定我们的优先事项时经常遇到紧张。
我们所学到的是观点和学习妥协的重要性。如果我们只专注于今天,那么我们将成为一个完全被动的团队,其平台无法扩展。我们需要线性增加员工人数,以跟上公司的发展。另一方面,如果我们仅专注于未来愿景,我们将无法以团队的方式满足当今客户的需求,并且不再拥有构建未来版本的平台。我们认识到并奖励了这两种类型的工程师的实力,并且互相妥协以覆盖我们的盲点,从而成为一个团队,因此我们可以确保覆盖所有基础。
您的团队是否经常与他人合作,还是需要保持专注并快速迭代?
有两种不同类型的高级工程师。有些高级工程师喜欢与其他高级工程师一起工作,有些高级工程师喜欢领导和指导他人。
在我的示例平台团队中,初级工程师经常需要他人的帮助才能完成任务。不幸的是,高级工程师没有向其他人传授决策背后的原因或设计决策背后的原则,而是简单地接管了任务并迅速完成了任务以节省时间。这导致包括入职在内的所有工作成为一项独立活动,个人可以独立解决。这导致团队中充满了非常独立的工程师,但与他人的合作却较弱。当然,从管理的角度来看,有一些改进可能会有所帮助,但是在这种情况下,我们需要喜欢教周围人员的高级工程师。在这种情况下,我雇用了另一位经验丰富的工程师,他不仅向初级工程师教授如何创建出色的代码,
作为一个共享平台,我们要求内部工程师指导产品工程师学习和使用我们提供的共享组件。缺乏这些协作技能会严重伤害团队。向产品团队未正确解释构建组件速度较慢但更普遍的原因,因此产品工程师始终将内部团队视为阻止功能,不喜欢在平台上工作。如果我们不纠正这些误解并改善工作关系,团队将失败并失去所有客户。
体贴周到
建立团队没有正确或错误的答案。最终,只有您知道团队的需求以及如何实现团队的目标。在某些情况下,您确实需要组建具有相似实力的志同道合的团队来实现特定目标,即在启动环境中尽快将产品推向市场。我的建议只是考虑扩大您的视野;决定要建立哪种类型的团队以及出于何种目的。
当教练组建运动队时,他们不会组建仅由明星球员组成的团队。这是因为每个明星球员都希望获得聚光灯:要么他们撒球,要么等待球传给他们以获得完美的投篮。一支由明星球员组成的团队不会赢得比赛。您需要出色的运球手,出色的防守能力和出色的球员。
软件工程团队是相同的。有多种类型的高性能软件工程师。卓越的技术很重要,但最终却不是全部。为了建立可持续的,长期的,功能强大的组织,只有内部团队的结构合理,全面,并经过深思熟虑地整合在一起,您的团队所构建的产品才能满足多元化和包容性客户群的需求。
以上就是关于建立多元化,完善软件工程团队的重要性全部内容介绍,想了解更多关于软件工程团队的信息,请继续关注。