关于打造一支精良团队的构想

900 阅读4分钟
原文链接: acrens.github.io

今年双十一也过去一段时间,在双十一的大潮中,产生了很多匪夷所思的大数据。天猫的 1207 亿元成交额。在这些大数据的背后,有多少团队在为之付出,又有多少人为之倾尽全力。双十一过后的几周,我不断在订阅号里看见双十一带来的连锁反应,各种技术文章,看了让人心动。但是我又因此思考,如何在这场战争后继续保持一个团队的稳定及继续勇往向前冲的态度。那就是”打造一支精良的团队”。

认识一致

我们可以从技术角度去要求每位团队成员必须达到指定的一个技术体系,也就是解决现已有产品需求的最基本,也是最完善的能力。这样可以节约团队资源,无缝隙的快速接入一个产品。

既然聊到了”技术体系”这个词,下面聊聊他的作用及范围,由于本人是从事前端开发工作,可能更了解前端体系,这里就根据我浅陋的了解说说我对”技术体系”的想法。

我很认同的一句话:技术体系归根结底是要围绕业务发展、团队规模和团队特点量身打造的,主要目的是为了提升团队整体的研发效率,确保线上的质量和稳定性。

开发团队的任务就是完成产品业务,而在完成业务的同时要考虑的东西包括:资源、投入、质量、稳定等等。那前端团队如何通过自身特点去解决这些问题?

  • 流程规范

    1. 代码规范,如遵循 airbnb javascript 规范;
    2. git 版本管理,如遵循 gitflow 分支规范;
    3. 部署规范,分开发、试用、正式三个环境,多机备份,等等。
  • 技术工具栈

    1. 技术栈说到底应该是没有限制的,因为这需要根据开发工程师及项目实际业务需求做出最合适的技术选型。但是至少得学会一种最近流行的框架,有备无患,这也是作为一个前端开发者的必备素养。但不管怎么样,你至少会 vue 全家桶react 全家桶angular 中的一种吧?如果您是一个移动端爱好的前端开发者,你或许还可以学习 Weex(Vue Native)React Native,站在前端开发的角度开发多端兼容的 App。write less do more。
  • 构建工具栈

    1. 构建工具如同技术工具栈,但相比又更加主观,开发者可以根据自行需求选用合适的构建工具,不管是选择 yeomangulpwebpackgruntsasslessbabelnpmyarn 里面的一个或者多种的组合,最主要的还是要切合团队配合及实际项目需要。
  • 测试工具栈

    1. 测试工具可以选用比较常用的 MochaChaiKarmainternjasmine ,对于前端代码而言,进行前端代码自动化测试是保证代码的质量和健壮性的一项可行方案。
  • 部署流程及部署平台

    1. 部署流程是控制上线资源前的最后一道规范限制,部署也需要运维及 DB 严格把控(当然这里可能是指严格把控后端操作数据库)。
    2. 部署平台是发布资源的最后一道工序,可能按钮一点,新资源就全部一键发布上线。但是为了提高前端团队发布效率,将发布系统与 git、svn 等版本控制系统结合起来构建一个发布资源平台,这样可以对发布资源做很多事情,多成员各自发布各自的互不影响,唯有管理员可以一键发布所有相关人员修改的代码,这样把发布代码不一致性降至最低。
  • 监控体系

    1. 监控系统也是我最近很感兴趣的一件事情,淘宝的 JSTracker、腾讯的 badjs-report 都给了我很好的参考。而监控体系不仅仅局限于此,监控体系本身可以包含:日志上报、性能监控及错误监控等。这样能够第一时间让相关人员知道系统本身存在的问题并第一时间通知开发者,且第一时间修复减少因为此问题带来的损失。

想法各异

在远古,摩擦升温是起火的一种方式。我希望我的团队每个人想法各异,并且勇于提出供大家讨论。这样的摩擦不至于不会摩擦升温提升大家的热情。