前端可以管理一整个团队么? | 掘金征文

214 阅读7分钟

去年底入职某独角兽企业之后,担任了我们业务线成都部门的Manager。
与一般的不同,我们的Manager是以业务为维度的,而不是拆分成前后端来分别管理,一个Magager需要把某个业务给包圆了。 新工作到手,直接就面临三个问题:

  1. 技术栈的迁移,以前没有过react经验。
  2. 团队建设,因为我们是新团队,团队不了解我,我也不了解团队。
  3. 后端团队的管理。

总结这半年来,主要就在解决这三个问题。

技术迁移问题

我们业务线采用的是ReactCore那一套,其他的部分比如UI,状态管理,路由。都是内部实现的一套。而且由于有专门的技术架构组来封装,作为应用层的我们其实上手难度不大,看别人怎么写,自己照着写就行了。

但是,显然只会写是不行的。我需要搞清楚它们是怎么实现的,它们的实现与业界通用的方案有什么区别。

经过差不多半年多的学习与实践,我尝试去外面面试了一下React的工作。其中字节没面上,但是在某地产得到了一个近50%涨幅的offer(但没有接)。从这个结果上看,在react的知识面上,应该没有太大的漏洞了。

那么我是如何学习React的呢?主要的方法是,选择较好的博客/书籍,加上写demo验证。 我认为比较好的两个系列文章:

1.react技术揭秘作者 @卡颂   

2.react小书 作者 @胡子大哈   

知乎上比较好的答主:

1. Lucas HC (侯策)   
2. 黄子毅   

比较重要的几本书:

1. 深入浅出React和Redux
2. React 状态管理与同构实战
3. React Router从原理到实现

当然,我看的其实比以上要多的多,还有很多非常好的,但是相对零散的博文,我没有总结起来,有点遗憾。
不过整体来讲,我认为以上是比较值得看的,因为比较系统化。
在系统化的基础上,看一点博文,查漏补缺。但是不能只看零散的,而不去构建体系。 体系构建起来的,学习其他的就容易的多了,看问题也比较深入了。 比如很多人谈React和Vue的差异,多数人谈的都是很浅的,什么语法不同啊,differ不同啊,学习曲线啊之类的。 能像Lucas HC这样从底层分析的文章是非常少的。 www.zhihu.com/question/30…

大家常说前端的东西多,前端卷。
我到是觉得没必要给自己增加这种心理暗示和心理负担。
没那么难,也没那么复杂。

在此基础上,我跟基础架构组要了代码,学习了一下他们状态管理的设计思路。非常受用。 因此,在这个问题上,我认为自己处理的还可以,给80分吧。当然React内容往下深究还很多,我会根据自己的情况往下探索。

团队建设

我认为这是我目前处理比较不好的地方。 我管理的两个团队,其中一个是异地协作。这在管理和工作上都存在诸多不便。 我认为主要是几个方面:

1. 团队成员的认知一致

我们的团队是新团队,大家之前的工作方式和协作方式都是不一样的。如今在一起合作,那么达成一致的目标和认知是比较重要的。 这方面的建设,主要是通过给团队协商培训。确立了一个共同的认知:

  •      一切行为的目标是为了更好交付  
    

    在这个认知之下,我们又确立了几个原则

  1. 开发自测的要求
  2. 开发对Story的责任要覆盖到全声明周期
  3. 阻塞,协作,风险等信息的整体流通
  4. 影响交付的一切问题,都要做复盘,写PCA文档。

在这里面,我认为认知一致时比较重要的。在这个前提下,才能避免团队陷入内耗的状态。

2. 团队流程建设

公司内部有一些通用流程,比如线上变更等较为敏感的流程,这个要遵守。
但是每个团队也会根据自己的情况,制定发布节奏,版本管理,分支管理,bug/cr管理等细节上的流程。

3. 敏捷落地    

这个不用提啦,基本上互联网公司都在玩儿的一套东西。

团队建设这一块,上半年做的并不好。尤其是敏捷这一块,本身我不是SM出身,公司也没有专职的SM为团队服务。这导致我们的敏捷,基本上处于形式上的敏捷。其实这一块是没有办法的,SM本身属于弱势群体,没有话语权,决定权。这种意义上,SM很难做好团队保护。 流程建设上,目前执行的不是很到位,这个是下半年的重点工作。 整体上,这一块给50分吧。聊胜于无的一个状态。

后端的管理问题

我本身是后端转的前端,但是后端时是做 Linux开发的,java这一套不是很熟。虽然对后端的概念,原理了解一些。比如微服务,CAP,服务治理这些。但是整体上是无法做一个技术引导人。这种情况下,很尴尬。

 首先是自我否定。前端管理后端会不自信。
 其次,是没有方向。不知道要抓什么东西。

这个问题最终是克服了自己的心理问题,大大方方向后端表示,自己不懂后端就是了。
然后每个团队安排了 TL,作为后端的技术负责人。后端相关的事宜,由他们来做就是了。
但是我认为,作为Manager也不能完全不懂,还是可以参与到他们的方案讨论中的。
前后端之分,更多是知识领域的划分。
代码是不分前后端的。因此在代码设计,数据库设计,接口设计上甚至CR上是有共性的。

 稳定性

因为前端是一发布就不管了,稳定性上的问题大多是后端问题。
首先跟自己的老板澄清了稳定性的目标,比如不可用时间,高P Bug等指标。
然后,了解了其他团队的惯例做法,如稳定性盘点,稳定性监控,紧急故障演练等。
最后,根据其他团队的做法,与我们的TL一起制定了稳定性方案,并邀请评审。
这一块最终做的还是蛮不错的。

小伙伴的绩效问题

团队中有个别成员,属于低驱动的人。交代的事情也能做,但是主动性上不是很强。
说实话我个人觉得这个是属于人的问题,我们很难从外部改变一个人的驱动力。 但这样的人存在,确实会对团队有一些不好的带动作用。目前还在思考对策。

后端的管理上,这部分70分吧。主要在于靠谱的TL。

个人相关

个人相关,也做了一些事情。

 在弄一个编辑器

基于Slate+Electron实现一个富文本编辑器的客户端。阅读了Slate的部分源码。 进度不是很好,目前在思维导图上有些block。 长期的规划是,看能否将是slate迁移到Vue上。

 拓宽前端的视野

老生常谈的前端工程化工具,首次从0搭建一个VUE和React的WebPack脚手架。
较为浅显的学习了使用Lerna,Rollup。 较浅的学习了Svelte,以及Rust和Webassmbly的使用。

管理感悟: 在管理上,看了一些书,看了一些文章,看着都不错,但是感觉有用的很少(苦恼)。 管理的难点,还是在于人,在于沟通。这些是软技能,感觉很难迅速的建立起来。

总体来说,是非常虚的上半年,因为没有太多的产出。下半年会更加专注一点,在编辑器和管理上有所产出。

掘金征文 | 2020 与我的年中总结 征文活动正在进行中......