提升技术团队技能的最佳资源

软件世界是不断变化的,你的团队也是如此。新技术来了又走,整个平台出现了,队友离开了,新的加入了。作为一名管理者,你如何帮助你的团队,无论是新手还是老手,提高他们的技能?

建立一个图书馆

书籍是古老的学校,但仍然是知识的伟大来源。我们行业的一些经典书籍包括:

  • 设计模式(“四人帮”)
  • 重构(马丁)
  • Ruby中的面向对象设计原则(通过桑迪。梅斯)
  • 《人月神话》(弗雷德布鲁克斯)。

为你的团队拥有某种类型的库是很有价值的,无论是物理的还是虚拟的。

视频是另一个很好的知识来源。网上有很多免费视频,都是我们自己的upcase,会议记录,到专门的YouTube频道。也有很多很棒的付费视频课程(我真的很喜欢务实的工作室).

文化的变化

并非所有的学习都必须来自外部资源。许多自我完善的最佳机会都来自于团队互动.作为一名管理者,你想要创造一种文化来促进这一点。

持续改进是思想机器人的核心价值之一。我们已经记录了各种实践,我们用来在我们的剧本

学习是每天都在发生的事情,伴随着你修复的每一个bug,伴随着你学习的每一个新功能,伴随着你遇到的每一个新模式。即使对那些独自一人的人来说,这种情况也会发生,但在团队环境中,这种情况会加速,因为现在个人也可以互相学习.这是与团队合作的一大优势。每个人都知道一些其他团队成员不知道的事情。

要利用这一点,你需要建立一种可以问问题甚至说“我不知道”的团队文化。这是更大问题的一部分心理安全.以地位为导向、害怕表现出弱点的团队正在放弃一个强大的改进机会。

在做日常工作的同时学习是很好的第一步,但很多事情需要更集中的学习。这可以是特别的,比如阅读一篇关于正在考虑在现有项目中使用的算法的文章,或者构建一个小型原型应用程序来测试一个新框架。

你还可以更进一步,在计划中留出一定的时间致力于学习.在thoughtbot,我们每周奉献一天作为投资时间.这种自我指导的时间被用来学习、实验、建设,并与世界分享成果。通常情况下,这将是对本周早些时候在处理客户项目时遇到的问题的进一步探索。

作为一名管理者,你希望你的团队不断学习,跟上时代的步伐。你需要告诉他们,在工作中学习不仅是可以接受的,而且是期望的。留出一些专门的时间来学习,这表明持续的自我提高不仅仅是公司手册上一句毫无意义的话。万博怎么买2串一

结对编程

另一种利用团队的方式是结对编程.这种技术非常适合在团队中共享系统知识,帮助初级开发人员提升水平,或者只是在一个问题上投入两个大脑。不可避免的是,这两个开发人员都放弃了知识改进后的体验。

结对并不一定是一个大型的正式过程。我们在throughtbot上做的很多配对都是特别的。

两个开发人员配对

代码评审

另一个分享知识的有价值的地方是期间代码评审.不幸的是,在许多组织中,代码审查已经成为臭名昭著的“有毒的把关练习”。有一些事情可以做来改善体验。首先,一定要带上同行评审的方法。这意味着每一个人获得给予和接受代码评审的机会。重要的是,不仅仅是高级团队成员审查下级的代码。

即使您的团队没有明确的代码审查分层方法,也很容易进行隐式开发。初级开发人员可能不愿意审查高级团队成员的代码(参见前面提到的心理安全)。他们可能觉得根本没有资格审查代码。你需要鼓励和支持初级开发人员在收到评论的同时也开始给予评论。

其次,确保最终的编辑控制取决于代码的作者.评论者提供建议和反馈,但并不是为了防止某个功能被淘汰。

如果您正在寻找改进团队代码审查方法的灵感,请查看以下内容Thoughtbot的代码审查指南

外部帮助

并不是所有的学习都必须发生在你的团队内部。外部资源可能特别有影响力,因为他们带来了思考问题的新方法,你的团队甚至没有考虑到。

会议是开发人员的最爱。你不仅可以从演讲者那里学习,还可以从会议之外与业内同行的对话中学习。教学是学习的最好形式之一说话对于初级开发人员或经验丰富的开发人员来说,会议是一个关键时刻。除了技术技能,说话还能提高沟通能力,这在任何工作环境中都是很有价值的。鼓励你的团队在聚会和会议上发言。

引入一个外部专家团队对你的公万博怎么买2串一司也能极大地促进你的团队的学习。这是我们经常做的事情,我们有一个专用服务为它。有时它专注于特定的教学,特定的技术或方法,如测试驱动开发。其他时候,我们做的是更普遍的指导。我们的核心价值观之一是不断完善自己、团队和周围的人。因此,即使是与客户的特性工作约定也总是涉及一些非正式的指导和使用本文中讨论的许多技术的知识共享。

你的想法

你有一些最喜欢的实践或资源来帮助团队提升他们的专业水平吗?请在twitter上给我们留言@thoughtbot