如何进入一个新领域

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/80036982

周末下午,阴雨连绵,北大燕园。


640?wx_fmt=jpeg


自己也没想到,项目进展的如此迅猛,事情来的措手不及,伙伴们还在加班鏖战。但是,承诺的,还是要做到。更何况,这是好友海峰提前半月就约定的,最终还是参加了4.21 这次沙龙的分享,尽管心中对伙伴们很是歉然。


这一次分享的主题是——如何进入一个新的领域,按规矩从自我简介开始。


640?wx_fmt=jpeg

作为一个半吊子全栈工匠,一枚二十多年的老码农,有过三次世界500强的从业经历,参与过四家创业公司,几篇铅字短文,几次会议分享,在一个生态环境中投入过7年时间,杂乱的学了8种编程语言,署名九项国内外专利,《深入分布式缓存》一书的作者之一,右图就是本公众号。


640?wx_fmt=jpeg

主要按照 what->why->How->Do 的次序分享本次的内容。


按照我们思考的习惯,先要定义,也就是明确问题的边界。

640?wx_fmt=jpeg

为了简化起见,可以从业务和技术两个维度结合“新”来粗略地界定新领域。在这里,只有原技术实施于原业务没有定义为新领域。进入一个新领域包含换工作岗位,却远不局限于此。


为什么要进入新领域呢?

640?wx_fmt=jpeg

个人认为,主要有两个原因,第一个是“人在江湖,身不由己”。从业务上看,是组织的需要,不论业务转型还是多元化经营,都可能安排我们进入新的领域。从技术层面看,可能原有的技术满足不了技术的需求,或者对历史遗留技术债务的偿还,也可能是我们进入一个新领域。关于技术债务,可以参见一下老码农看到的技术债务


640?wx_fmt=jpeg

如果说组织需要我们进入一个新领域是被动的,那么由于个人追求进入一个新领域就是主动的。主动进入一个新领域可能有三个原因:

  1. 出于乐趣和热情,对自身技术的追求和完善

  2. 出于对财富的追逐,“君子爱财,取之有道”,这也没什么不妥

  3. 出于对技术或产业趋势的自我洞见

前面,秦金卫就提到了自己对趋势的见解。自己在5年前,也将互联网的技术趋势不知深浅的分为3个: 可信的网络,安全的网络和无所不在的网络。这也是自己目前从事IoT领域研发的原因之一。


如何在一个新领域中地位自己呢?


个人觉得,大概是“知人者智,知己者明,知己知彼,百战不殆”。

640?wx_fmt=jpeg

对于一个新的领域或者行当,从业务上看,要了解其功能特点和业务场景,简单的说,就是认知这一领域解决了我们生产和生活中的哪些问题,这些问题的边界在哪里,这很像我们了解的《领域驱动设计》。从技术上看,要考察具体实现中的核心组件与核心技术, 进而了解实现过程中的关键路径。


640?wx_fmt=jpeg


认识自己不是一件容易的事情。每个人都可能高估或者低估自己,而且是高估的时候比较多。对个人而言,尺有所短,寸有所长,认识自己技术栈中的优势和劣势。更重要的是,明确自己的志趣所在,明确自己的目标和期望。


640?wx_fmt=jpeg


在初步了解了新领域的特点和自己的特点后, 可以分别为领域知识和个人的能力建一个知识体系树,然后做对比映射,这一会有助于在新领域中定位自己。


回归到主题,如何进入一个新领域呢?


640?wx_fmt=jpeg

个人觉得,以系统思维考虑问题,进而建立自己的知识体系,然后以终为始的方式去行动,可能更容易适应一个新的领域。


系统思维,精彩会被大家提及,那什么是系统呢?


640?wx_fmt=jpeg

这是维基百科对系统的一个描述,大意是:


一个系统是一个经常相互作用相互依存的组成一个整体的项目。


每一个系统都被它的时空界限所划定,被它的环境所包围和影响,由它的结构和目的所描述,并在其运作中表达。


系统科学是一门学科,不是一介码农能搞清楚的。但是从相互作用和相互依存来看,是否可以理解成“面向接口的设计”呢?不论是系统的内部,还是系统与外部环境,交互表面都应该是优先思考的问题。


对系统中的一个重要描述,就是时空限定, 我把它理解为时空观。

640?wx_fmt=jpeg

从下向上,子系统->系统-> 超系统, 相当于空间结构,大致可以理解为组件,产品/服务,平台。 


从左到右,过去-> 现在->未来,相当于时间维度,大致可以理解为系统的历史演变。


以架构的一种演变说法为例,单体->垂直->SOA-> 微服务,(前面秦金卫中的讲述), 从时间上来看, what is the next? 是 service mash 吗?还是 FaaS 的Serverless 架构呢, 这都是指的思考的问题。


