跳转至

1.2 Career

简介

工作回顾,当前工作,未来展望

职业规划:

AI模型算法特别卷,规划成为拥抱开源技术和芯片无关的AI Infra架构师

  1. 预期并高效测量各组件指标
  2. 快速分析并理解AI模型瓶颈。
  3. 并有些趁手工具(简单、灵活、性能):能简单使用、灵活拓展、性能极致。

PL

管人:

  1. 人员的招聘、离职;
  2. 人力的工作安排;
  3. 人员的身心健康、工作效率、工作态度、服从性;
  4. 人员的绩效评议考核。

SE

system engineer 系统工程师负责领导产品版本的系统分析和设计团队,主持产品版本系统分析和设计,是产品版本的技术总负责人,负责完成产品版本的需求分析、架构和系统设计活动,负责产品的技术竞争力。

细节

  • 客户关键战场:需要多交流,看客户需要什么关键共通的特性;
  • 思考下半年,下一年的工作核心:足够承载绩效的工作量,合适渐进的难度,最终的成果能落回自己的版本(无论是直接做到自己的交付件里,还是变成开源的自己会用的子工具),变成自己组的核心竞争力。
  • 做出来的交付件(软件,开源工具,技术汇报)要自己可控,落到自己版本里。

SE要点(PL视角)

  • 第一个,就是技术深度,对于具体技术;
    • 会调研,能分析,会设计、能决策。
  • 第二个,就是领域的意识,
    • 明确哪些工作成果能落到自己领域内;
    • 能够主动做好领域内的规划,突破关键问题;
  • 第三个,就是版本的意识,在对接客户、解决问题的时候,回答也可以多想想
    • 竞争力/特性规划:竞争力 = 质量/成本/进度 三角;保证质量优先。

角色1:子系统或特性竞争力的构建者

  • 业务、技术竞争分析;(业界和学界的技术流派分析)
  • 功能分解分配;
  • 模块间接口定义与维护管理;
  • 相关DFX落地实施。

角色2:客户需求和架构的传承者

  • 参与需求分析;
  • 参与架构设计,输出特性设计相关文档;
  • 承担子系统或特性规格。

规格 (Specification) 的含义

规格(Specification,通常简称为 Spec)是指一个详细的文档或蓝图,用于描述子系统或特性应该如何工作、它需要满足哪些要求以及它的设计细节。它回答了以下关键问题:

  1. “做什么” - 需求分析 (Requirements)

这是规格的核心。工程师需要将高层次的业务需求或用户需求转化为清晰、可测试、无歧义的软件需求。

  • 功能性需求 (Functional Requirements): 它必须做什么?(例如:系统必须允许用户通过用户名和密码登录。)
  • 非功能性需求 (Non-functional Requirements): 它必须做得有多好?(例如:系统响应时间必须在 2 秒以内;系统必须有 99.9% 的正常运行时间。)

  • “如何做” - 设计 (Design)

这是将需求转化为具体技术方案的步骤。

  • 设计细节: 描述子系统的内部结构、模块划分、使用的技术栈、数据结构和算法选择等。
  • 接口定义: 明确该子系统或特性如何与其他子系统或外部系统进行交互(输入、输出、API)。
  • 数据模型: 确定所需的数据存储结构(例如:数据库表结构)。

角色3:子系统或特性相关的技术方案的仲裁者

  • 领域/产品版本CCB的核心组成员,对子系统或特性技术方案的决策负责。

角色4:设计能力提升的建设者

  • 关键技术识别;
  • 设计工具、方法应用和共享;
  • MDE设计能力的辅导与培养。

角色5:设计方案落地的责任者

  • 指导MDE、开发人员进行设计方案落地;
  • 评估子系统/特性的实现质量,并改进。

角色6:产品市场成功的技术支撑者

  • 参与重点项目/重点客户技术交流;
  • 相关技术问题解决。

MDE

Module Design Engineer:软件开发项目中的一个角色。在开发组长的带领下,与软件工程师协同,主要负责软件需求分析、模块设计和模块系统测试。

角色1:模块设计的责任者

  • 模块内功能分解分配;
  • 模块内接口定义/参数定义及维护管理;
  • 模块总体方案或软件代码框架设计;
  • 模块跨版本设计一致性保证;
  • 模块内DFX落地;
  • 模块设计的持续维护。
  • 设计和实现模块内部核心代码,审核并批准内外部接口改动,组织模块级代码重构,避免代码架构腐化。

角色2:系统设计的传承人和实施者

  • 参与系统设计,并负责系统设计方案在本模块中的实施,输出模块设计相关文档;
  • 核心算法、核心部件(代码)实现。

角色3:模块技术的把关者

  • 模块内技术决策;
  • 模块内技术识别与技术能力提升;
  • 模块关键技术问题解决。

计算机职业规划

  1. 自底向上分析理解和设计计算系统(系统建模与高层次的抽象) + 企业核心落地应用
  2. 融入公司的核心竞争力的发展。参与到低延迟,高并发的高性能系统的设计。(使用、理解、设计)
  3. 传统应用的优化入手,分析计算系统的上限和程序的性能释放瓶颈,从而了解系统瓶颈。并考虑上异构的系统或者FPGA来解决。

以性能优化为切入点,系统建模和分析数据流程之后,解析程序瓶颈(深入了解对应操作系统是如何调度实现的,来深入了解内核),探寻性能最佳的执行手段。

华为相对互联网大厂靠什么吸引人

