在我工作的地方,有一些有软件背景的有经验的软件开发人员,但大多数开发人员都是物理学家或化学家,在开发高质量、可维护的软件时,他们的领域知识非常丰富,但经验有限。为了解决这一问题,我们已开始定期举行会谈和讲习班。
特别是,我们很难获得这些讨论的热情,因为许多开发人员并不认为软件是一个有趣的主题。在没有软件背景的情况下,我们怎样才能使这些更有趣呢?
谢谢
发布于 2010-10-31 20:03:22
我认为这会很困难,所以要做好斗争的准备--但不是不可能的。在一天结束时,编程(特别是非牛仔黑客的n‘斜杠编码)不会对每个人都是超级令人兴奋的。对于已经在智力上具有挑战性和本身就有回报的领域工作的人来说,情况尤其如此。
首先,让讲座和工作坊本身变得有趣--免费食物(确保它是美味的食物!)类似的食物是一个很好的开始。试着加入一点幽默,至少在一开始,尽量保持简短和非正式。
第二,确保会谈和研讨会是相关的。尽量不要使它们过于抽象(即使所涵盖的概念是抽象的),如果可能的话,确保它们能够尝试已经涵盖的内容。更好地检查他们在会议期间做了什么,并提供积极的反馈。如果它们不相关,并且没有应用您已经讨论过的内容,那么他们将(正确地)将其视为浪费时间。
最后,尝试引入一些基本的编码标准,最好是那些在它们目前的运行方式上不太有侵扰性的标准。如果您是在.net世界,Resharper是一个很好的开始,因为它将警告的事情,如命名惯例。您可以进一步使用StyleCop (可以集成到Resharper中),但是要确保首先定制规则集。如果您不在.net中,那么我相信其他地方也会有类似的工具。虽然不多,但这是个开始。
不要期待即时的结果(除了任何自动执行的编码标准)--我听说6、9和12个月都在浪费时间来介绍最佳实践。
到目前为止,我只浏览过它,但是在即将出版的“驱动技术变革”一书中,似乎有一些很好的、相关的建议。
发布于 2010-10-31 20:11:00
如果这些化学家和物理学家不是主要的专业开发人员,也不打算成为这样的人,我建议在这个问题上有不同的想法。
“真正的”开发人员应该为他们提供易于开发的环境。您应该提供指导,并且应该为他们的代码提供同行评审,并提供强大的激励,使代码足够好,以便首先通过。
换句话说,不要平等地对待他们,而是为他们提供力所能及的一切,让他们在他们真正做的事情上脱颖而出--那就是他们的力量。
发布于 2010-11-01 00:39:57
我与非常聪明的网络工程师一起工作,他们不是开发人员,也不想成为开发人员。我能理解这一点,因为我不想成为一个网络工程师。
我们发现,对工程师和我来说,进行团队编程是可行的。我们在不同的站点,所以我们打电话,打开一个屏幕共享会话,通常使用screen命令,然后取出代码。
我们已经做了很多次了,觉得效果很好。我理解他们是如何做得更好的,工程师正在学习我们如何编写可维护和经过测试的代码。
https://softwareengineering.stackexchange.com/questions/15930
复制相似问题