吸引,管理和留住软件开发人员的提示

本文概述

  • 吸引合适的人
  • 管理软件开发团队以取得成功
  • 如何保留软件人才:最后说明
  • 这是不确定的任务
管理全在于人。无论是经理还是员工, 都在考虑如何实现其个人和职业目标。这些目标与所涉人员的个人特征的结合使人际关系得以形成, 这些人际关系可以是积极的, 富有成效的和令人满足的, 有时甚至仅仅是压力, 要求和容易发生冲突。
当然, 在后一种情况下, 产品质量下降, 人员流动增加, 实现目标变得更加困难。因此, 在经理和员工的效率, 生产率和自我实现方面, 找到一种建立奖励和激励关系的方法至关重要。
吸引,管理和留住软件开发人员的提示

文章图片
在管理软件开发人员时尤其如此, 因为他们的工作技术复杂性和创造性, 被压缩到通常很短的时间范围内以产生结果。就像在每个老板-雇员关系中一样, 涉及许多因素, 例如:
  • 性格
  • 目标
  • 期望
  • 政策规定
  • 组织文化
  • 项目技术细节
在本文中, 我们将重点放在主要管理方面, 而不是技术方面, 我们认为任何想要成功保留软件开发人员的人都应该考虑这些方面。
但是在这里, “ 成功” 不仅意味着取得成果并遵守公司的政策, 时间表和预算, 还意味着拥有一支积极向上且富有成效的软件开发团队, 他们会竭尽所能并长期留在公司中。
这就引出了我们的基本主题:是什么使软件开发人员感到震惊?考虑到这一点, 我们将提出一些保留成功的软件开发团队中所确定的员工的方法。
吸引合适的人 在软件开发中, 你聘用的人才将在成功与失败之间发挥作用, 而在团队中进行不断的变更始终会耗费大量时间和金钱。因此, 良好的选择过程对于你的项目成功至关重要。
招聘启事
技术招聘人员知道, 在招聘软件开发人员时, 一切都始于精心平衡的职位发布。该职位必须具有激励作用, 以便合适的开发人员对此做出回应-太多或太专业的要求可能会令人沮丧, 但是如果你太含糊, 你的公司可能会期望大量无用的简历。
说明详细的薪水和福利待遇也是一把双刃剑, 因为你的竞争对手可以使用该信息来利用他们的薪酬计划, 而开发人员可以尝试将其用作雇用期间讨价还价的基准。当然, 由于在招聘过程中必须始终有一定的谈判余地, 因此我们建议, 在进行薪酬补偿时, 应使用范围而不是固定值, 而不是具体。
相反, 职位发布应在工作职责和要求(强制性和必备条件)中尽可能清晰。扎实配合是我们其余员工保留策略的最佳背景。
面试
在此过程的这一点上, 最好是获得一些有关评估候选人的建议, 并了解在面试过程中可以避免哪些陷阱。我们还将在上述资源指南的基础上补充说, 事先要求应聘者提供以前工作的一些参考资料通常可以很好地补充其他验证其技能的方法。
工作机会
当公司出示一份正式文件, 概述职位特征(姓名, 职级, 地区等), 薪酬待遇(薪水和福利, 如健康, 退休金或教育等)时, 聘用结束时是向候选人提供工作机会。 , 开始日期, 时间表, 工作地点以及建立工作合同的要求(如果候选人接受了录取通知)。
尽管在此阶段或多或少地完成了所有工作, 但候选人可能希望谈判一些条件, 这取决于公司是否接受或讨价还价。这取决于公司的做法。
但是, 可以肯定的是, 该公司不会因为原则问题而失去一名优秀的候选人, 因此合理的权衡不会损害任何人。在这种情况下, 建议你向应聘者索要一些让步, 以换取所有让步, 例如, 较早的开始日期, 公司的最低限度保留时间或公司可能有的任何特殊要求。
管理软件开发团队以取得成功 一旦软件开发人员开始在公司工作, 他们的经理就会开始意识到他们是谁, 他们如何工作, 最重要的是, 他们所产生的结果。这样, 保留软件工程师就成为一个明确的优先事项。
这是深入了解软件工程师个性的地方:它们(尤其是高性能工程师)通常表现出一些共同的特征。我们会在开发过程中指出这些模式, 但请记住, 这些模式可能不适用于每个人。软件开发项目管理既涉及模式, 也涉及异常。
训练
由于软件开发是一项技术工作, 因此需要对公司的结构, 目标, 程序, 政策(包括信条和业务实践)和标准(技术和非技术)有非常精确的了解。因此, 开发人员对公司的了解程度越高, 他们将制作出更好的产品, 而制作产品所需的时间就越少。
可以通过文档, 在线Intranet课程或演示文稿来管理此基本培训。但这是必需的, 因为它将使新员工更加清晰。
如果要引进新技术, 请务必提供必要的培训。软件开发人员喜欢受到挑战, 但是他们可能会因为没有先适当地学习而被一种新技术所激怒。
互联网上充斥着宝贵的学习资料, 它通常是软件开发人员在需要学习或重新学习技术细节时所依赖的第一资源。如果你想保留软件开发人员, 则必须提倡一种自学文化, 并在必要时为其投入工作时间。这样, 团队将掌握最新的技术和方法, 这是软件开发人员经常非常欣赏的东西。
资源资源
有些人认为软件开发人员寻求最高的技术来完成他们的工作, 并使用业界可能的最佳规范。相反, 我们认为这取决于手头的工作。例如, 如果一家公司开发第一人称游戏, 则有必要向开发人员提供前沿的计算能力。但是, 如果工作是为事务系统开发后端Web服务, 那么功能较弱的计算机可能就足够了。
真正重要的是为开发人员提供完成工作所需的所有必要工具, 并对新工具的建议持开放态度。从逻辑上讲, 开发人员建议的每个新工具都必须经过公司的批准(甚至可能经过测试)并获得许可。不过, 这是值得的:拥有足够的资源是开发人员积极性和成果的关键因素。 (如果你将软件工程师设置为失败, 那么就不会期望保留他们!)
组织
软件开发人员喜欢在鼓励和尊重自己的创作努力的地方工作, 因为尽管受到设计, 标准和IT政策的指导, 但他们的工作是无所作为的工作之一。因此, 开发人员必须有足够的信心确保他们属于最小官僚机构和限制条件下的单位, 只要他们遵守公司的政策并符合其信条。
这并不意味着软件开发人员与公司中的其他人员相比没有任何特殊特权, 而是他们的经理可以在需要时帮助他们克服或解决官僚主义。留住软件开发人员的一个非常重要的方面是, 老板对他们的个人要求持开放态度, 并在需要时提供帮助。
内部开发部门的安排在这里也起着关键作用。通常, 存在一个测试小组, 软件工程经理的职责是保持团队之间在开发人员和测试人员之间的交流。这可以通过简单的方法和流程来实现。如果双方都遵守规则, 则开发人员往往会与测试人员很好地合作, 从而使冲突少或不存在冲突。
沟通(定期会议)
如果你想保留软件开发人员, 则必须让他们保持联系。团队中的所有成员都应定期更新目标, 影响目标的公司情况, 战略, 组织的变化以及最后但并非最不重要的团队成就。
即使让许多团队成员分享一些要点, 也将有助于增强团队的凝聚力和团队合作精神。通常, 这些团队会议(最多两个小时)应定期安排(也许每周一次), 以及在项目的最后阶段, 危急情况等特殊场合安排。
除了与团队进行沟通之外, 经理还必须建立一种方法来了解每个成员的最新情况, 无论是工作相关, 技术还是个人方面。
  • 与工作相关意味着员工与公司关系的所有可能方面。
  • 当开发人员遇到问题时, 无论出于何种原因, 他们都不寻求帮助, 就会出现技术状况。
  • 如果开发人员与他们共享, 他们所遇到的个人情况可能会影响他们的工作以及与同事的关系。
