此文 3 年前撰写,内容比较保守落后,参考价值有限,转载至此作纪念,大家可以加 Scott 微信: codingdream 成为朋友圈的朋友,聊南聊北,哈哈哈。
前言
大家好,我是 Scott,2016 年 9 月 25 日在杭州大搜车总部举行的杭州 Node Party 上分享了一个话题 - 《创业公司撸 Node》 ,分享之后我以文字的形式又记录了一遍,分享给没有与会的朋友,也方便大家通过搜索引擎者一些技术社区平台来看到这篇文章。
写在前面,感谢芋头哥和大搜车,给了我这个机会跟大家在大搜车面基,说实话,从我出道以来,这还真的是我第一次正式在公开场合装逼,尤其是当着这么多大牛大咖的面儿装逼。
某天当你进入创业团队
今天跟大家分享的话题是,现阶段下创业团队中对于 Nodejs 工程师的认可程度,以及如果有一天你进入了创业团队,在做技术选型的时候,基于什么标准来判断,要不要使用 Nodejs 开发,以及如何跟进技术的演变。
我特意加了前端逆袭这个小标题,是为了在咱们现场做个小调查,请从前和现在做过前端开发的的同学举一下手好么,看看多少人搞了前端现在也在搞 Node。现场举手的超过一半人数,前端这个职业真的是屌爆了。
我的职业转型
ok,首先做一个自我介绍,我跟大家一样,从前也是一名前端工程师,从 2010 开始,在阿里妈妈做了四年前端,后期做了不少广告投放相关的前端页面,跟后端的创意投放管理系统对接,制作和优化广告效果模板等等,大家如果去上 Youku, 微博,各种电影小说新闻媒体网站,应该会有印象曾看过这样满屏滚来滚去的淘宝豆腐块广告。
哈哈,很不好意思,2014 年以前,你在全网看到的差不多有 70% 的豆腐块广告都是我做的,你在淘宝搜了鲜花啊,内裤啊,硬盘啊,种子啊,再去访问其他网站,都能看到豆腐块里的类似商品,当时我的工作就是开发这些模板的样式,优化这些模板的特效,测试在各种终端设备上的兼容性,数据方面需要跟各种算法引擎团队约定各种异步数据格式,业务上需要考虑复杂的参数加密解密二跳透传,Cookie 的读取定向等等来落地不同推广场景下的异步交互方案,最终基于各种广告系统接入和投放到目标网站。
所以在最初我仍然是一个很纯的前端工程师,后来怎么就开始折腾 Nodejs 了呢,我们可以看下上图最右上角的这个轮播图,它由上下两部分组成,上面是轮播的商品列表图,下面是推广的商品关键词,它俩是两个独立的数据接口,而且很可能是隶属于两个完全不同的数据引擎团队,从前端开发的角度呢,我需要发两次请求来分别获取和控制这两个数据接口的展现,而从后台开发的角度看,两个接口最好相对独立,互不影响,因此我们前端工程师,尽管很希望将两个接口合并成为一个接口,却很难推动后端工程师团队为我们这样某一个模板,专门开发一个接口出来,由这个接口统一获取两个接口数据合并后再交给前端展现,于是我们就很难从至少是请求个数这个层面,来优化这个广告的展现速度和展现完整度,有时候是图片先出来,有时候是关键词先出来,如果等待同时出来,万一某一个接口挂了怎么办,这时候再等待超时以后去获取打底的接口或者类似接口,用户早就离开了。
但是这样一个模板在全网的每天为阿里带来的收益,是非常巨量的,而它的生命周期也许只有 2 周,2 个月就撤下去换别的模板了,所以从维护的角度上,后端工程师的确也很难及时跟进前端和产品层面频繁的改动,而从收益方面,就需要跟后端工程师努力的沟通解释,非常费劲,协作成本居高不下。
但是现在有了 Nodejs 后,我们设想一下,如果把 Node 作为接口这一层,由它来决定调用哪几个接口,合并哪几个接口,哪些接口使用哪些打底数据,是不是这样的场景就迎刃而解了呢,关于这个我就不再探讨了,可能会涉及到公司保密协议,因为我后来从阿里离职出来创业了。
创业以后,开始了我的职业转型,这近 3 年时间,我一直在创业公司用 Nodejs 开发产品,我也就从一个标准的前端开发工程师逐步切换为一个会使用 Nodejs 的开发工程师,中间费了不少力气,想了解我的技术成长路线的,可以看上一篇文章 - 4 年前端狗,2 年 CTO,进入一个新的 领域,作为新人是要踩很多坑的,有的是有必要踩,有的没必要踩,我就把自己的一些心得整理做成视频,放到了慕课网上。
地址见这里:http://www.imooc.com/u/108492/courses?sort=publish
如果是刚入行的新人可以去看看,里面知识点也许有点陈旧,讲解也未必很严谨,可以选择性的理解流程和项目思路。
那么现在,我是 CampusRoom 这个网站的技术负责人,大家可能都没听过 CampusRoom, 没关系,估计部分同学听说过 Moveha,创业这几年中,无论是 CampusRoom,Moveha,还是微信服务号,包括其他的一些内部的外部的,做了没上线,上线了又下线的大小项目,统统都是用 Nodejs 来搭建的