冬天
我在离职协议书上面,签下了名字。
犹如当年签订实习协议一样的字迹,不同的只是那份心情。
我坐在魅族大楼前面围绕着一颗树而摆成的弧形长椅子,喝了口小卖部买来的咖啡。
两年半之间,偶尔在午后偷得一丝慵懒,来到这里喝杯咖啡,感受着珠海的安静。
抬头45度,当年满载绿叶的树,已经被寒风吹散,只剩下枝与干。
我曾经幻想过很多次,会有一个两鬓斑白的老人坐在我身旁,告诉我这棵树的名字和故事。
如此我的故事就会变得更具戏剧性,但现在我只能叫它「一棵树」。
一棵树先生,花开花落,经历过多少个珠海的冬与夏。
我两年半的魅族生涯,也被他看在眼里。
实习
2014 年的暑假过后,跟我一起在大学做了不少项目的死党糖水哥找到了深圳的实习。
他总是什么都比我快一步,也是从他话语中知道了珠海魅族下的笔戈科技在招「前端开发」。
同时,带我入坑前端开发以及给予我第一个实战机会的师兄,邀请我到他的公司工作。
在投简历的前两天,我去拜访以前实习的公司。因为那里是我成长过的地方,那时候公司不大,几个人,但是气氛很好。虽然短短的两个月,但是对这家公司的感情还是蛮深刻的。
师兄知道我正在找实习,就邀请我来一起干,让我负责主要的 NodeJS 和前端开发。
一时间,我下不了决定。一方面难以拒绝师兄的热情相邀,一方面又放不下自己准备良久的面试。我当时就实说了,正在准备面试一家公司,待我回去考虑过再给答复。
回去后,我思考了一个晚上,也用笔和纸列举了去两家公司的利与弊。
最终,我还是决定了先去魅族试一下。
我很感激师兄的邀请和对我的欣赏,但是那时候的我就一心想见识更多的人与事。
我记得跟他说了一句话:「我想试一下魅族」。
是的,我只投了一封简历,只投给了魅族笔戈科技。
很快就收到了面试官回复的邮件。大概内容就是很高兴收到简历,然后约定电话面试的时间。
在经过一个多小时的电话面试,以及一个面对面面试。
我终于收到了魅族的 Offer 邮件。
同时,还收到了总监盖文张的额外邮件,邮件内容主要介绍了魅族科技、笔戈科技、还有简单的个人简介,还扔了一大堆文献资料要我去阅读。最后还不忘布置一个家庭作业:一份关于我自身的全面社交账号列表,以及详细的自我简介,以及我未来想要做的事情。
从邮件的文字中,能深刻的感受盖文张对于每个成员负责的态度。
那时候我很高兴,能和一位如此有亲和力和有想法的人工作,那是多么幸运的事情。
所以,尽然我语文作文能力低弱,也是使劲的憋出了一篇2000字的感想。
笔戈科技
我记得第一次踏入魅族科技楼的一瞬间,看到一楼大厅的装横的那份感动。
就像那时候魅族设计出来的手机一样,那么的简洁,那么的灵动。
我在笔戈科技,所属于 Web 开发组,组内只有老大一个 NodeJS 开发,再加上包括我在内的三个前端实习生。
老大跟我说,你看这么多前端实习生,本来不打算再招前端实习生了,但是看到你以前做的项目蛮多的,就破例了。这句话,让我心里偷偷窃喜了好一段时间。
当时我们组主要是负责笔戈博客项目,以及一些营销导向型的短期项目。
笔戈博客是在 Ghost 的基础上构建的,修修补补源代码,加上了一些业务性的定制功能。
我记得那时候看 Ghost 的源码,因为不懂 Promise ,看的非常吃力。
Ghost 的前端部分使用的是 EmberJS,在2014年前端的 MVC 框架比较流行的是 AngularJS、EmberJS、BackboneJS。
构建项目的用的是 Grunt,CSS 部分的 sass、less 在当年也已经开始普及起来。
对于我一个只懂 jQuery、BootStrap 、以及前端三项基本功的实习生,掌握前端工程化技术是一项让人充满新鲜感与兴奋的挑战。
当时技术团队的人员配置很不平衡,一个后端对应三个前端,所以后端的工作强度很大,前端反而显得清闲。
不出半个月,一个午饭时分,老大跟我说:「你不是会 NodeJS 吗,要不尝试转后端?」
我思考了很久,大学立下的职业规划是成为一名出色的前端工程师。
但是要做好前端,首先是成为一名合格的软件工程师。我觉得是一次机会,所以就答应了,后面的两年的时间,工作上就绝大部分从事着后端开发。
随后我也感激我当时的选择,后端的工作能让我从不同的角度来了解软件开发。
在我转型不久,很快又来了一位 NodeJS 实习生。从现在来看,他也是我们组最后的一位实习生。
在笔戈科技,虽然有不同的职能组,但是那时候人还少,不同职能的大家都可以混在一起,而且管理上也十分的扁平化。我们使用很多优秀的工具来进行团队合作,例如 Teambition、Google Docs,还统一购买科学上网服务。
就像我在入职前写给盖文张对于笔戈的看法所描述的,笔戈科技就像魅族的一个特种部队,效率和敏捷性都很高。
笔戈玩
在入职直到 2014 年末之前,我都一直做着一些琐碎的事情,笔戈博客的维护,以及一些营销导向性的短期项目,就像内部的一个外包技术团队。
我想,如果那时候没有魅玩帮的立项,估计我半年之后就不会在魅族了。
就趋近于年末的时候,盖文张召集我们技术组开会,谈论一个新项目的想法。
要做一个魅族旗下推广型的平台,推广方向就是我们所从事的「智能硬件」方向。
这时候,一个智能硬件试玩网站的雏形诞生了,叫「笔戈玩」。
项目立项了,就要撸起袖子开始干了。
团队的主要技术栈是 NodeJS,我们需要一个能快速搭建项目的 NodeJS 企业级开发框架。
我们对比了 Meteor、Strongloop、SailsJS,最后被 SailsJS 清晰的 MVC 分层所吸引,选择了 SailsJS 框架来开发。当然,框架的功能性,扩展性,和社区活跃度都是需要被考虑的,记得当年我写了一篇 《为什么使用 SailsJS》,现在看回去,有不少的东西可以补充。
就这样,一个老大带着四个实习生,三个 NodeJS,两个前端,从项目分析、概要设计、详细设计、数据库设计、再到编码实现,在农历年之前完成了「笔戈玩」的第一版本。
年后,由于之前对框架的不熟悉,导致产出的代码欠佳,然后重新推翻,再次重构。
又一个月的时间,发布了第一个内部测试版本。
经过一段时间的测试、修复、运营准备,终于在 2015 年 5 月 21 日,「笔戈玩」正式上线。
简书 —— 笔戈 Web Team
在「笔戈玩」第一版本上线之后,我也迎来了我的毕业。
盖文张是很注重团队成员自身发展的,他也很鼓励我们多看书多涉猎,也建立了读书经费。
在我们办公室的角落,就有一个小小的书柜,都放满了大家要求买的书。
除了看书,多写作也是被鼓励的。
笔戈博客是我们部门的业余产出,写作就像笔戈不成形的团队文化,当时就在全部门内推行了这样的制度:每人每月定额产出文章,产出不奖励,不产出要罚钱。
产出的文章,经过筛选,会发表在笔戈博客。
我们写代码的人要求低一点,一个月一篇,写不出要罚 100 块,罚的钱,用来补贴部门经费。
我那时候的实习工资 2000 加上补贴,一个月不缺勤到手也就 2700。罚 100 块,是多么痛心的事情。
所以我们憋也要憋出来几个字。
如果我们写一些技术类的,倒是没那么痛苦。
可偏偏那时候我们技术老大说,尽量不要写技术类的。理由是笔戈博客的读者并不是技术向的。
其实对于我们这群纯理科生,是有点为难的。
我在笔戈的第一篇文章,是使劲憋出来的:《盘点国内的那些ROM》
之后我就在思考,有什么办法可以发挥我们的所长,并且符合这个制度。
我的想法是,我们团队应该是作为一个技术团队的名义来抛头露面,我们的产出可以是纯技术导向,我们把内容聚合起来,作为一个专题,或一个频道,或者其他什么样的形式。
正好笔戈当时也在简书上面发表文章,以增加曝光度。
我就回学校毕业之前,给盖文张发了一封邮件,把我对团队文化建设的构思路描述了一遍。
大概就是先从简书开始,建立一个「笔戈 Web Team」的专题,以笔戈的名义为依托,来给我们技术人提供练笔和展示的地方。
因为简书并不是纯粹的技术社区,受众并不多,我们可以肆无忌惮的写一点东西,而不怕被人鄙视水平不够。
待我们的水平和产出上来了,考虑转移更纯粹的技术社区,或者建立团队的技术博客。
我举例了 AlloyTeam,Taobao FED 这些大厂出名的博客。
同时还说明了这样做的好处,一是写作会逼迫我们思考和总结,对我们技术水平提升有明显的作用。二是可以打响名声,提高成员自豪感,提升凝聚力,同时也有助于招聘。
盖文张很快回复了邮件,他赞同这样的做法,另外给了我笔戈科技在简书的账号密码,让我来创建这个专题。
同时,我也把这个想法跟技术老大说。我们老大是很进步向的,也很赞成这样的做法。
自此,我们开始以团队的名义进行技术文章的产出,一点一点的积累和提升。
截止现在,尽管我们已经转移产出的场地,但是简书上面的 「笔戈 Web Team」,已经有103篇文章。
第一次出省
从大学毕业之后,我和魅族签订了我人生的第一份劳动合同。正式成为了魅族的员工,虽然之前实习的日子都是被当做正式员工来用。但是不同的是,我终于可以领着符合水平的薪水了。
毕业回来正好碰上了 MX5 的发布会,公司需要征集员工志愿者,我就应征了。
于是乎,人生第一次出差,也是这个稚嫩的广东人的第一次出省。
我们订的是动卧票,晚上从广州出发, 第二天就能到北京。
看着地图的定位慢慢的越过广东的边界,心头涌上莫名的一股激动。
记得那天晚上,躺在摇晃的车厢中,闭上眼,脑海晃出了很多画面,一场星际旅行。
然后,打开当时很流行的「足记」,写下了一些胡思乱想。
现在看回去,自己还真像个小孩。
同行的还有几个要好的同事,我们是提前一天到达的。
在空闲的时间,我们相约去了北京的「798艺术区」。
我想,每一个来到这里的年轻人,都会爱上这里弥漫着创意以及艺术气息的空气。
第一次出国
在北京回来之后,正好碰上公司的年度旅游。
听一些老员工说「今年开始才有旅游经费的,你碰到好时候了」,比较遗憾的是,那也是唯一一年有旅游经费的。
公司的旅游经费只够短距离玩个三四天左右,以自行组织报销的形式,然后部门的一些土豪君给出一种方案,就是自己多掏腰包,然后一起去泰国玩一转。
听到这方案,心里埋藏已久的射手座的心,再出跳出来作祟。
花光了一年实习的积蓄,跟着土豪同事们去泰国了,那也是我第一次踏出中国的大陆。
魅玩帮
2015 年 9 月,「笔戈玩」更名「魅玩帮」,明确定位「魅族旗下新品分享平台」,由新的总监接手这个项目,帮团队理了至关重要的一件事:产品要和魅族价值挂钩。
Web 开发组,自然而然也就划分到新总监门下。
这时候我们小组已经从当初的 5 人小团队,增加到 11 人了,
继我们组最后一个实习生之后, 又来了一个测试妹子,后来转运维去了。
然后,又来了一个 NodeJS 的后端,除了帅人品还很好。
然后,又来了一个测试妹子,爱吃爱玩,还会卖萌,我经常说:「你要是瘦了肯定是个美女」。
同时间来的还有一个香港硕士生,做前端开发,人帅,逼格比我还高。
再后来,又来了一个 JAVA 的后端,也是硕士毕业,基础很赞,人很接地气。
最后,再来了一个项目经理。
再加上原来项目整合分配到的一位御用设计师,和一位会卖萌的产品经理。
于是乎,「魅玩帮」团队,从一个实习生团队,慢慢的增长到一个成型的小团队,配置到位。
卖萌产经经常说,她遇到一群聪明的人。
项目重定位之后的一系列工作就是接入魅族用户中心,魅族论坛,Flyme 论坛。
这涉及到跨部门之间的合作,由于技术上是由我一直跟对方沟通的。
后来,老大跟我说:「你参与的比较多,由你来主导这次开发吧」,喜出望外。
随后被打了鸡血一样,事无巨细,从设计、文档、技术方案给理了清楚,再加上一群很棒的伙伴,功能很快就做完了。
随着「魅玩帮」的用户量上升,产品想要一个「消息提醒」的功能。之前的工作给老大留下了不错的印象,这个任务就被分给我了。
消息系统的开发,也是我觉得工作内做的比较有条理性的工作之一。
经常性,产品想要一个东西,但是并不能完全的描述这个东西的细节,消息提醒也是一样。
开发需要做的是,帮忙缕清整个东西的逻辑和业务,我首先是分析业内的一些成型的产品,例如知乎、简书的消息提醒功能。
通过分析,抽象本质,整理业务功能,写出大概的功能设计,以及实现思路,然后再开会沟通。
经过多次沟通和修改,然后编码实现。
那时候明白了一个道理,一项功能或者一个项目,最费时间和精力的是在前期的沟通和设计上面,编码实现在一个熟练的开发者手上,反而是最简单的事情。
最后内部整理文档,外部输出思路:《消息系统设计与实现》
优秀员工
很快,2015 年过去了。
部门年会在一家酒店吃年夜饭,那是难忘的一天。
那一天,收到了一个肯定,「优秀员工奖」。
是我们技术老大帮忙提名的,记得他年末跟我谈话的时候说的一句:「你是进步最快的,比其他人更靠谱些」。
Segmentfault —— 魅族科技开发团队
年后,经过半年的时间,我们组对于技术的积累,以及文笔的熟练度,有了一定的提升。
于是乎,我们开始考虑换一个输出文章的地方。
当时我的想法是,建立一个我们独立的博客站点,但我的只能算作提议,最终还是技术 leader 以他认可的方式行动了:在 Segmentfault 以团队的名义来输出内容。
于是,我们在 SF 建立了专题:「魅族科技开发团队」。
现在回想起来,这的确是一个明智之举,借助更垂直化的社区,可以给我们带来更多的关注量,和曝光度。当时魅族内部,还没有以团队名义来对外输出内容,我们做了,而且还做得不错。
同时,以团队为的姿势,也得到了 SF 社区的欢迎。
还记得,曾经连续两个季度入选 Top Writer 之后,均收到社区寄过来的小礼物和卡片,那份激动的心情。
以前也混过想 CNodeJS,V2EX,CSDN 之类的技术社区,但是从来没有遇到一个这么认真的技术社区。能感觉得到 SF 社区的那颗真诚在做社区的心。
我经常说,程序员就像中欧的骑士一样, Fight For Honor。
如果 SF 捉到了这一点,就可以留住更多的优秀产出者,就会吸引更多学习者,然后再反过来哺乳社区,形成一个良性循环。
凌晨六点的东岸牌坊
2016 年 3 月份,我接到了一个很酷的工作。
公司预定在 4 月 6 日开一场魅蓝新品发布会,而在发布会之前的预热活动,想搞一个抽奖,送特斯拉。
我们 Web 组提供技术支持,设计以及策划的工作由市场部的其他部门协作完成。
整个项目工期很赶,我们基本实行了临时的 996,加班加点赶工期,那时候很充实。
就在 3 月 23 日上午,我们上线了「406魅蓝发布会」的项目。
上线的前一天晚上大家通宵战到天亮,我们下班打卡的时候,已经连续工作了 29 个小时。
项目上线的前几个小时,太阳刚从东边升起,我们眼睁睁的看着漆黑的夜,渐渐地明亮起来。
珠海的三四月正是潮湿天气,空气中充满了水分子,初升的阳光很弱,还没有足够的能量消散这一层薄雾。
走到办公室的窗前,一副迷人朦胧的景色映入眼帘。
这是,凌晨 6 点钟的东岸牌坊。
因为公司动用了大部分的传播渠道来推广这个网站,当天的日 PV 突破 100W,让我激动了很久。
整个项目我负责的不单单只是后端功能的开发,还需要在整个项目上把握进度,那时候能感觉到老大有放权给我们的意思,虽然没有明说。
这让我们在项目上,进度上,站在更加有责任感的位置思考问题。
技术上比较简单,前端页面提供几个 HTML 页面,服务器使用了阿里云,以及阿里云提供的 MySQL 。
在单元测试上我比较重视,覆盖率 100%。
安全性方面,使用了极验的验证码,绝大程度上避免了恶意的刷码行为。
这一次的项目,让我在做一个高并发、高性能、高稳定、响应速度高要求的项目有了更多的经验。
危机感
本来一切都是很顺利,团队氛围很好,也很有干劲。
加上之前的顺风顺水,我曾以为我能在公司干出一番成绩和事业。
然而开始有了一些不好的变化,4 月份公司发生了一些不开心的事,于是乎,奇怪的味道慢慢蔓延开来,从最初的难以察觉到后面越发刺鼻。
4 月,也正值跳槽旺季,我收到了几个猎头和一些公司的邀请。
由于一个意外,老大知道了,就在这个大家嗅觉都特别敏感的时期。
然后被约去喝咖啡了,我也正好把我所思所虑表达清楚。
我们老大是一个平易近人,也很能理解下属的 leader。
我说,魅玩帮 2.0 在即,我还可以提供一些推动力,最起码 2016 年还会留着,干完该干的事情。
我这样说是给老大承诺,也给自己定心,我知道坚持的美。
其实那时候,尽然有对薪资的不满意,但是对团队的感情,以及产品的感情更胜于此。
噢,不舍的还有珠海安逸的生活。
没有人不在意钱,我也在意。
而大多数人赚钱,也是为了让生活更美好。
但是如果一旦你的生活跟一家公司强关联起来,就没法确保你安逸的生活哪一天不会被毁掉。
同时,你的决定和行动也会受到更加多因素的影响和束缚。
无论怎么样,终究,我的危机感变得比以往更加强烈。
魅玩帮 2.0
魅玩帮尝试了最后一个转型,从「试玩」为主转向「内容输出」为主。
于是,魅玩帮走向了 2.0。
2.0 的功能点很多,需求也很多。
但是对于我来说,技术上早已经轻车熟路,所以问题不大。
大多都是业务,逻辑,API。
值得写的东西也不多。
西山日薄的魅玩帮
经过两年的时间,魅玩帮的模式也玩的差不多了,功能也越发趋于完善,产品也越来越成熟。
但是,我也渐渐地明白,魅玩帮的模式,有一个致命的弱点,没有直接的盈利模式。
它的影响力,是附属在魅族品牌下的,只能是营销上的一个辅助性工具,就算我们技术上把项目做得再精,再出色。
没有发现盈利点,就没能够在内部提高我们的不可割舍性,最直接的影响也就是我们的待遇和福利。
我们没有给公司创造收入,那么我们的工资就像是在烧钱。(实际上,我们内部接的营销项目,也是间接帮公司省掉外包的支出)
在年末,上层决定要把「魅玩帮」并入到「魅族社区」,我渐渐的意识到我们做了两年多的产品已经西山日薄了。
我也发现,这时候离开,是对团队的影响最小的时候。
成长
从大学实习开始,直到毕业之后的一年半,已经在魅族度过了两年零三个月。
在这里经历过很多的第一次,也认识了很棒很聪明的朋友和同事,从他们身上看到,也学到了很多东西。
在这里,我的生活和工作是融合在一起的,但却没有一丝的违和感,融合的那么自然,有机。
团队的大家除了是同事,还是一群好朋友,好基友。
而技术老大,两年了,也像师傅一样,从最初的手把手教,到后面的信任,放手。
慢慢的,忽然意识到,是时候出师了。
在这里锻炼的不单单只有技术,
还有做人、做事的道理,
还有职场上处事的道理,
还有眼界和认识,
还有思维方式,思考方法
等等……
是的,感谢魅族。
今天,我毕业了,从魅族。
夏天
魅族,诞生在一个南方的海滨城市——珠海。
这里一年中似乎只有夏天与冬天,秋天和春天短到以至于你感觉不到他们来过。
魅族科技楼的前面,立着一颗树。
我依然清晰的记得,那一年,我来的时候,它满载绿油油的叶子。
在阳光下,温暖且湿润的风吹过,叶子唰唰的响,切出无数缕光束,打到我的脸上。