程序员知识体系探索:点、线、面、体(下)

简介: 程序员知识体系探索:点、线、面、体(下)

程序员的点线面体


image.png


这里先抛一张示意图,点线面体是一种演进。在各阶段还有细分。

点:我们首先定义为解决具体问题,比如实现多文件的上传下载。一个复杂度一般的系统owner,我们都可以暂且纳入到点这个层面。但其实system就需要一些系统化思维。


从系统owner到二级域


image.png


如上图所示,System的  owner,从系统的角度是一个点。但从功能(Func)到System的角度可以是一个面的变化。有平台能力视角、稳定性视角、运维视角。

那么对于研发人员要迈出的一步就是,从完成功能A下载(点)逐步进阶到整体功能覆盖(线)、进而考虑多维视角:平台能力视角、稳定性视角、运维视角...


线:从但系统到产品线(二级域)可以理解为一种点到线的跃迁。之前考虑的是单个系统的职责、质量;现在要考虑一条产品线(N个系统)。


image.png


从二级域到一级域

从产品线(二级域)到一级域,可以理解为由线到面的跃迁。


image.png


在面的视野上,除了平台能力视角、稳定性视角、运维视角,可能又有了业务治理视角、业务运营视角等。


对于业务身份,你写的代码,是别人的噩梦吗? 这篇文章曾提及,使用扩展点的方式。


扩展点的设计是这样的,所有的扩展点(ExtensionPoint)必须通过接口申明,扩展实现(Extension)是通过Annotation的方式标注的,Extension里面使用BizCode和TenantId两个属性用来标识身份。


image.png


业务身份对于业务层的跟踪和治理作用非常大,类似于技术侧traceId的可追溯性。


image.png


从面到体,就技术人员发展而言,我认为有2条途径,比如从一级域的问题终结者到全域架构,视野俯瞰是整个公司的技术架构;也可能是从架构师角色走向管理岗,比如CTO。


由线到面 vs 由面到体


解决的是由线到面的问题,还是由面到体的问题 我认为最大的分解点在于是


1:是否是解决的问题域有足够的扩展,比如从一级域到全域架构

2:是否重新定义问题域、技术输出模式、产品模式或者商业模式


(二者满足其一)


我们可以看一个例子,电商系统发展面临的问题。有系统问题、业务问题、技术支持问题。鉴于问题域是整个电商平台(够广)、问题维度涉及方方面面(有较强复杂度),是达到面这个层次的,但是还不能称之为"体" 这个层次,因为解决的问题域已知比较确定的问题域。


image.png


from 公开演讲资料《蘑菇街每秒订单数25倍提升历程》


对比,聚石塔这个case,就可以看到由面到体的变化。

从输出技术、到输出产品、到解决方案。解决是不同层次的问题。


image.png


from 公开演讲资料《聚石塔电商云容器服务应用和实践》


总结:点、线、面、体在任何专业领域都可以采用的4要素方法论。小到一位贴瓷砖的工人,大到数万人公司的参谋长。4要素方法论对于程序员知识体系,也有不同层的划分,就研发体系、运维体系也有各自的细分。本文所列的观点仅仅代表业务发展到一次规模公司的程序员的发展和自我完善途径。


声明:

2017年12月移动应用APP活跃度排行榜 参考:

http://www.askci.com/news/chanye/20180131/143916117331.shtml

内容启发:智能商业二十讲、产品思维30讲

相关文章
|
Java 区块链
Java工程师入门区块链的7个开源项目
如果你是一个对区块链感兴趣的Java工程师,那么除了阅读书籍或博客之外,更好的学习方法是亲自动手,深入了解以下7个最流行的Java区块链项目。 1、Corda Corda可能是Java开发人员进入区块链世界的最自然的出发点。
6954 0
|
人工智能 架构师 决策智能
agentUniverse X 浙大太乙平台,开源共建招募令来啦,3万奖金等你拿!
agentUniverse 首期开源共建活动正式上线啦!3万奖金池等大家贡献瓜分~
|
10月前
|
Java API 微服务
2025 年 Java 校招面试全攻略:从面试心得看 Java 岗位求职技巧
《2025年Java校招最新技术要点与实操指南》 本文梳理了2025年Java校招的核心技术栈,并提供了可直接运行的代码实例。重点技术包括: Java 17+新特性(Record类、Sealed类等) Spring Boot 3+WebFlux响应式编程 微服务架构与Spring Cloud组件 Docker容器化部署 Redis缓存集成 OpenAI API调用 通过实际代码演示了如何应用这些技术,如Java 17的Record类简化POJO、WebFlux构建响应式API、Docker容器化部署。
521 5
|
机器学习/深度学习 并行计算 算法
量子计算如何改变优化问题?带你入门量子优化!
量子计算如何改变优化问题?带你入门量子优化!
453 7
|
存储 XML 编解码
PyMuPDF 1.24.4 中文文档(三)(1)
PyMuPDF 1.24.4 中文文档(三)
676 0
|
人工智能 机器人
Flowable + Claude Desktop:AI驱动的RPA新玩法
Flowable与Anthropic推出的Claude Desktop联手,带来AI驱动的自动化新体验。用户只需告知目标,系统便能自动分析屏幕、规划步骤,完成任务如网页数据抓取或表单填写。相比传统RPA,它更灵活智能,适合应对不确定性场景。通过“看懂屏幕、理解目标”,Claude Desktop在复杂环境中游刃有余,尤其擅长处理界面更新和突发情况。这种组合将Flowable的流程管理和AI灵活性完美融合,为自动化领域注入新活力。
705 3
|
存储 消息中间件 物联网
数据治理:数据集成
数据治理:数据集成
483 11
|
数据采集 API 调度
Flutter笔记:关于SchedulerBinding
Flutter笔记:关于SchedulerBinding
454 1
|
API Python
Python邮箱API发送邮件的方法和步骤
使用Python发送邮件涉及导入smtplib和email模块,设置发件人、收件人、主题和内容,然后连接SMTP服务器(如示例中的smtp.example.com)并使用SMTP方法发送。完整代码示例包括异常处理,确保邮件发送成功或提供错误信息。通过这种方式,可以实现Python的自动化邮件发送功能。
|
消息中间件 负载均衡 算法
聊聊 分布式 WebSocket 集群解决方案(二)
聊聊 分布式 WebSocket 集群解决方案
聊聊 分布式 WebSocket 集群解决方案(二)