如何快速适应新工作? 背景 实现路径 小结

如何快速适应新工作?
背景
实现路径
小结

作为程序员,跳槽或者被跳槽都是寻常事,那么当你成功入职一家新公司,你会如何快速适应新工作?

即快速的融入团队,尽快发挥价值。

按照基本的思考框架。先来思考一下。

思考问题 回答问题
where are we?现状 刚入职,对业务了解很少
where are we going?目的 快速上手,至少就解决项目问题,长远可大展身手
how can we get there?实现路径 先了解业务,再宏观了解技术,最后熟悉团队运作过程

下面我发散来分析和解决实现路径的问题。

实现路径

明确了目的,实现路径就是一个任务分解的过程。下面我按照第一人称来阐述分解过程。

快速熟悉业务

业务解决的是做什么?

我会在团队中找到熟悉全局产品设计的产品经理或者架构师花大概30分钟的时间讲解一下业务的大图景,(只讲大图景,不用涉及业务的细节)。

即回答如下三个问题:

  1. 项目是做什么的?
  2. 项目解决了什么问题?
  3. 项目的主业务流程是怎样的?

结合业务讲解,我会初步思考,假如我是架构师或者产品总监,我会怎么去设计和实现这个项目。

然后,到测试环境或者演示,完整体验一遍功能点,从项目的用户的视角体验一下是如何解决用户的需求,实现用户的价值的?

快速熟悉技术

技术回答的是怎么做?

技术是伴随职业生命周期最长久的东西,刚入职,不用太着急下沉到技术细节里去。

可以先从宏观上了解技术。

比如可以先找技术导师介绍当前的技术栈,使用的那种语言,明确使用的工具和框架,做到心中有数。

然后,找到现成的业务架构图,了解当前技术解决的业务模型,如果没有,可以找相关的人一起绘制一幅。

有了这些粗粒度的技术栈和业务架构图之后,可以从项目的外部入手,明确系统对外提供的接口有哪些,依赖的内部或者外部系统的接口有哪些?采用的是那种通信方式(REST,RPC,MQ),以及采用的通信协议(JSON,ProtoBuf,Thrift,3GPP);

其次项目内部,即分哪几个模块,每个模块的职责,分层的职责,构建脚本跑一遍,并熟悉常见的构建命令

最后是到代码级别,熟悉目录结构,配置文件(日志,中间件)的位置,模块在源码的体现;

有了宏观的了解之后,可以针对接口的重要程度,从头到尾绘制一下接口的时序图,顺序图,加深对核心业务的理解。

了解团队运作

熟悉业务和熟悉代码解决的是个人的问题,在新的公司,你不可避免的要跟不同的人协作。如果团队的管理比较规范和专业,一般会有规章制度文档描述清楚,如果没有,可以参考一般的处理方式。

团队运作主要分成两块,即外部接口和内部活动。

外部接口主要包括: 需求从哪里来,最终的产品谁来使用,团队向谁汇报,外部客户的日常沟通如何安排;

内部活动:站会,复盘会,周会,设计和代码评审,内部分享机制

了解清楚团队运作流程之后,可以在你需要的帮助的时候,明确知道找谁。

小结

如果你只能记住一句话:快速适应新工作,从业务大图景入手;

以上分解过程都会涉及到跟不同的人进行交流,请尽量使用行话沟通。

如何快速适应新工作?
背景
实现路径
小结

原创不易,关注诚可贵,转发价更高!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。
我会持续分享Java软件编程知识和程序员发展职业之路,欢迎关注,我整理了这些年编程学习的各种资源,关注公众号‘李福春持续输出’,发送'学习资料'分享给你!
如何快速适应新工作?
背景
实现路径
小结