入职三个月,新工作走向正轨

5 阅读5分钟

入职新公司三个月了,回顾下这段时间的工作经历。选取这个时间点,是因为逐渐摆脱刚入职的「新鲜感」,对于工作内容和工作环境基本熟悉,可以形成一些个人的工作技巧。

持续解决线上问题

身为软件开发工程师,进入一个新行业亲自解决线上问题是熟悉业务知识的不二之选。

解决问题是结果驱动的学习方式,加快业务流程与架构设计的理解,持续解决,就可以持续反馈形成全局概览。同时,通过这些线上问题分析总结又可以了解产品与研发的缺陷,更有针对性开展后续工作。

大概两个月持续跟进一条业务线解决了十几个项目的线上问题,不仅能清晰梳理其中的业务体系与组件时序,还能提供优化方向与改进意见。这是我持续坚持解决线上问题带来的效率提升。

接手了几个几十万行代码的组件维护工作,我一方面感叹业务发展之迅速,另一方面又感叹曾经的研发工程能力之薄弱。没有任何抱怨,这就是软件工程师都面临的生存环境,问题有很多,时间很有限,找到本质复杂度,建立全局视角,对齐优先级,体系化解决问题就很重要了。

做应用软件开发不仅是做技术,更是做工程。

从代码到模型再到应用

软件工程也是知识工程,实践敏捷开发的先人早就认识到了。

经年累月的系统不可怕,散失的领域知识是最要命的,可能随着不断更替的维护者都消失殆尽。最后,只剩下一堆没人能说明白的代码。当我碰到他们的时候,只能通过复杂认知模式来反复 debug,最开始简直就像盲人摸象一般。所不同的是,我会把重新理解的研发知识找还在团队的研发、产品、测试确认,确认得到最好,确认不到那就重新建立这块知识,做成 UML 图,这是建模的过程,从代码到模型也是逆向工程。

如果只做到这一步,价值最多会停留在个人这里,也就是我重新捕获了领域知识。没有进一步传递,这块知识依然只有我一个人最清楚,于是在后续协作过程中,比如产品提了新需求,测试提了新缺陷,我会把这部分知识描述给他们,再确认理解后形成共同认知。

经过不断的翻阅代码、建模、传递模型,就可以更了解这块业务,成为拥有业务知识的开发,逐渐参与到业务的讨论中。起步的时候确实是比较痛苦的,只有一套代码,很多地方没有人可以说清楚为什么是这样,没有别的办法,就是重复练习多看多想多总结,结合线上问题加深记忆,在大脑中建立索引。

再看企业文化

为什么又谈到了企业文化,我想这是员工与企业产生信任的重要来源,认可一家企业的一定是认同企业文化,如果有诸多分歧合作关系就不会稳固。

我现在更多的认为,应该抱着学习的心态多发现其中优秀的文化,企业发展过程中都会面临各种各样的问题,善于发现优秀是成长型思维。

这期间,我经历了第一次年会。没有鼓吹员工生病期间拼命工作、没有各分管领导长篇累牍。创始人对全年经营状况回顾和展望一小时,表彰优秀团队个人一小时,各地团队发新年祝福,结束,大家各忙各的。近一千人的公司依然保持着不错的效率,就像大部分远程会议一样,提前约会、确定主题、减少发散。

后来,研发主管到本地出差。沟通工作也沟通生活,通勤时长、子女养育、休假期望,这也是我刚工作时候对企业的期望,能平衡好生活才能更好投入工作。我也在一对一沟通中交换了自己的想法,团队地理位置分配与稳定性等问题得到了真诚的回答。也更清楚了未来在团队中可能扮演的角色,这是建立影响力的基础。

专业分工,高效协同。能够基本专职开发工作并有不错的自由度,我是幸运的。

最后,不得不提当下 AI 浪潮对职业的影响。从前按照问题解决定义职业的方式正在发生变化,AI 重做软件开发工具的同时也在重塑软件开发模式。部门总经理在周会上不止一次要求各团队和岗位探索结合 AI 能力。无他,部门要算财务,产品要出价值,研发要有效能。

不会使用 AI 的工程师是可以被会使用 AI 的工程师替代的。