为何优秀如程序员,也会构建 Bug 满格的软件?(14)
这也意味着,优秀的工程师组成的小型团队构建软件的速度远远超过了普通工程师组成的大型团队。他们可以充分利用现成的开源代码和复杂的云服务,并利用自动化测试及其他工具摆脱单调的日常工作,让每个人都专心思考如何创造性地解决问题。他们可以确定关键功能的优先级,并减少不必要的工作,快速测试用户的不同想法。这是经典著作《神话人月》的核心论点:总的来说,增加软件工程师对加快项目速度并无裨益,只会让项目的规模扩大。
与普通工程师组成的大型团队相比,优秀的工程师组成的小型团队制造的bug和安全问题也会更少。与撰写论文类似,编写代码的人越多,编程风格就越多,假设和怪癖就越多,最终只能在拼凑而成的产品中协调,因此出问题的几率就越大。相比之下,由优秀的工程师组成的小型团队构建的系统将更加简洁、连贯,而且更加便于理解。没有简单性就无法保证安全性,大规模的协作很难铸就简单性。
工程工作的协作性越高,我们就越需要优秀的工程师。工程师代码中的问题不仅会影响到他个人的工作,还会影响到身边同事的工作。在大型项目中,糟糕的工程师只会给彼此添乱,因为错误和糟糕的设计就像滚雪球一样,越滚越大,直到出现重大问题。大型项目需要建立在可靠的代码模块上,并采用有效的设计,同时还需要非常明确的假设。你的工程师越优秀,系统在无法承其中而崩溃之前发展得就越大。这就是为什么成功的科技公司尽管规模庞大但坚持招聘优秀的人才。系统复杂性的硬性限制不在工作量,在乎质量之间也。
推荐阅读
- 武侠|永劫无间狂销600万,创国产游戏巅峰,为何网易总能做出武侠爆款
- 精灵宝可梦|《宝可梦》人称神兽版本“秃鹰娜”,伽勒尔火焰鸟的表现多优秀?
- 三国杀|三国杀:同为20宝珠,为何没人选钟会?原因令人费解
- Xbox|将拥抱元宇宙世界?Xbox20年庆典看点十足,全球玩家为何兴奋?
- 阴阳师|为何崩坏3在Steam上差评如潮,在腾讯WeGame却有超8成好评?
- 吃鸡游戏|之前是“吃鸡”大主播,现成功转战联盟,为何越来越多主播开始转型?
- 地下城堡3|新武将为何无人问津,原来是技能中存在巨大缺陷——杜袭解析
- edg战队|EDG勇夺S赛桂冠!明明已是第三座冠军,为何却让更多玩家兴奋?
- lpl|BO登顶韩服第一,更改ID引人心疼,为何没有战队敢要他?
- lpl|LPL为何处理不了猫咪,自身了解太浅,根本不重视S11!