汪志成 - [email protected]

26年码农,六边形战士

关于我

专业

  • 架构师:深刻理解架构的本质,擅长领域建模,擅长做减法

  • 前端专家:对前端技术有本质性思考,Angular 领域 GDE

  • 全栈:Spring/Kotlin + Angular/TypeScript + Rust,能力足以覆盖端到端完成一个产品(美术除外)

  • 创新:提出 AI-based UI 解决方案,创立 DDAI 方法论

  • 科普:擅长用非技术人员的语言表达技术概念,擅长结合实例进行讲解

文采

  • 儒生,前《国学复兴论坛》总版主,基本可以直读文言

  • 文艺中年,有一定文化底蕴。追求文以载道,文章有一定感染力

  • 不走寻常路,起点低,但勇于追求精彩人生

热忱

  • 从 Angular 2 开始进行官方文档的中文翻译工作。全量翻译,涵盖指南、API 等;每半年同步更新

  • 从入行开始几乎每天写代码,始终关注、学习、实践前沿技术

  • 一本原著,两本译著,五场公开演讲,大量文章,大量开源代码

梦想

  • AI 改变世界。特别是将从教育领域切入,最终实现人人平等

  • AI 带来的生产力增量,会加剧不平等,但仍有希望实现帕累托改进下的和平

自知者明

  • 对 AI 技术的深层原理缺乏了解,只有一些唯象的理解,知识和技能主要局限在应用层面

  • 高数已经忘光了,需要的话可以借助 AIGC 重新捡起来一些,但能回到的高度有限

AI 理解

日常应用

  • 学知识,满足好奇心:主要学习自己领域之外的知识,如超导、电池、量子力学等

  • 学技术,辅助编程:代替大部分搜索工作,寻找技术解决方案

  • 学英语,辅助翻译:深入探讨难以确定的英语问题和技术问题

  • 发散思维,寻找灵感:走入思维定势时问一下,也许能走出牛角尖

  • 总结概括,提高效率:把非敏感会议记录等输入进去,要求抓重点,重整格式等

  • 育儿,给孩子编童话故事:自己很难再有童心,但 AI 可以假装有

编程应用

  • 洞见 - AIGC 强于归纳(问题),弱于创造(解决方案),为了"讨好人类"而强行创造就会导致幻觉

  • 从应用层抑制 AIGC 幻觉的要点在于以问题定义 DSL 为媒介,充分发挥其问题归纳能力;在解决方案域以程序员为主导,让 AIGC 进行战术辅助,而不让它作战略性工作(至少在目前的水准上如此)

  • 这就要求程序员具有更宏观的视野以及更敏锐的直觉,更少的思维定势和路径依赖。这些我比较擅长

架构理解

对架构的认识

  • 道(问题的本质):领域知识架构 => 业务架构 => 业务组织架构 => 系统架构 => 研发组织架构

  • 法(原则、导向):业务导向,依赖管理,做减法

  • 术(方法、套路):DDD、整洁架构等

  • 器(技术、工具):Spring 库、ArchUnit 等

架构的实践

  • ui-model

    开源前端库:无界面的界面库,对交互逻辑的纯化封装。其它商业项目恕无法展示

前端理解

团队组织模式

  • 从前后端分离到重新合一:部分团队适合采用全栈工程师+技术专家的组织模式,向业务架构对齐

AIGC 带来的交互革命

  • AIGC 首先是一场交互革命,这是 iPhone 时刻的体现。当然,AIGC 比 iPhone 更有革命意义

  • 前端会在 AIGC 的辅助下走向面向意图编程的模式,这将零成本实现 a11y,抹平 a11y 的鸿沟

  • AIGC 时代,大部分 UI 都会是自动生成的、个性化的、极简化的

社区贡献

官方文档翻译

  • https://angular.cn

    Angular 官方文档中译版,翻译及时、准确、全面。从2016年至今,每半年随官方发版更新一次(早期的几个版本一个月更新一次,特性稳定后随每次 release 一起更新)。翻译内容不但覆盖所有文档,还覆盖了所有 API 文档,Angular CLI 命令等。 翻译过程中还开发了一个基于 Google Translator 等技术的翻译工具以提高工作效率。 最近版本还借助 OpenAI API 和向量数据库技术自动全量排查了过往积累的翻译错误。

  • https://material.angular.cn

    Angular 官方组件库 Angular Material 的翻译工作,翻译频度、质量、范围同官方文档。

  • https://rxjs.tech

    RxJS 6/7官方文档的翻译工作,翻译频度、质量、范围同 Angular 官方文档。

ThoughtWorks 技术雷达

  • 2014年7月版中文译者(从此以后中国区就自己接过了翻译工作,不再外包)

  • 2015年~2022年版本的译者之一

  • 部分 blips 的提出者

演讲

  • 2017 InfoQ 演讲《ui-model ------ 更纯粹的前端》

  • 2018 ngChina 的协办及 Keynote 演讲《你不是一个前端》

  • 2019 ngChina 的协办及 Keynote 演讲《不要做半吊子的面向对象程序员》

  • 2019 FDConf 演讲《模型驱动开发》

  • 2019 GDG DevFest 演讲 《给 Java 程序员的 Angular 快速指南》

