CTO来教你:技术人员突然离职,如何接手他的项目?

简介: CTO来教你:技术人员突然离职,如何接手他的项目?

如何快速接手别人的项目

技术人员,最讨论和最惧怕的,莫过于接手别人的项目、维护历史的遗留项目。尤其是那种没有任何文档、没有工作交接、没有人员协作的项目。个中痛苦和酸爽,真的是“如人饮水,冷暖自知”。

今天来分享一些技巧和工具,教你在面对技术人员突然离职时,如何快速接手他的项目。减少你接手和维护的痛苦。

拉取代码,本地运行

首先,先开通好git代码仓库的权限,在本地拉取签出对应的代码仓库。通常一个产品/一个项目,代码仓库都不止一个。然后,在本地先跑起来。

如果没有项目的部署文档,估计你要折腾一番。因为一个系统正常启动,需要解决:

1、语言版本和依赖包的安装:例如是PHP 5.6还是PHP7,是Java 7还是Java 18,是js还是nodejs还是ES6还是ts?其次,用composer安装好PHP的vendor目录包,或用npm/cnpm/yarn根据package.json安装好node_modules,或用maven/ant安装好JAVA的SDK包等。然后,这些还是很基础,很平常的。

2、然后在本地安装必要的数据库,例如MySQL、MongoDB、Oracle;启动必要的服务,例如:队列、定时计划任务;以及背后依赖的系统接口和服务。

3、获取之前可用的测试账号,进行登录。

熟悉发布上线的操作和过程

在本地能正常运行项目后,可以尝试一下,修改一些简单的文案,或者不修改,熟悉并操作一下项目上线发布的流程。因为你不知道什么时候,就要马上立即修复一个故障然后发布上线。

提前熟悉发布,演练操作,未雨绸缪是很有必要的。

要提前知道,发布是手工操作,打包压缩然后上传解压;还是通过发布系统进行的界面操作进行发布;抑或是通过Jenkins、Docker、k8s等工具系统进行的集成发布。

还要提前知道,发布会有哪些坑和注意事项,发布一旦失败,线上服务无法正常运行,将会对极大的灾难。

熟悉产品、熟悉业务、熟悉技术

接手一个旧项目,第一要义:尽快熟悉你的产品。这个产品具体主要功能是什么?是给谁使用的?客户群体是谁?目前大概注册和使用的用户有多少?上游供应商是谁?项目组的其他成员还有哪些?等等这些项目和产品背景信息都要搞清楚。

第二要义:尽快熟悉业务。业务很关键,你要对接手的产品所在的行业有一定的理解和学习。也就是我们通常所说的特定领域的业务。这个业务到底是做电商、还是做广告、还是做游戏、还是做ToB的系统集成,不同领域的术语和知识也不同。

第三要义:快速了解当前项目所用到的技术栈、编程语言、开发框架、数据库、环境要求等。技术是基础。

做好文档记录和保存相关链接账号

好记忆不好烂笔头。

在接手项目过程中,会有很多资料、知识和配置信息等,要用合适的工具,做好全程的记录,收集记录关键、有价值的信息。

在YesDev,可以创建一个项目,进行全盘的记录和协作。

例如,在【链接】中可以记录项目的Git代码仓库、之前Tower的交接链接、参考和百度到的CSDN学习资料等。

开始接手修复一些问题和工单

一开始,可以从一些小问题、小Bug和工单入手,通过一些问题,排查某些页面,同时做好常用数据库查询语句SQL、内部脚本工具、觉见问题的记录和熟悉。

记录工单时,要把用户联系方式、页面截图、链接、代码位置、数据库查询等,进行归集。方便以后碰到类似的问题,有资料可查、有知识可学。

开始开发一些小需求和小功能

当你要开始开发新的需求时,先不要着急去改代码。

因为,你会发现,写代码很简单,但要写出100%符合原来业务逻辑和规则的代码就很难。

也就是说,编程语言的代码语法不难,难就难在完整理解和全盘掌握原来代码的业务逻辑。

为此,你可以使用ProcessOn、Xmind、Viso等在线工具或本地软件,先自我梳理一遍目前产品和技术上的思维脑图、核心业务逻辑的时序图、整体业务流程的泳道图、目前系统的架构图。至少可以梳理这四个图。

