zoukankan      html  css  js  c++  java
  • 跳槽后在新公司的一点感悟

      最近跳槽到一家创业多年的小公司,带一个前端小团队。

      在这一个多月中,主要是熟悉业务,维护老代码,编写新业务等,期间也发现了当前团队出现的种种问题,打算在接下来的日子里好好改造。

      接下来给自己定的小目标是,改变混乱的局面,提升工作效率,团队更加稳定和规范化。

      

    一、适应新的环境

    1)规章制度

      首先要适应公司的规章制度,主要还是要习惯上下班时间,这和以往不同,本来是到点就走的。现在的话,每天都比较忙碌,下班时间也不定。

    2)新的角色

      其次是要适应自己的新角色,新公司负责的事情要比老公司多很多,以往还是蛮闲的,但现在不同。

      并且要带团队,考虑的层面也得比以前更高一点。不能只想着自己的个人发展,更多的是要关注团队发展,为团队的每个人负责。

    3)开发模式

      接着是要适应当前的开发模式,上家公司只做H5相关的事情,也就是做些效果、小程序之类的纯前端工作。

      而这里还会涉及到一些后端任务,用Node做了中间层,整合各类数据,执行Redis缓存,有时候还要直接操纵数据库。

      刚开始还真有点不适应,不仅要学会用终端,还得知道怎么通过看日志来排查各类问题等等。

    4)业务逻辑

      最后就是要熟悉业务逻辑,前提就是要把项目跑起来,知道怎么修改。

      目前公司缺失各类文档,员工离职后很多信息就只能通过代码来了解其中的逻辑了。

      为了方便调试,特地搭建了单元测试(主要测试Node方面的代码,Mocha+Chai+Supertest),这样既能保障代码质量,也方便了解某个函数的功能、变量的值等。

      目前还有很多我不了解的业务,未来将会经常遇到。对于这些未知业务,除了被动的遇到后再了解之外,还可以主动与各个组的相关负责人了解,未雨绸缪。

    5)难点

      祖传代码还在运行中,代码写的杂乱无章,并且很多服务已无人维护,但是由于缺乏文档,难以轻易地修改。

      人员缺乏,每天都疲于修复各种BUG,以及各种杂七杂八的事情,经常要花大精力去查看代码、日志和数据库,计划要写的代码或要做的事情经常无法按时完成,难以达到平衡。虽然短期内加班可以解决,但长期的话还是得补充人员。

    二、制订游戏规则

    1)前后端真正分离

      当前公司对前端的要求有点高, 既要会市面上主流的前端技术(HTML和CSS是必须的,还有React、Vue等),也要有后端开发的经验,比如操作MongoDB和MySQL等。

      之前公司已经有好几个员工因为这些原因而离职了。以后如果还这么招人,定会遇到许多阻碍,毕竟没有大厂的条件。

      前端会负责一个比较庞大的后台管理系统,如果是些简单的查询更新等数据库语句,其实复杂度上倒也没什么,只不过费时间而已。

      但前端还要处理金额敏感信息,这块还是需要交接出去,过来后就和后端的大佬们讨论了方案,做到真正的分离,后端组的人也是积极响应,不过这种交接过程将是比较漫长的,毕竟资源有限。

      未来尽量由后端服务器组提供数据源,前端就做数据整合以及页面效果的工作,尽量做到专精。

    2)统一技术栈

      当前前端有些技术栈比较老旧,有些活动页面甚至还在用jQuery制作,这样很限制团队成员的发展。

      因此打算统一技术栈,将后续的项目迁移到Vue或React这些目前比较主流的库,这样也有利于团队成员的自身发展。

    三、补全各类文档

    1)技术文档

      在我进新公司之时,有个老员工要离职了,他了解很多业务,于是就安排他尽可能多的记录到内网的Wiki中。文档虽然不算全,但好歹有个雏形,未来慢慢补全。

      当前前端组维护了多个项目,这些项目又分别使用了不同的技术栈。

      例如后台管理系统前台采用的是UmiJS+DvaJS+Ant Design+React,后台采用的是KOA2+NodeJS+MySQL+MongoDB

      自己花了点时间和精力探索了一下这两个项目的运行过程(画了几张流程图),还对其中的技术细节做了归纳和总结,降低后续新加入的小伙伴的理解难度。

    2)代码注释

      未来的话,还需要完善源代码的各种注释,目前很多组件和函数都是没有注释的,只能一行一行的看代码来理解,很是费劲。

      公司也打算用工具(例如swagger)通过写注释的方式,自动生成接口文档。

    3)各类业务

      其他组应该也会有相关文档,未来需要有个引导页面,跳转到相关业务中。如果没有的话,需要找个协商人,让他安排人手去补齐。

      

  • 相关阅读:
    vue-element-admin
    一些问题
    前端面试题(2)
    乱炖
    node与mongodb、mongoose
    NodeJs中的模块
    NodeJs基础
    论文阅读——Visual inertial odometry using coupled nonlinear optimization
    C++多线程学习之(一)——并发与多线程
    ECMAScript6的lambda(arrow function)的this绑定导致call/apply失效
  • 原文地址:https://www.cnblogs.com/strick/p/13903977.html
Copyright © 2011-2022 走看看