个人技术网站及开源项目

纸质著作

  • 原著《AngularJS 深度剖析与最佳实践》作者之一

  • 译著《Angular 权威指南》(ng-book2)译者之一,组织者

  • 译著《Rust 程序设计》第二版(Programming Rust 2nd Edition)译者

工作经历

ThoughtWorks(2014.7~2023.9) Lead Consultant / 专家级咨询师

  • 作为软件工程师,参与了大量项目的开发工作

  • 作为 Tech Lead 兼售前工程师,参与了大量项目的售前及售中沟通工作

  • 作为 Advisory,参与了部分客户的组织转型、研发改进工作

  • 作为 Tech Lead,参与了 ThoughtWorks 自有产品 BeeArt 前身的开发和第一版的奠基工作

  • 主要服务对象包括国内企业(以金融、保险、电信、通讯、教育、制造业为主)、政府、外企、公益组织等。

    • 某大型国企集团下辖科技公司的 AIGC 应用架构 POC 项目(2023)

      此客户试图为总部领导提供一个自然语言查询统计平台,根据领导用自然语言描述的需求,生成 SQL 语句,查询出结果并展示出来。但是受限于自身的 AI 应用经验和架构经验,准确率只能达到 40% 左右,而且不能提供额外信息来让领导判断AI给出的答案是否靠谱。在 ThoughtWorks 介入后,我综合利用 AIGC的生成能力和潜入模型能力,设计出一个能解决上述问题的新架构,并作为主力程序员进行了代码实现,最终的实际准确率达到了90%,并且在架构中留出了可整合专家系统的扩展机制,以便可以针对高频、高价值问题为领导提供百分百可靠的答案。

    • 某五百强能源管理企业的敏捷咨询(2021年)

      此客户尝试向传统制造业引入敏捷,但是感觉无从下手,所以找到 ThoughtWorks 进行探索。 作为咨询师,设计了一个能结合双方经验的咨询、共创流程;作为讲师,给客户科普了软件及敏捷的基础知识;作为教练,帮助客户学习和实践设计思维(Design Thinking)方法论。

    • 某跨国通讯制造企业的 Design Thinging 协作平台(2019年)

      此客户的办公室分布在全球,传统的沟通协作成本很高,因此需要一个系统来把他们的产品设计过程标准化、平台化,以提高效率和效果,因此找我们定制开发了这个协作平台。 作为开发人员,实现了协作平台的"用户旅程"图形化编辑器。 作为架构师,设计了协作平台的前后端协作架构。 作为教练,带组内的 Java 程序员快速掌握了 Angular 开发技术,并激发了其学习热情。 作为教练,帮助组内的其他前端提升了开发能力和代码质量。

    • ThoughtWorks 自主产权协同设计平台 BeeArt(2019~2020年)

      这是 ThoughtWorks 自己的产品设计平台。可以帮助从领导到一线员工的分布式团队协同工作,内置 Design Thinking 方法论的支持,让普通员工不需要额外培训就可以有效的完成自己的那部分工作。这就是 ThoughtWorks 的"方法+流程+平台" 一体化方案的"平台"部分。作为开发人员,主导了 POC、MVP 阶段的开发工作。作为总架构师,设计了前后端整体架构。作为技术负责人,组建了适合本产品的研发团队。

      • 某跨国汽车制造企业区块链咨询项目(2018年)

        作为开发人员,实现了应用层的全部前后端程序,并进行了 Azure 平台部署,调用其他同事编写的区块链平台(核心层)API,让客户能够端到端演示其设想中的业务+技术流程。作为咨询师,为客户撰写了部分关于区块链应用的文档。涉及到的主要技术是 Kotlin + Spring,Angular 6,Docker。

      • 在 ThoughtWorks 期间,总计参加了约26个咨询和交付项目,篇幅有限,加之保密限制,恕不在简历中一一列举

精硕科技(2013.7~2014.7)研发工程师

  • 参与广告效果监测系统的开发工作。

    创势达人(2004~2013)

    研发工程师、CTO

  • 这是一个很小的创业公司,但没成功。产品是一个系统,用于帮助商户把线上与线下业务结合起来。

雅虎(2003~2004)研发工程师、产品经理

  • 雅虎上网助手 之 IE 修复专家 的产品经理。

清华紫光(2002~2003)研发工程师

  • 参与法院信息系统的开发。

北京铭泰(1998~2002)研发工程师、项目经理

  • 担任翻译软件《东方快车》的测试工程师。

  • 独立开发了网络翻译软件《东方网译》。

  • 独立开发了国内第二款自定义浏览器。

教育背景

石家庄铁路工程学校 --- 石家庄(1993~1997) --- 小中专 --- 桥梁与隧道

职业生涯从未受到学历困扰,因此也就未再参加学历进修

荣誉展示

  • Google Developer Expert(Angular 领域) 2016至今

文采展示

译者心声

我爱翻译,因为我只是个普通人。曾有大神明言"我凭什么要把陪老婆孩子的时间花在解决你的英语问题上?"确有几分道理。但,我愿意,因为我不是大神。