例如,产品功能的思维脑图梳理,帮助你了解产品的功能和形态。通过点击、浏览、体验和使用产品的每一个页面,你可以边操作边梳理。例如我对接口大师的开放平台的产品梳理。

然后,打开本地IDE代码编辑器,找到对应页面和接口背后的源代码,定位到最底层、最核心、最重要、最复杂的代码模块,边浏览源代码、边整理核心的时序图。这一块工作,可以让你抓住项目的底层本质和核心,熟悉原来的代码风格、编程范式、设计模式、高并发的处理方式、各模块的依赖关系等。例如PhalApi开源接口框架的核心时序图。

第三个图,是整体业务的泳道图。它可以让你知道整体的系统上下游的数据流向、底层的依赖系统和网络链路。当你的系统出现问题了,你知道可以找谁。例如,针对直播拼团商城的流程。

最后一部分是面向技术架构的系统架构图。这部分,你可以通过nginx日记、或者阿里开通的服务、以及内部记录的资料找出你的系统都调用了哪些第三方接口。例如短信接口用的是哪家?有没用到OSS对象存储?CDN用了什么?数据库是用云服务还是自建的?你要清楚地知道目前有多少台服务器,是如何部署和相互调用的,网络链路是怎样的。从用户发起请求打开页面开始,系统在背后都做了哪些事情?

可以说,在接手别人的项目时,你至少应该自己整理并绘画四个图:

1、产品脑图:帮助你理解产品的功能;

2、UML时序图:帮助你源代码的核心技术实现;

3、整体业务泳道图:帮助你从整体上熟悉业务的流程;

4、系统架构图:帮助你掌握目前服务器的部署情况和网络链路。

相关文章
|
JavaScript 前端开发 Shell
⭐️入职新公司需要准备哪些工作,如何让同事觉得你是大神-1
理清内部平台 进入一家新公司,你需要了解以下几个平台以及使用方式:
108 1
|
Web App开发 移动开发 JavaScript
⭐️入职新公司需要准备哪些工作,如何让同事觉得你是大神-2
2. 安装Node.js 打开终端(iTerm2)。 在终端中运行以下命令来安装Node.js:
113 1
|
JavaScript 前端开发 开发工具
⭐️入职新公司需要准备哪些工作,如何让同事觉得你是大神-4
Document This “Document This”是一个 Visual Studio Code 扩展,可以自动为 TypeScript 和 JavaScript 文件生成详细的 JSDoc 注释。
91 0
|
Web App开发 XML JavaScript
⭐️入职新公司需要准备哪些工作,如何让同事觉得你是大神-3
Firefox: 地址栏输入访问 about:preferences,找到 Network Proxy,选择 手动代理配置(Manual proxy configuration),输入代理服务器地址、端口,保存
100 0
|
前端开发 程序员 测试技术
程序员成长第十二篇:做好项目计划
程序员成长第十二篇:做好项目计划
112 0
|
Java 测试技术 项目管理
15 年经验资深测试经理的经验分享:测试人职场晋升“潜规则”
本文整理自霍格沃兹测试学院「测试开发在线沙龙」主题分享《测试人晋升指南:如何做好个人绩效管理》,略有删减。文末链接进阶学习。
15 年经验资深测试经理的经验分享:测试人职场晋升“潜规则”
在阿里,谁没有想过离职?
在阿里呆满五年的人,和两三年的人不一样。给公司的邮件里,他们洋洋洒洒几百字说公司这里不好那里不好;但听到外人说阿里的坏话,他们会第一个站出来。我可以批评你,因为我爱你。
3097 0
|
程序员
程序员离职前篡改代码库,领导慌了!公司和你多大仇?
现在互联网行业的竞争渐渐进入白热化阶段,因此每个企业的“核心技术”可以说是公司的命脉,然而俗话所的好“铁打的营盘,流水的兵”,再好的公司都会有员工离职,老板就放心不下这些离职的员工,怕他们泄露公司的机密技术,于是在入职的时候都会要求签署具有保密和遵守属...
1054 0

热门文章

最新文章