Reginald Braithwaite 认为应该有一种新的软件开发人员认证,只有一个检验主题:测试和质量控制,而不是考查开发人员面向对象编程、元编程、宏、设计模式以及任何深入的编程语言知识。
Braithwaite 强调这不是在争论“到底是需要独立的测试人员,还是需要由开发人员自己进行测试”。他简述说,从他的经历来看,安全性才是在商业环 境软件开发的重要环节。从现在起,开发者必须要有能力确保软件是按照预期的方式运行的,而且这种能力将成为从事软件开发工作的一个先决条件:
我在这里想说的是,如果你不能很深入的了解我们将如何评估你的工作成果,你就不能称自己是“专业的软件开发人员”。
想像一下当你与一名构架师边走边聊关于压力测试的话题时,你会不会担心他们耸耸肩说:“那是测试,我只做设计”?
认证并不会影响对技术的选择,甚至不会影响任何一个有关软件稳定性的标准,因为管理人员明白,如果那样做的话,会给软件带来无穷无尽的问题。
Peter Harkins 则认为软件开发除安全性外,还有很多事情, 他用了一种很简单的方式来说明他对证书的理解。以饭店的业务为例,Harkins 说,去饭店吃饭时,当然不希望被下毒,但是我们也希望得到“美好的食物, 而不只是快餐”。Braithwaite 驳斥到:也许有人不喜欢麦当劳,但这并不能成为立法不允许麦当劳继续营业的理由。提高软件的标准是好事,但不应该 强迫所有的人都服从。
Kyle Lahnakoski 认为,认证就是提供一些劳动力市场上所没有的信息而已。如果关注于安全性,开发者可能会转向对“安全”的追求而忽视“效率”,这对公 司来讲,可能会造成巨大的浪费。Chris 则认为,无论如何,安全性方面的认证对于雇用员工来讲都是一个很好的基准。
接下来要说的也许太明显了,甚至有点多余——接下来要考虑的就是某人是否会实际动手写代码(做饭)、写好的代码(做味道很好的饭)、以写代码为乐、能在团队中很好地工作、适合公司的需要,以及更多(饭做得好到可以到星级饭店工作)。
从市场角度来决定一个开发者是否可以被聘用,取决于其技术能力和生产效率,这也证明了 Braithwaite 的理念,证书并非对员工的唯一要求,就像拿着厨师证并不能保证一定会被饭店录用一样:
你认为饭店会随意雇用那些有厨师证的人吗?也许有的会这么做,但也许有些饭店会先了解那些跟你一起工作过的人,也许他们会要求你为他们做一顿饭。关于认证,我认为它是需要考虑的,但仅有证书还是不足够的。
安全性是一个前提,其它的则将由市场决定。
查看英文原文: Testing and Quality Control the only Certification Needed?
评论