- 软件开发的核心问题:处理业务复杂度,并有效传递知识,达成更高的协作效率。
- 举个例子:作为一个前端,企业要求我搭建一个埋点平台,在本身埋点 sdk 之外,还涉及到监控平台的自动化部署。从技术上来说,难度并不高。如果让前端去部署,则需要:向运维申请服务器权限,理解现有的服务器目录结构,构建单独的镜像,做完后让运维团队审核。而直接让运维去做,这些成本完全是可以省下来的。
前端学习运维相关知识,并不是为了深挖后去干运维的活,而是在明确这个任务需要运维的协助后,尽早地去申请资源,达成更高的协作效率。
- 知识工程的要点:
- 如何有效提取组织知识、让知识变成 llm 能够理解的形式。通过有效沉淀大量知识,借此加速新人培养和团队打造的过程,通过更好的人与团队,构造更好的产品。
- 有哪些知识应该被有效提取:
- 业务模型图:通过领域驱动设计,进行业务建模,明确上游业务真正要什么。
- 任务分解:统一且合理测试工序,也就是我们的整体架构分层是怎样的。比如 smart-domian 与微服务。如果一个团队中,5 个开发有 5 种分解方案,那么这个团队的技术负责人就等于没有做任何事情。
- 文档化测试:TDD 流程中,应该时刻注重调整测试用例,将其变得可读。
- 技术支撑(也就是所谓的“全栈”):