我知道,对于技术人,英语很重要;但我也知道,生活不易,有些人真的没有肉糜可吃。

我知道,996 之后背单词是会不知不觉间睡着的,是会在早晨忘掉三成的。

我知道,哑巴英语是不敢开口说话的,满肚子的单词就是没法交流,发音错了、语法错了都是会尴尬的。

我知道,看英文资料是会费神的,会把原本不多的精力耗费在查单词和琢磨语法上,会不知不觉间就忘记了原本的思路。

我知道,翻译甚至写书都是不赚钱的,对于资深技术人,翻译一本书的收入是不如做一天企业培训的。

作为普通人,理想与现实,我要付出双倍的努力才能兼顾。但,你不必如此。作为译者,我愿作一块上马石,让你能离理想近一点。这一点点的差距,也许就是你做与不做的分界线。诚然,这微不足道;但,也许你在乎。

我愿以对"信"的坚持,述而不作,让你能接触第一手知识;愿尽我所能纠正原著的笔误,让你能不被误导。

我愿以对"雅"的执着,规范中文用语,避免翻译腔,让你能感受母语般的轻松自然。

我愿以对"达"的笃定,深入理解,探究本源,以恰到好处的表达和译注,启迪你思考技术背后的"道"与"法"。

翻译很难,高质量的翻译更难,个中艰辛,不足道也。年近不惑,我也不知道还能坚持多久,惟愿自己不忘初心,永远记得那早已渐行渐远的年轻时代。惟愿我走过的艰辛,亦能成为你的财富。

《Rust 程序设计》译者序

我曾是一名"前端",在那之前,我是一名"后端",而在刚入行的时候,我是一名系统程序员。现在,我是一名"锈儿"(Rust:铁锈)。

在系统编程领域,一场变革正在悄然到来,而这次的主题,叫作"安全"。

2017 年,英国劳合社(Lloyd's of London)在一份报告中称,一场全球范围的大规模网络攻击造成的经济损失平均达 530 亿美元,这与一场特大自然灾害【比如 2012 年的美国超级飓风桑迪(Sandy)】造成的损失相当。而前几年轰动全球的勒索病毒 WannaCry,在单次事件中造成的直接经济损失就高达 80 亿美元。

这些,都还没有包含企业形象、政府形象等的无形损失,以及给受害者造成的次生灾害。

是时候改变这一切了。

与其四处漏水之后再"亡羊补牢",不如从一开始就让安全内建在软件中。这个理念早已是业界共识。然而,好用的工具太少了,特别是对系统程序员来说,而系统程序恰恰是被攻击的重灾区。

造成这种局面的原因很多:一是系统程序往往工作在底层,容易获得很高的权限,一旦被突破,无论上层如何封堵也作用有限;二是系统程序普遍使用汇编、C、C++ 等语言编写,这些语言本身不仅过于复杂,也过于灵活,导致很难开发出全面的安全辅助工具;三是系统程序员数量少、任务重,很难抽出时间仔细思考安全问题。

中国的科技产业要想扎下根、扎稳根,必然要涉足系统程序开发的领域。如今,这种需求比以往更加紧迫。

作为 ThoughtWorks 的咨询师,我服务过很多企业。前些年,我们的大部分客户是做上层应用开发的,特别是在互联网和金融方面;这些年,越来越多的制造业企业开始找到我们。

这固然有我们市场品牌推广的功劳,但从另一个角度看,也说明制造业企业正在步入"深水区",开始有意识地把软件能力融入自身的技术内核。

对制造业企业来说,管理软件固然重要,但是真正的"老大难问题" 是嵌入式软件。这是因为只有这些代码才会真正运行在目标场景中,一旦出现问题,可能导致上百万乃至上千万元的损失,甚至会以生命为代价。所有人都知道有问题,但没有人敢动,也没有人知道该怎么动。这,就是无奈的现实!

然而,没有"银弹"。即使本书中介绍的 Rust,也只是候选工具箱中的一个。诚然,它打开了一扇新的大门,开启了一种新的思路,但这还远远不够。安全是一项系统工程,走向" 内建安全" 的变革更是一个混沌领域:技术、市场、人力、供应链等问题搅在一起,牵一发而动全身。任何人都无法以一己之力改变它,哪怕是总工程师、总经理,甚至董事长。但是我们应该从现在开始就进行知识储备和安全科普,一点点积累共识,逐渐形成变革的合力。

相对而言,编码方面的问题也许才是最单纯的。毕竟,只要能编译成机器码,CPU 才不会管那么多。编码,有机会成为变革的突破口------安全漏洞减少 => 开发效率提升 => 市场竞争力提升 => 利润提升 => 进一步投资于安全,开启一个良性循环。

产业升级的关键是先进制造业的升级,而先进制造业升级的第一步就是形成差异化竞争力。随着智能设备的爆发和万物互联的持续推进,网络攻击必然进一步广泛化,安全也必将在每个消费者的心中成为产品的核心属性。那时候的你,将是引领者还是跟随者呢?

千里之行,始于足下。是时候好好规划你的未来了。

愿本书能有幸成为你的上马石!

与君共勉!