入职新公司后如何快速上手项目
前言
1.png程序员这个行业的流动性是非常高的,每进入一家新公司,工作内容都是全新的。
假如你是刚毕业没关系,如果你有3年以上的工作经验,就不可能让你长时间慢慢地熟悉这个项目。
只能在最短的时间内,快速了解项目,快速上手。
接下来咔咔就用自己的经验和大家聊聊入职一家工作后应该如何快速上手。
一、正式上岗
第一天
根据Offer的入职时间到人事报到完成入职手续。
当你完成入职手续后,人事会把你带到你的工位,此时你的岗位已被确定,下一步就是正式开始工作。
你需要下载所有工作所需的环境,这里咔咔建议大家都注册一个谷歌账号,将平时用到的东西都保存到标签里边。
这样无论换电脑还是换工作都能直接登录谷歌账号进行书签同步,可以快速完成所有前期工作。
然后去找你的组长或者主管要开发资料,开发资料无非就是接口文档、数据库信息、代码库、代码规范、建表规范
这几种,开发需要这几个资料也就行了。
在获取资料之后,首先将代码拉下来,根据文档先使项目运行,如果该项目在运行过程中出现任何问题,需要对其记录,因为你不可能只部署这一次,将这些记录下来便于你后期查阅。
如果你根本把项目运行不起来,此时就不要自己瞎捣鼓了,赶紧去找同组的小伙伴进行救助。别因好面不愿问,不知道怎么弄就问。不怕工作上有问题,就怕你没问题。
尽量在第一天就把项目在你的本地跑起来,可以做简单的调试工作。
下班回家后再做一件事,在家里重新搭一份项目以防不时之需。要知道bug可不会专挑你在公司的时间冒出来。
只要在第一天解决如下问题即可。
- 配置本地环境
- 向上级领导索要开发资料
- 在本地运行并调试项目
二、考虑做什么而不是怎样做
你可以想一下在上家公司的工作,要在一个新的项目上开始写东西,要先知道那些东西呢?
大部分小伙伴反应都是技术,作为开发,当然技术是第一位的,于是一个猛子就扎进了代码中,然后,研究代码实现过程。
这个方法是不被推荐的,技术方面当然也需要了解, 但是第二天就不应该这样做。
作为技术都是一个bug一个bug改过来的,在脑海里已经潜移默化了。总在考虑如何做
的问题,但我们首先要理解的是做什么
。
做什么
这个问题,只有产品才能给你最好的解释,所有的业务都是在产品中一点点构建。
找到产品并获得研发排期。因此,优先级最高的就是业务。了解业务和技术都是你进入一家新公司必备的工作。
为何要先让你解业务?想象一下,如果让你先阅读代码,然后推演出一个业务,你觉得吃力吗?
但是,当你了解业务情况时,你可以推演出基本的代码框架。正因为如此,许多公司都会进行入职培训,让你熟悉项目的运作。
并且一个产品都是协作完成的,所以,还要看看其他组员遇到的问题是如何一起合作完成的,此时就需要了解团队是如何工作的,
通常,在刚入职的前几天是不会给你安排工作的,这些时间是为了让你充分了解项目和各部门的工作。
因此,千万不要用这几天的时间来划水。一旦你用来划水,当给你项目排期时就会一无所知,做东西没有思路,无从下手。从而导致心态不好,越来越难融入新的环境中。
三、拿到数据库应该怎么做
进来不断接触两个新的项目,虽然一个是Phalcpn框架、另一个是原生。令我恐惧的并非代码,而是数据库。
通常接到的项目大部分都是之前开发好的,目前的工作或者是优化或者是维护。
可以毫不夸张地说,咔咔见过一个项目有2500多张表,这是目前为止在项目中遇到过最多的表了。
在这个项目中,进行了多库连接,将2500张表分别存储到了3个数据库,本身表就很麻烦了,这还分了三个。
所以说你修改这样的项目,代码估计就五六行,找表得找好久。
进入正题,假设你拿到的项目数据库是这个样子的。
数据库表这张表结构很熟悉吧!这是MySQL 的系统表,这里只是做个演示。
假如你接手的项目数据库是这样的,那么你就要好好想一想,是否上辈子做了太多坏事。
要是真像上图那样的情况,谁也没辙自己加班加点处理吧!
但是,如果你给数据库中所有的表和字段都添加了注释,则该项目的下一位接手者将变得非常容易上手。
执行MySQL查询
select
TABLE_NAME,
TABLE_COMMENT
from
INFORMATION_SCHEMA.Tables
where
table_schema = 'enen''
查询结果
通过上图可以很清楚地了解每一张表是干什么的!通常的数据库设计都与项目模块关联的。
即使有出入也不会太大,所以说根据模块来找数据表也是没问题。
假如你接手一个新项目,拿到这样的数据库会不会很开心呢!
因此,在日常开发过程中,该给注释给注释不要吝啬你几秒钟的时间,让自己看或接手人看都很友好。
将所有表的注释整理出来后,大概看一眼都什么意思不用去刻意的记,上手做几天业务就熟悉的差不多了。
在写业务时必不可少的就是查看表注释,查看表注释的方式非常多,咔咔给大家介绍几种。
第一种方式就是直接在客户端中查看,十分方便
使用客户端当然你也可以直接使用SQL来查看。
select
COLUMN_NAME 字段名,
column_comment 字段说明,
column_type 字段类型
from information_schema.columns
where table_schema = 'enen'
and table_name = 'fa_admin' ;
使用SQL语句
然后可以把使用到的表字段注释复制出来,整理一份你自己的数据库字典,方便后期开发使用。
四、开始做一些简单的功能
通常到第四天,你的组长就会给你指派一些简单的任务,此时你应该很兴奋,因为你终于可以参与这个项目了。
在得到分配的任务之后,对应到项目中简单的过一遍,然后在开发过程中每个任务都写一个实现文档。
最初的文档可以是标题、需求、相应的代码文件路径、所需的表、字段注释,把这些工作都准备好之后,就别急着开发。那这时候应该怎么做呢?
首先找到产品对需求,把你对任务的理解跟产品对接一遍,确保无误后再进行开发,这种沟通成本是很小的,几分钟就能解决的事情。
在公司中每个职位都有各自的工作要做,所以不要在收到需求后就直接去找产品,你要先对需求有一定的了解再去找产品对接。唯有如此,你才能保证工作质量。
当你开发东西时卡住了怎么办?
此时,一定要找你的组长或者主管帮忙,一定要把整个需求和你卡住的问题都描述清楚,只要这样可以节约大家的时间。
别自己瞎搞,延误了工期。也许你问了别人几十分钟就能解决问题,自己弄就需要很久。千万不要有,问过别人就会显的自己菜的心态
,既然你能得到offer,那么你的能力就可以胜任这份工作的,否则,你在面试那一轮你就结束了。
五、如何在一个新的公司中不断得到提升
技术群里可以看到很多小伙伴离职原因都是在原公司得不到提升,一部分小伙伴是真到了天花板,另一部分小伙伴此处省略....,自己体会哈!!!
一周无论给你分配多少需求都不要抱怨,分配得越多你就越了解项目,不要只看自己的一亩三分地。只要保持这种心态,你就不会在任何一家公司得不到提升。
一个项目少说三五人,多则三五十人开发,行业里经常流传一句话在小公司你的技术提升会非常快,因为什么东西都得你来弄,不会也得快速去学,学了就可以直接运用到项目中,这样技术就提升的非常快。但是你在开发人员稍微多一点的团队,你只做你的肯定不会感觉到明显的提升。
给你需求分派下来后,你要把这个需求所关联的业务都要仔细看,然后想想如果是你开发的话会怎么写。如果开发思想有出入的话,可以想想别人为什么会这么写,肯定有别人的道理,然后对别人写的东西进行细嚼慢咽,直到任督二脉都被打通。
一段时间后,你就会发现你对整个项目都会非常的熟悉。在线上遇到bug后能够很快的定位到问题。
上述仅是个人观点,根据情况来定哈!
如果你把公司项目熟悉得差不多,就需要开始自我提升了,你的技能水平是怎么样的会很快的在工作中展现出来,一定要经常给自己充电,多看、多练、多想。
坚持学习、坚持写作、坚持分享是咔咔从业以来所秉持的信念。但愿文章在偌大的互联网上能给你带来一点帮助,我是咔咔,下期见。