面对AI大厂,华为在下面有劣势

  • 工资、公积金、午餐补贴福利
  • 年假、加班(9116,互联网10105)、需要打卡、自然灾害不放假。
  • 学习时,不可避免需要学习很多华为硬件独有的知识,这些互联网也用不到。

华为优势是什么:

  • 园区环境、社区学术氛围、做国产芯片的理想
  • 学习的空间更大;我花了蛮久来转专业和学AI相关知识。

难以评判的地方:

  • IPD流程,华为有一套严格的开发流程:初期调研 -> 需求规划 -> 需求开发 -> 测试验收 -> 长期看护。
  • 好的方面是: 十分规范,和别人容易对接任务。
  • 被批评的地方:流程繁琐,自己给自己套上枷锁。

华为的策略:

  • 基本不会招搞算法的,钱要得更多;
  • 只招聪明人,然后从头培养。我们部门很多外部和跨专业的。

电子市场分析?

To do :

  1. 分 C端、G端、B端分析
  2. 结合产业规模,
  3. 行业发展程度,当前状态(是否有瓶颈,还是需求端不足)。

计算机的经济价值在哪里?= 没有计算机会怎么样?

数字化的工作流能享受到摩尔定律的加速

"Once a technology becomes digital-that is,once it can be programmed in the ones and zeros of computer code-it hopes on the back of Moore's law and begins accelerating exponentially."

  • Peter H.Diamandis Steven Kotler, The Future Is Faster Than You Think
  1. 重复事情只需编程一次;
  2. 自动化 (类似加减乘除计算器的各种程序,可以暴露api以黑盒的情况下快速给出准确结果或者推荐选项, 这里主要指利用计算机的计算能力
  3. 开发难点:可用(基于特定算法,或者大数据喂给AI)、易用、好用(性能)。
  4. 没有明显先发优势,由于没有生态概念、迁移门槛低,客户只会选择好用、便宜和高性能的。
  5. 核心竞争力:软件如何实现 大规模,高并发,高利用率(算法,实际技巧)
  6. 便利性 (资源整合平台类似美团打车之类的,考验计算系统的数据库和网络,对应的低延迟,高并发)
  7. 开发难点:好用(快响应,低延迟),长期运维的稳定性
  8. 明显的先发优势:用户生态形成壁垒。参与对象越多、越好用、用户依赖程度越高。
  9. 核心竞争力:与人的交互的软件设计思路(飞书企业协作管理,集成了项目进度的allInOne极简模板平台),最全面的资源(美团最多的店家、高德最详细的地图、M站最多的种子数、B站最多泛二次元群体),稳定的运行,比用户需求高的快响应,低延迟性能。
  10. AI全面解放人类(具体指AI代替人做事情,解放人类,e.g., 机器人,自动驾驶,AI编程)
  11. 开发难点:当前AI必须有下面几点才能快速向AGI发展:
    1. 人类思考问题的正确逻辑链
    2. 基于已有的知识(世界模型),有识别输入知识的正确性的能力。
    3. 这样基于正确的知识的正确的推导,才能形成正确的结果。乃至真理(毁灭人类是必须的)。并在计算机的高速无休止运行下快速成长。
    4. 也就是说AGI要有明显的人格特质,不是指说话的语气,而是AGI的每个观点要是经过思考达到和谐平衡的结果。当然不排除思考过程中死循环的事情,比如先有鸡还是先有蛋。
  12. 当前AI,只能接受数据集的知识,没有自我思考并选择的过程
  13. 核心竞争力:支持AGI的计算系统是什么样子的呢?
    1. 抽象来思考:计算、访存、网络是三部分基石。类似人形机器人的设计。计算单元来实现大量内存记忆数据的读取 和 网络实时交互学习信息的 过滤思考
    2. 性能指标:低延迟,高吞吐。
    3. 计算单元:针对思考过程的特殊操作设计,数学推导关系的实现?集合论?是非关系?这种场景下还需要GPU的这么多核并发吗?
    4. 内存要考虑的是存算一体的可能性?不然就是吞吐和延迟

Costume 端 特有的:

  1. 内容生产(AIGC)
  2. 开发难点:达到人类审美的AI内容
  3. 没有明显的先发优势, 生成内容的风格会筛选用户。
  4. 核心竞争力:支持的生成方面广(生成内容的风格需要能定制化),内容质量高,速度快。
  5. 文娱产业(电子游戏,视频内容)
  6. 开发难点:丰富的游戏细节,和与时俱进的美术。
  7. 没有明显的先发优势, 游戏内容的精度和新鲜感是最重要的。
  8. 核心竞争力:如何实现工业化的高级美术和剧情产出(AIGC?)。

计算机行业为什么赚钱? 这个理由能持续下去吗?

  1. 门槛低,一台笔记本就可以写软件,从便利的各种小工具,到大型软件。
  2. 在专利保护下软件复制成本近乎零,收益稳定。可以实现薄利多销。
  3. 低成本复用性:一个APP开发好之后,可以在不同位置和时间无成本复制(指每个人可以在任意时刻使用软件服务)。 第一产业生产的粮食和工业制品都是生产一个消耗一个。服务业也是一次性的。
  4. 无损耗,实现后可以长期生效。是少数跨越时间长河的永恒的东西。
  5. 但是在激烈的竞争下,软件都趋向免费化。靠基于庞大用户群体的平台抽成和附加高级服务(云盘会员,游戏附加充值)来实现。或者是靠免费化吸引一波用户。
  6. 芯片硬件流片周期长,成本高

参考文献