关于基建工作的思考

📅
1 分钟阅读
·

基建工作的投入条件

业务团队通常先讨论收益,再安排技术投入。这个原则适合处理已有的业务需求,但基础能力的收益常出现在后续多个项目中,短期内难以直接归因。由此会出现三类情况:

  1. 业务上线后才根据已有实现归纳共性并提炼方案。此时基础能力需要兼容既有代码和流程,改动范围较大,也更难控制对现有业务的影响。
  2. 在业务需求出现前,根据可能的变化预先设计基础能力。由于没有明确的使用方和收益,方案难以获得资源;团队通常还要优先处理当前已确认的问题。
  3. 业务刚提出需求时,发现其中一部分可以沉淀为基础能力。但基础能力的设计和验证需要时间,业务交付往往先采用局部实现。后续没有安排迭代时,这部分局部实现会继续留在项目中,基础能力也难以补齐。

要处理这些情况,团队需要为预研、抽象和验证保留明确的时间,并在业务规划中说明投入依据。提出基础能力方案时,还要写清它处理的重复问题、预期使用范围、当前限制和验证方式。这样资源讨论可以基于已知条件进行,而不只依赖个人判断。

需求变化对基础能力的影响

基础能力上线后,仍可能遗漏未来需求中的可变部分。已有设计覆盖当前场景,不表示它能覆盖后续的输入、流程或约束。基础能力维护者离开后,后续工程师若只能通过局部改动适配新需求,通常会认为原有边界无法支持当前工作。

变化频繁的业务需要在设计时列出已知的变化点,并说明哪些变化尚未覆盖。遗漏无法完全避免,因此实现还要保留调整边界,并在新需求出现时记录:原有假设是什么,变化发生在哪里,应该扩展既有能力还是保留为业务层差异。这里没有通用的设计方法可以消除所有遗漏;基础能力的适用范围需要随业务事实持续校正。

基建工作与技术能力

业务开发和基础能力开发的技术要求不同。基础能力工作通常需要处理抽象边界、兼容性、性能、稳定性和长期维护;业务工作也可能涉及复杂的领域建模、交付约束和协作问题。技术能力不能只按使用的技术栈或工作类型判断。

职业发展中的问题可以落到两个可检查的方面:

  1. 当前工作是否证明了某项具体能力,例如设计接口、处理兼容性、定位性能问题或维护长期演进的系统。
  2. 这项能力是否对应团队当前或可预期的工作需要。能够从零实现某项技术,不代表它会在当前团队的职责范围内产生价值。

选择工作内容时,需要同时考虑个人希望积累的能力、团队能够提供的实践场景,以及这些能力与后续职责之间的关系。


73 字 · 15 段落
ximing

Follow onGitHub

相关文章