我是去年六月毕业,说起来刚毕业时我也有遇到一些类似的困惑哈哈,目前好了很多,也说说我自己的探索的心得。
与历史包袱斗争
刚毕业去了另一个项目组,和楼主相似,在维护一个历史包袱很重,复杂度特别高的模块,当时有写一个帖子 记录 其中的一大痛点。因为本身不熟悉,一开始的半年做事情也比较被动放不开,当时也是bug单不断,各种小修小补并未解决根本问题,搞得很痛苦 + 怀疑人生。想来工作的意义也是在于,老板雇你解决问题,你由此赚点小钱度日,无论在何处都也如此,所以也就没什么很理想化的东西,只能说看自己如何面对。
屎山的来源在于业务逻辑复杂度无法控制住,往隔离的方向的角度去优化,感觉就好很多。目前我是从两个角度去入手:一是尽可能把某些同类的逻辑集中在一个模块;另一方面是尽可能写全变量和注释和 enum,避免一些当时口口相传的东西丢失,让代码里面尽可能多一些描述业务的概念细节的信息。当意识到有可能会有难以继续迭代的风险的时候,也及时和 leader 反馈然后想办法排时间去处理。
文档这东西的价值也是比较长期的过程,一般要想活得久的模块文档质量也是不能忽视的,看似简单但坚持下来还挺不容易(尤其讲求变现商业环境之下)。需求比较少时一个个模块去找代码梳理,把一些口口相传的东西写下来,一开始确实难感受到价值感,但可以把它们都集中在一处,根据功能结构编一下目录啥的,形成一个体系,一边写一边形成一个新的方案,还有可能的迁移策略。随着时间慢慢积累下来、这块东西也只有我自己最熟悉,有相关的新需求也基本是我在 own 住。最近终于逮住了一个推翻它设计船新版本的机会,正在忙着把它替换掉。
记录
互联网行业工作日常面临的信息量可以说远远超过了人的认知的承受能力,感觉如果不借助于工具,光凭大脑直觉可能会很爆炸,容易抓不住重点被带跑。
这块我自己摸索到一点经验,类似于“子弹笔记”的模式,用 Obsidian 或 Notion 之类支持大纲列表的工具(我自己用的 Obsidian),大概每月开一个 Page,然后每天一个三级标题,三级标题之下每一个事项记一个 Todo Checkbox,结合无序和有序列表形成一棵树的结构。每日上班前列出需要处理的事项、看到的好文章等等,日常学习、工作相关内容、遇到问题找其他人讨论的结论也记在里面。心血来潮时再略作整理,心中会比较有数一些。
回顾整理时主要关注记下的信息点之间的关联,如果可以形成主题的话大概是一篇新的文档或者博文。
目前我跑了几个月这种模式感觉良好,看着自己零散的点,有意识慢慢地会更聚焦一些,方向聚焦以后开始有所取舍,轻重缓急也明显许多,把精力尽可能集中到“重要不紧急”的事情上,很自然就可以少很多“重要紧急” or “紧急不重要” 的事情。慢慢地可以更好地管理手上的项目进度,和团队的进度互相融合。类似楼上师兄说的“项目管理”的问题。