在您看来(虽然我会非常感谢相关问题的文章/书籍),应该是程序员对该领域的知识水平?
(这related question没有完全回答我的问题/提到我可以使用的东西)
答案 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)
我认为这是“什么”与“为什么”。在什么是业务要求与为什么是这样的要求。初级程序员只需要了解项目的内容。分析师需要了解两者。在我看来,我的专业地位,不再是开发人员和成为软件工程师,你需要将分析师添加到你的技能组合中。