举一个 用系统思维理解 AI 的例子。


640?wx_fmt=jpeg

详见老码农眼中的简明AI 。


构建所谓的知识体系之前,先弄清一下什么是知识体系?

640?wx_fmt=jpeg

这又是一个复杂的概念, 但我们可以粗浅的理解为,让每个我们所掌握的知识点联系起来,让这些知识点可以相互作用和相互依存,并用时空的方式给予表达。知识不再是孤立的点,而是线,面,体。


这是我过去对全栈技术栈的一点设想,尽管全栈泛滥,且充满争议。

640?wx_fmt=jpeg

左侧是从空间构成上的理解,右面是时间和效率方面的理解。具体可以参见我的两篇旧文全栈的技术栈设想 和 再谈<全栈架构师> 一文 。


另一个例子是缓存。

640?wx_fmt=jpeg

缓存是拿空间换时间的艺术。传闻,互联网有两大神器,一个是缓存,另一个就是消息队列。关于缓存知识体系的构建,我负责任地推荐我们合著的一本书——《深入分布式缓存:从原理到实践》。


640?wx_fmt=jpeg


最后,举一个嵌入式领域的例子, 对于便携式设备而言,大家经常会讨论的一个问题——功耗。

640?wx_fmt=jpeg

金字塔是一种很有用的建模方式,或者说系统思维的方法,对于非技术领域也是如此,比如,马斯洛需求层次理论中的金字塔。关于功耗的详细描述,我准备单独立文描述,这里不再赘述。


最后,谈谈以终为始。

640?wx_fmt=jpeg


架构的原则有很多,个人觉得,以终为始是非常重要的一条。要知道系统的目标是什么,要理解理想状态是什么,并按照目标去预测和实践。


图中的九个方面来自于《创新算法》一书, 在10年前读此书时被深深震撼。关于这九个方面的详细描述,可以参见面向全栈的技术管理 一文,那是过去的一次分享的内容。


640?wx_fmt=jpeg


在问答过程中,出现了一些有趣的环节,例如,答非所问,还有人再次问到我在初入职场时的经历, 我又讲了那个故事,即三本书影响一个人


附:这是饿了么与北大开源协会(组织者是邬老师的学生)举办的技术沙龙,有视频回放:http://www.itdks.com/eventlist/detail/2072

目录
相关文章
|
7月前
|
算法 数据处理 计算机视觉
【MATLAB 】 MODWT 信号分解+希尔伯特黄变换+边际谱算法
【MATLAB 】 MODWT 信号分解+希尔伯特黄变换+边际谱算法
217 0
|
6月前
|
存储 SQL 分布式计算
离线数仓(五)【数据仓库建模】(4)
离线数仓(五)【数据仓库建模】
|
7月前
|
Docker 容器
执行docker info出现警告解决
执行docker info出现警告解决
|
7月前
|
关系型数据库 MySQL 数据库
docker容器访问宿主机mysql数据库
docker容器访问宿主机mysql数据库
253 0
|
7月前
|
安全 关系型数据库 MySQL
linux 安装 mysql步骤
linux 安装 mysql步骤
951 0
|
7月前
|
SQL 存储 关系型数据库
关系型数据库的语法
【4月更文挑战第11天】关系型数据库语法主要包括DML(SELECT, INSERT, UPDATE, DELETE)用于数据操作,DDL(CREATE, ALTER, DROP)用于定义数据库结构,DCL(GRANT, DENY, REVOKE)用于权限控制。数据类型如FLOAT, DOUBLE, DECIMAL, DATE/TIME/TIMESTAMP, TEXT, ENUM, SET等满足不同数据存储需求。各DBMS可能存在特定语法和扩展,实际使用需参照官方文档。
35 4
|
关系型数据库 MySQL 数据安全/隐私保护
开发指南—权限管理—角色权限管理
本文介绍角色权限管理相关语法级示例。 PolarDB-X兼容原生MySQL 8.0基于橘色的权限控制,请参见基于角色的权限控制。
|
C#
WPF中设置快捷键
原文:WPF中设置快捷键 方式1: 窗体中加入资源                                                                                                        其中:CommandBindin...
955 0
|
运维 调度 Windows
Windows NT 驱动程序开发人员提示 -- 应注意避免的事项
<p>下面是开发人员在使用 Windows NT 设备驱动程序时应当避免的事项列表: </p> <p>1.  一定不要在没有标注 I/O 请求数据包 (IRP) 挂起 (IoMarkIrpPending) 的情况下通过调度例程返回 STATUS_PENDING。  <br> 2.  一定不要通过中断服务例程 (ISR) 调用 KeSynchronizeExecution。 它会使系统
1589 0
|
7天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践