通常, 每周与每位团队成员进行30分钟的会谈将使经理能够识别这些情况并提供帮助, 从而避免潜在的人员危机并提高团队成员在公司内部的士气。
需要明确的是, 我们并不是在谈论建立面向会议的开发部门, 因此必须严格遵守会议纪律(守时, 尊重, 参与, 持续时间)。此外, 这门学科向开发人员表明, 他们为非常专业的组织工作, 这是他们通常赞赏的。
分配目标并跟进
分配年度总体目标或类似的评估准则毫无意义。
与软件开发人员打交道时, 这是一个显而易见的因素:无论他们的角色是什么(需求收集, 体系结构, 设计, 编程, 测试等), 都应尽可能清晰地给出目标, 因此没有意义。分配年度总体目标或类似的评估准则。由于开发人员应该在项目中工作, 即在一定的范围和时间范围内工作, 因此分配目标的最佳方法是在项目开始时, 并包括如何评估进步以及(如适用)如何识别进步。
幸运的是, 如今, 像敏捷和Scrum这样的方法论旨在尽快产生结果, 从而简化了后续工作和项目控制。有时, 这甚至可以在保留软件人才方面发挥重要作用:许多开发人员喜欢这些方法, 因为它们可以快速交付结果, 使他们定期获得成就感。
此外, 开发人员通常倾向于使用更简洁的方法。他们知道像Rational这样的高端产品(风险高昂, 因为最终产品是在经过长期的需求工程, 设计, 开发, 测试和实施项目之后交付的)具有风险, 并且很难遵循。
冲突管理
这与其他任何类型的软件开发团队一样适用:软件工程经理必须及时有效地处理冲突, 否则它可能会失控并破坏整个部门的士气, 团队精神和有效性。
假设冲突中的开发人员是专业且意图良好的, 则经理与相关人员开会以启动清晰的对话并在事后迅速解决问题, 应该足以使团队继续前进。另外, 有时有必要向他们发出明确的警告, 即就个人而言, 冲突将不被接受。
无论如何, 在和解结束时, 双方都认为解决方案是公平的, 这一点非常重要, 即使其中一个人不喜欢它也是如此。冲突有时是生活的一部分, 但是保留软件人才意味着每当出现这种情况时, 都应有尊严地对待每个人。
动机
尽管我们已涉及影响开发人员动机的许多因素, 但还有另一个关键方面。这不是情感, 也不是技术。我们正在谈论他们的工作报酬率。
尽管本质上倾向于理想主义, 但是软件开发人员经常喜欢物质世界的美好事物。对于公司而言, 确保薪资和薪酬计划与劳动力市场保持一致总是更好的选择–行业研究很容易找到–甚至可能职位更高。
同样, 大多数软件开发人员对津贴和奖品也无动于衷, 包括课程和技术活动, 他们可以在其中学习有用的技术来丰富自己的工作。
在保留软件开发人员时, 无论其具体方向如何, 支持他们在公司内部的发展都非常重要。当软件工程师对担任领导职务或管理层表现出不大的渴望时, 他们会喜欢在技术领域的进步。其中包括更多的高级认证和正式的学术课程, 例如硕士学位, 甚至博士学位。知识是他们的强大动力。
但是, 当他们渴望成长为领导职位时, 建议对候选人的个性和公司历史进行透彻的分析。这可以在人力资源部门或其他公司部门的帮助下进行, 因为良好的管理需要一套除技术能力以外的完全不同的技能。
如何保留软件人才:最后说明 你可能有最好的意图, 并遵循上述所有技巧, 但仍无法100%地保留软件开发人员的权限-有时外部因素只会产生更大的影响。但是, 我们认为, 只要满足以下条件, 人员流动就可以保持健康并充满机会:
  1. 这不常见。如果是这样, 这将是组织级别出现问题的征兆。
  2. 它仅在最有价值的资源下发生。在这种情况下, 这可能意味着他们将你的公司用作蹦床, 即, 他们与你在一起只是在迁移到其他公司之前获得经验。
员工保留策略应体现在公司政策中, 而不仅仅是有价值的人想辞职时的反应。反动性保留非常昂贵, 而且存在缺陷:这个人可能同意留下来, 但是对自己说:” 我在这里工作了X年, 只是想离开时获得双倍的薪水-他们只是承认他们没有付给我薪水足够!”
这个人的下一步是什么?他们可能会寻找另一份工作, 但现在的薪水是最低工资的两倍。在这一点上, 不惜一切代价聘请软件工程师可能不值得。除非此人对公司绝对是基本的(并且是不可替代的), 否则最好协商一个通知期并立即寻找替代者。
这是不确定的任务 吸引和留住软件开发人员是一项复杂且不确定的任务, 就像技术行业中的每个角色一样。有许多公司正在寻找有价值的软件开发人员, 但是, 值得庆幸的是, 这里的目标不是要与这些公司抗衡, 而是要吸引我们可以设法留在公司中的优秀人才。
【吸引,管理和留住软件开发人员的提示】选择过程可能会花费大量时间和精力。如果急于采用这种方法, 那么你最终可能会遇到错误的人, 还有谁想保留对团队有毒的软件工程师?花时间去做正确的事。

    推荐阅读