2022-年终述职报告

前情提要:2022的Flag

  • 重修数据结构+算法

    重启了leetcode的算法题,但是进度缓慢

  • 重修图形学知识

    忙着学习openxr的东西,图形学的部分反而没有怎么看

  • 找到一个落地黑科技

    完全NG,年初一个大转型就走出了手机行业,不知道XR的部分是不是算黑科技?

  • 完成一次mini铁人三项

    没有完成,2022-11-29健身房器械PB:史密斯机蹲20+60x2=140KG,自由杆推:14+37.5x2=89KG,硬拉:14+45x2=104KG,自身体重82.3KG。

2022整体回顾

整个2022年只有一个主题,就是转型,全面从手机转向了XR,大约从2月份开始接到密令需要着手研究XR相关的内容,由此开启了OpenXR Spec的学习,正好借着上海的疫情,可以在家里进行系统化的XR学习和密集的文档输出;另外一方面是正儿八经的开始做团队建设。

VR-OpenXR:

结合自身的经验,整体的OpenXR学习目录和顺序如下:

  1. 什么是OpenXR:了解OpenXR,需要明白

    Khronos官方Spec:https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html

  2. OpenXR的代码结构:弄明白OpenXR的实现在哪里

    解析文章:《Monado Runtime源码结构分析》

  3. OpenXR Out Of Process的代码实现:解决什么是Out Of Process模式

    解析文章:《Monado Out of Process流程分析》

  4. Loader & Broker:OpenXR在运行过程中是找到所谓的Runtime的?

    Khronos的表示实现解析文章:《OpenXR Loader and Broker》

  5. OpenXR中的关键概念:Instance,Session,Swapchain

    解析文章:《Monado Session状态流转》

  6. VR中的显示/渲染/时延的关系:ATW等技术是怎么来的?

  7. OpenXR中的数据流:Monado头显数据通路是怎么回事?

    解析文章:《Monado Android Sensor Data Flow》

  8. XR世界中的Space和坐标系:各个坐标系的转换是怎么回事?

    小白教程,从右手左手坐标系到设备上的各个坐标系解析文章:《XR开发中的坐标系》

    本来打算再写一篇OpenXR中的三个Space的解析文章(、VIEW,LOCAL,STAGE),但由于种种原因没有继续,主要还是
  9. OpenXR中的Api Layer:Api Layer是怎么回事,如何实现?

    解析教程:《OpenXR Extension Api Layer实现方案》

    附赠的一些东西,典型的是Hand Tracking等特性的扩展实现:《OpenXR Hand Tracking》

  10. 一些额外的技术实现:好玩的,有用的

    Android普通应用在OpenXR(VR)上的显示:《Unity - Android Share Texture》

    Mediapipe的好玩项目们:《Mediapipe编译》

    SDK实现的行业分析:《管中规豹-Oculus App生态分析》

小结

通过大约8个月的代码阅读和实践,对VR项目可以说有了一定的认知,相对手机来说:

  • VR的门槛在透镜和光学上貌似更高(对于传统的camera团队来说),
  • 对延迟和功耗的敏感度也要高
  • 在材料和整机重量上也有一定要求

结合自己在各个竞品的体验,发现除了硬件,软件生态和app的独占性,对最终产品的购买选择上也会有很大影响(所以OpenXR是各大内容厂商很期待的内容

团队建设-MDE工作:

MDE=Module Design Expert,今年开始额外多了一个角色:部门一级MDE,需要带着部门中的各个模块MDE进行责任模块建设。

主要的工作是分为三个模块:

  • 模块建设者:培养新人,需求讨论,模块设计
  • 模块维护者:文档维护,代码维护,产品维护
  • 模块观察者:行业路标,模块未来,技术迭代

出发点是非常好的,但是作为一级MDE,更大的责任是需要去帮助具体模块的MDE完成各自的OKR,在推进过程中会发现很多伙伴对于文档,流程,交付是没有什么理解的,有时甚至是觉得因为老板要做所以我才去做,因此在公司内部存在的普遍问题是:模块交不出,老人抽不出,新人无法上位。

结合自己的经验,本来的打算是想用两年四个半年的时间来影响/挑选一些同事:

  • 第一个半年夯实基础知识,带领大家一起看一些书,学习方法论。

    去年的周志华《机器学习》西瓜书,今年的《代码随想录》

  • 第二个半年梳理/反思公司流程,在流程中确定一些共识,从内心认可流程的必要性。

    code review的必要性,jira流程的必要性,督促组内的同学来共同遵守

  • 第三个半年开始着手整理模块文档,并从组员中发现后继者,建立真·人才梯队
    让当前的MDE从繁忙的交付中解脱出来,可以尝试去做一些行业分析,找到新的方向
  • 第四个半年尝试让各个MDE可以从当前模块走出去,厘清/拉通模块的上下游
    做App的可以真的去debug framework,做framework的也可以帮着app做优化

很可惜,整个过程做到第二个半年就结束了,而大部分的MDE们等于是重新领略了一遍新人的学习路线罢了,依旧没有从繁忙的交付中抽出来。只有猪队友实验室走到了第四步,但其实是走了3年才走到,很欣慰的是大家也感受到了从交付中解脱后的好处:可以有时间去挑战更难的任务,同时也让人很难受,因为任务越来越具有不确定性(因为都是前瞻,预研性质的,并没有既定的KPI),大家的成就感不如做既定的交付那么强。

如何给大家找到事情做的同时,给大家找到强烈的成就感,我想,这是team leader的一个重要任务吧?

小结

作为一个部门的一级MDE,整个工作是不合格的,并没有把整个部门MDE的积极性调动起来,整个技术管理例会也没有开展的很好,原因有很多,个人的原因是觉得给大家增加了额外的工作量(因为自己并非各位MDE的直线leader),如果贸然给与太多任务会挤压到各位的时间,自己在各位MDE的业务上也不能直接兜底,无法给出实质性的帮助,所以自己也退缩了。内心戏太多

这两点也是猪队友实验室可以开展的比较好的原因,一个是成员熟悉,另外一个是自己可以兜底。

2023年的flag

2022的结尾离开了黑鲨,2023年的新旅程还没有想好,就先想到什么写什么吧:

  • 找到一个新的工作
  • 完成一次环太湖骑行
  • 完成十二本书的阅读
  • blog更新不少于8篇