你是否也处在这样的反模式中

  • 谢丽

2015 年 10 月 20 日

话题:语言 & 开发架构架构师

  • 业务思维偏爱短期利益
  • 在软件开发工作中,考虑越长远,软件就会越健壮,成本就会越低,痛苦就会越少。但由于经济环境驱使,管理者采用了一种短视的思维方式。软件系统的完整性不仅没能成为应该受到尊重的约束,反而被看成了软件开发的障碍。

  • 不合群就会被钉上十字架
  • 不管你多么高效,不管你加了多少班,或者与同事合作得多好,只要你的想法与管理层出现了分歧,你就会被钉上十字架。因为你的工作是帮助管理层达成下一季度的预期。你必须修复上一季中本可以避免的缺陷,或者仅仅重构几段不相干的代码实现下一个拙劣的特性。

  • 软件架构师成为政客
  • 成为一名软件架构师的资格不是技术,而是具备强迫一线工程师以不可持续的方式实现软件功能的能力,因为这是满足短视的管理层所必须的,而构建精心设计的系统就不再是软件架构师的首要任务了。

  • 忍受痛苦是你提供的商品
  • 让你获得软件开发职位的不是你的技术能力,也不是你同其他工程技术人员合作的能力,因为日常工作只需要你很小的一块能力。真正让你获得职位的是你对莫名其妙的 Bug 和混乱代码的忍受能力。你不是一个问题解决者,而是一名问题忍受者。

  • 周围的同事不支持变革
  • 业务和管理人员短视,但与你共事的人比他们更短视。管理人员会考虑下一个报告期,而他们可能只考虑下一个工资期。

  • 总是有人伺机“削(Undercut)”你
  • 有人从不抱怨代码,也从不“浪费时间”梳理代码,并且总是最先终止“有害”的讨论。一旦团队的代码库变得混乱,他就会取代现有的软件架构师,成为新的负责人。

  • 责任心被剥夺
  • 集体代码所有是了让开发工作不中断,但它允许任何人以任何方式修改任何代码。这会导致“公地悲剧”。而实际上,有时候“阻塞”是必要的,高级工程师可以藉此防止代码库遭受短期思维侵害,确保软件以一种可持续的方式开发。Bryanedds 认为,集体代码所有是自 JavaScript 出现以来最损害代码的事。

  • 方法论成为管理工具
  • 方法论无助于创建更好的软件,敏捷就是一个很好的例子。它开始时是一种合理的软件开发方式,但现在却变成了“Psych 101 MBA Bullshit”。

    语言 & 开发架构架构师