程序员应该是领域专家吗?

时间:2010-03-06 18:42:19

标签: dns

在您看来(虽然我会非常感谢相关问题的文章/书籍),应该是程序员对该领域的知识水平?

(这related question没有完全回答我的问题/提到我可以使用的东西)

9 个答案:

答案 0 :(得分:5)

如果程序员是域专家,他们就不会是程序员。 : - )

例如,我为考古学家做了很多软件开发。如果我像我工作的用户一样了解考古学,那么我将在现场挖掘和测量而不是编程。这毫无意义。

说了这些之后,我认为程序员需要尽可能地了解域名,但不要忘记优先级。

如果您需要领域专业知识,请将领域专家带入团队。

答案 1 :(得分:4)

是和否。

正如凯尔指出的那样,程序员经常在每个项目上更改域名,这几乎使您无法成为任何特定领域的“专家”。另一方面,你需要很好地理解这个问题,以便a)制定一个解决方案,并且b)测试它实际上解决手头的问题。

不主张领域知识的一个原因是,您的客户被迫拥有该项目的这一部分。我最喜欢强迫的方法是要求对项目进行清晰的整体描述(不超过几页)以及大量的用户故事... 用户。你可以引导他们完成如何编写美国的过程,但他们不会真正拥有最终解决方案,除非他们密切参与创建它。

拥有美国并将其用于设计和测试,将项目所有权放在最终所属的位置 - 由系统用户负责。

答案 2 :(得分:3)

作为一名顾问,我经常(每6至12个月)改变一次域名。虽然在我完成一个项目时我永远不会宣称自己是一名真正的专家,但我获得的领域知识越多,我就可以添加更多的项目。

答案 3 :(得分:1)

这取决于他们正在做的具体工作与域名的相关性。在团队环境中,我可以想象领导程序员和其他一些人从领域知识中获益,而团队中的其他人则不需要它。

答案 4 :(得分:1)

  
      
  • 银行/金融应用程序
  •   
  • 网络/无线/电信
  •   
  • 移动应用程序
  •   
  • 网络/存储/企业/众多其他人......
  •   

如果“域名”指的是您的工作领域,是的,您应该努力了解与您的工作领域相关的所有内容。延伸到其他领域的另一个问题是另一个问题。

答案 5 :(得分:1)

如果您不了解问题域,则不应编写解决方案。

你不必是专家,但你不能不知道关键的想法。 作为FORTRAN专家,除非您有,否则您不会在编码FFT方面取得任何进展 信号处理的一些背景,并理解为什么需要FFT, 并了解各种实现。

答案 6 :(得分:0)

程序员就像通过创建软件可以将“其他人”与计算机联系起来的人,更好地理解你所在的领域将有助于问题与“其他人”之间的沟通,从而使你成为一个更好的程序员。

但问题领域往往非常广泛和深入,你可以期望每个人都是编程专家和其他领域的专家,例如,你可以期待伟大的科学家或医生在编程时成为专家,在创造空间时解决他的问题因为编程不是他的主要关注点,所以对于程序员来说,但是能够相互交谈的程序员或科学家是最合适的

答案 7 :(得分:0)

即使您经常更改项目及其域名,一个行业(或行业分支)的特定领域知识和经验也将始终是一个优势。

答案 8 :(得分:0)

我认为这是“什么”与“为什么”。在什么是业务要求与为什么是这样的要求。初级程序员只需要了解项目的内容。分析师需要了解两者。在我看来,我的专业地位,不再是开发人员和成为软件工程师,你需要将分析师添加到你的技能组合中。