询问有关您的线索的这些问题。
- 他们习惯于独自工作还是与一个很小的团队一起工作?
- 他们主要在这家商店编码吗?
- 他们习惯于做出决定吗?
- 他们习惯于“仅仅完成它”吗?
- 他们编写了大部分代码吗?
如果答案是“是”,那么我将描绘一幅特定类型的首席程序员的照片。如果它与您的经验相匹配,也许会帮助他们进入头脑。如果不是,请忽略此答案。
这是从第一天开始就在这里工作的人,在相同的代码库上从事多年的工作,习惯了自己的方式,并且对其他方式没有太多的经验。
他们在编写代码时不会考虑其他人,因为这对他们来说都是有意义的。当然,他们写了,或者他们花了多年的时间来理解它。
他们认为编码风格是个人喜好,而不是减少维护和错误的工具。在讨论编码风格时,他们会努力听取您的观点,因为他们可能从未想过为什么要以自己的方式做事。他们会听到的是“我想用自己的方式做”或“我想用新颖,新颖,时尚的方式做”。
他们有自己的风格。长期以来,他们一直以相同的方式进行操作,因此他们的所有工具和编辑器以及大脑都按照自己的风格进行了微配置。偏离此样式将与这种精心安排但非常脆弱的工作方式相冲突。尝试更改会引起对他们的编辑器,工具,他们喜欢的工作方式或“难以阅读”的抱怨。他们拒绝更改,因为他们将自己紧紧包裹在现状中,无法更改。
这是从未正确学习过软件工程和软件体系结构的人。他们只是将一切有效地凑在一起。
您遇到的是人员问题,而不是技术问题。
您将不得不重新培训您的潜在客户,否则您将不得不退出。
进行管理是不得已的手段。既有 @JaredSmith指出的原因,也有可能会输。这个家伙花了很多年为他们赚钱。他写了他们的公司。他被无数火扑灭了。对你来说,他是制作意大利面条的牛仔厨师。对他们来说,他是建立并拯救公司的英雄。
要重新培训,您必须...
- 获得他的信任。
- 弄清楚他的想法。
- 解决他对变革的恐惧。
- 使更改变得更加容易。
- 证明这对他更好。
认真对待他的风格,进入自己的头脑。向他询问。他为什么以自己的方式做事?他看书时会看到什么?它如何与他的工具互动?他如何遍历代码?了解所有这些事情将使您了解并解决他的反对意见。
找到他的主观异议的客观根源,使它们可行。“很难读”是主观的,它没有提供任何信息。你对此无能为力。客观地说,“我是色盲人员,语法突出显示不起作用”,它可以为您提供信息,您可以为此做些事情。我会推荐一本名为《入门》的书,以获取更多信息。
一旦找到了根本问题(他正在遇到的真正问题),请查看是否可以解决或缓解它。那不是问题。他们可能仍会因变化而产生情感问题,但至少他们不能再说这是一个实际问题。
一次做一点。这是多年来一直以相同方式进行操作的人。他习惯于查看代码中的某些模式并使用它们来理解它。突然更改所有这些模式会造成混乱。慢慢地使他们以已知的良好实践来加速工作会令人沮丧,您必须带他逐步进行。
提倡标准的社区风格。这消除了关于个人偏好的争论,并向他们施加了压力,要求他们证明为什么他们的不同风格会好得多。如果您打算招聘,则可以更轻松地整合新员工。
提倡自动代码风格。只需按一下按钮即可遵循正确的样式。使用以标准样式开头的工具,让您可以根据自己的喜好对其进行配置,并且可以通过按一下按钮来重新设置代码的样式。尽可能容易地遵循样式消除了许多关于遵循难度的争论。他们可以按自己喜欢的方式进行编码,完成后按一个按钮,它遵循其他人可以阅读的样式。
由于此人不在考虑他人的心态中,因此您将必须说明这些变化如何使他们受益。它可以很简单,因为“因为现在这是标准,您将不必再与下一个雇用的人进行这场斗争”。或者可以是“如果我们有测试,您可以更积极地更改代码,而不必担心更改”。或“如果有好的文档,人们就不必再对代码的工作方式感到困扰”。要使此方法有效,您必须知道他们想要什么-有些人喜欢被打扰,这使他们感到很重要。
这是一条漫长的路。您必须确定自己是否有耐心来管理和重新培训老板。将自己更多地看作是他们的老师,而不是沮丧的基础,您可能会对此感到更好。