来北京发展四年的一个总结,纪念逝去的青春

时光如梭,转眼已经快到科幻电影中经常出现的年份了,翻开朋友圈,发现很多好朋友对自己的2019做了总结,所以自己也产生了写一篇总结文章的心思,回想过往的岁月,也确实到了应该写下一篇总结过去的文章,以纪念逝去的岁月。

#跌宕起伏的往昔

2012到2016年的那段时光已经逐渐离我远去,在那段时光中,有低谷的时候,也有风光的时候,在常人看来本科毕业,正确的选择是,要么参加工作,要么是去上研究生,但是我却拉着大学的两位同学去自己创业,一做就是4年。回想当初那种傻子一样的意气风发,想想其实挺可笑。对于这段时光,对自己来说并没有什么,但是对于一起做的两位同学,到现在内心都充满内疚。

还记得那时一个初春,本应该是万物复苏的季节,我们一起做事的几个哥们终于放弃了挣扎,我对他们说,要不我们放弃吧,支持不下去了,再这么下去,大家都全部搭进去了,我们都去找工作,从新开始。自此,我们一起走过酸甜苦辣的几个哥们各自收拾心情,开始了人生新的阶段。

#初来乍到,到处碰壁

从未去过一线城市,从未在任何正规的科技或者互联网公司工作过,简历上有一段很漫长的空白,这样的经历是很难找到工作的,然后很快就得到的验证,自己投的简历,几乎全部石沉大海,毫无音讯,当时我是先到上海去找机会,坐在张江高科的一个公园里,投出的简历得到的回复几乎都是,对不起,您的简历不符合用人标准。想想也是,其实折腾的这四年,也没什么时间去研究技术,其实当时真的就只会PHP写点后台页面,会一点点DIV + CSS会套模板,把网站做出来,思想也野了,其实拒绝也是情理之中。
当时心里其实觉得自己真的很慌,感觉无法在这里立足了。当时在公园的长凳上,看着跟着我的小狗可乐,心里真的不是滋味,我甚至快连给它买狗粮的钱都要没有了。但是就是在绝望的同时,可能是老天的怜悯,一个猎头给我推荐到东方福利网去面试,另外是我大学同学推荐我去奇虎360面试。

因为奇虎在北京,所以先去了东方福利网,我还清楚的记得当时是上海下着小雨,我面试的时候其实心里比较紧张,但是面试我的大哥非常友善,温文尔雅,整个过程其实很愉快,我把我创业时候做的什么东西给他说了一遍,最终聊完他就叫我等消息了。
最终猎头给我说,他们对我挺满意的,但是因为约了360的面试,我就没有立刻答应,然后就收拾行李,出发去北京了,准备360的面试,与此同时,同学还推荐了内推了新浪,美团的职位,直接简历不合格,没获得面试机会,但是当时获得了百度外卖的面试机会,他问的很多很基础的都不会,一面就被PASS了。

当时内心其实受到了很大的打击,已经快没有自信了,坐着从后厂村里到望京的公交车上,看着窗外的一排一排的房子,内心充满了失落和迷茫,做好了在奇虎受到打击的准备,记得当时是周五的下午,准备面试完就回上海入职了。但是整个面试过程挺顺利的,我会的东西正好满足他们小组的需求,当时工作就是做内部的一个管理系统,一直聊到跟人力谈待遇,聊完就叫我回去等消息,其实已经没报什么希望了。面完了奇虎,我就收拾行李回到了上海。

然后同学就开始带着我去静安区找住的地方了,我也是第一次感受到了,什么叫做一线城市,租房真的很贵很贵,但是正当我快要租好房子的时候,奇虎的人力给我打电话,说他们那边已经确认要我了,给我说了一个他们给出的薪资,问我愿不愿意接受。当时其实内心挺纠结的,一个是大公司,但是到手待遇只有上海这家公司的一半,但是最终经过思想斗争,我还是决定选择了奇虎360。这段经历,我只想说,对看中我的东方福利的那位大哥和推荐我去的猎头感到抱歉,辜负了你们。

在薪资和平台之间,我选择了平台,收拾心情和行李,跟姑妈借了8000元,加上我身上仅存的6000元,交了第一个季度的房租,在望京住下,于2016年的5月入职奇虎360,开启了我在北京的旅程,也是我人生中的第一份工作。

#出来混,总是要还的

第一次在大型互联网公司工作,其实说实话,内心还是非常激动,准备在这里好好干,做出成绩,但是刚开始来,一切都很陌生,完全跟之前的环境不一样,组长带着我做了一下简单介绍就让我自己看代码,第一份工作是做一个内部的管理系统,看了看代码,当时内心的想法就是想重构它,把自己的最好的水平拿出来。

但是事实证明我的想法其实很天真,第一尝试失败了。然后我没有放弃,虽然领导没有接受我的建议,我就先做一个出来,跟现有的系统进行比较,用事实说话。花了很多心思,当时我采用了ExtJs 6.0PHP Phalcon将后台基础功能搭出来了,也让领导看了,但是还是否定了。之后我便接受了现实,老老实实的在 ThinkPHP框架下实现日常功能了,日子平平常常,没什么好说的。

在北京,这么多大神,我觉得这样下去真的不行,然后就开始想,作为技术人员,怎么才能跟这些领域的人交流呢?我自己到底怎么发展呢?当时我26岁,其实对35岁这个坎理解不是很多,就是单纯的想做出点成绩。调查了一段时间,当时NodeJs这个技术开始火起来了,能做后端的东西,但是没有一个类似Zend Framework这种全栈的框架。说干就干,调研了一段时间,给这个项目取名叫做TopJS
现在这个项目其实还能找到:https://github.com/qcoreteam/topjs 我按照Zend Framework的结构,采用了ExtJs框架的类系统做出了底层基础的一些功能。当时信心满满,然后就想争取一点支持,就跟领导说我准备做一个框架,做好能给部门带来哪些好处,第一次谈结果很好,但是最后不了了之了,同时来了一个很紧急的项目需要支持,这件事就不了了之了。

在做这个紧急项目的时候认识了负责这个项目的领导,我们的想法很匹配,我就申请转部门了,在360的下一阶段就是从这个时候开始了。其实从入职360到离开我每天都是最早到公司的,早上有时候5点多,有时候6点左右,出发点其实很简单,自己创业浪费了太多时间,现在工作了跟别人的差距很大,就要拼命把时间追回来。我们9点30陆陆续续才来上班,10点领导开始安排开发任务,那么在6点到10点之间我就比正常时间多出了一个上午的时间来看书,积累知识。这个习惯一直坚持到现在,四年来基本平均工作时间再16小时左右,早上6点到晚上12点,在这期间学习了另一门对我来说很重要的技术,C++编程语言。

很多时候,早上保洁阿姨,经常走到我旁边说,小伙子,你肯定是公司骨干,每天工作这么早,我其实心里是很虚的,我这样并不是因为我是什么骨干,是自己啥也不会,之前浪费的时间太多,现在疯狂的恶补而已。
在现在的这个领导的照顾下,我度过了一段很充实的时光。也做了一些思考,结合自身的情况,我是搞PHP,那么这个谁做的做好,做过一些功课之后,这个领域有两个人做的很好,一个是PHP内核开发组成员,一个是swoole创始人。这两个是我的榜样,别人能做到,那我为什么不能呢?

#在朦胧中进行探索

在一次跟领导交流的时候,我跟领导说,我要摘取PHP领域的明珠,他问我,你觉得什么是这个领域的明珠呢?我说:PHP编译器是这个领域的明珠。我们聊了很多,然后我以当时的认知就给他说了我的一个线路图。

  1. ZendAPI
  2. libpdk
  3. v5ng
  4. 发布自己的编程语言

这里我对这个线路图稍微做下解释:

#ZendAPI

这个项目第一步,因为当时研究PHP编译器的接口其实用起来挺繁琐的,然后这个项目主要就是屏蔽底层接口的复杂性,使用C++来提供一个面向对象的类型安全并且风格统一的编程接口。

#lipdk

这个是第二步,PHP有一个我个人认为不好的地方,他不像C#Java那样有一个风格统一并且功能完善的标准库,这个大大限制了PHP本身的应用领域,libpdk就是为了给PHP提供一套功能完美组织规范的标准库,pdk的含义就是PHP Development Kit的简称。

#v5ng

这个名字其实是借鉴v8,中文含义是威武引擎,配合libpdk然后自己做一个PHP的解释器,将一些不好的地方删除,形成自己的生态。

这些只是我的一些个人对方向上的探索,拿出来在这里跟大家分享一下,不喜勿喷。其实在360期间还做过一些有趣的事情,在公司里跟其他伙伴成立360开源委员会,跟其他PHP爱好者举办了两届北京PHP开发者年会,当时我们总裁还给我特批了一个phpclub.360.cn的域名。

时间真的是一个很珍贵的东西,总是偷偷的从我们身边悄悄溜走,转眼就到了2018年的初夏,这个时候发生了一件很让人耻辱的事情,中兴事件,这么大一个公司,一锤子就被锤的老老实实,当时就在心中产生了一个想法,基础软件是一个很重要的东西,平时没什么,一旦被人掐住脖子就很要命。
心里就产生一个项目,我要自己设计实现一种计算机语言,这个领域为什么我们就不能做呢?思索再三,我为我想做的语言相当了一个名字:极语言/polarlang。然后我就给领导说,我要做一门语言,看能不能得到点支持,因为平时基本都是下班时间做,做的很艰难,如果能得到一点公司的支持,那是极好的事情,在自己的争取下,获得了跟360总裁单独聊的机会,但是在各种机缘巧合下,最终这件事没有做成,也许是真的好事多磨。至此,我的奇虎之旅就告一段落了。

#对未来的期待

在奇虎期间认识了我们领域的一些大牛,也跟他们做了朋友,有时间我们也一起吃饭,碰撞思想,最近两年也是一直再探索怎么才能在PHP领域做出一点成绩,在这两年其实PHP的市场份额不断被蚕食,离开奇虎之后,我把自己语言的目标降低了一点,下决心先做一款PHP编译器。我比较喜欢polar这个单词,然后编译器就取名字叫做polarphp编译器。
我在方向上这两年做了不少探索,同时也走了不少弯路,在不断思索和妥协下目前决定了以下技术路线:

  1. 做一个PHP编译器
  2. 实现不完全兼容但是保留大部分PHP语法的强类型方言
  3. 不自己研发虚拟机,使用业界成熟LLVM编译器框架

在2019年的最后几个小时里,我想说,研发基础软件这条路,我会一直践行下去,有口饭吃我就不会放弃,经过这么长时间的探索和积累,我对未来已经不那么迷茫,希望能在2020年这个充满未知和希望的一年中能在编译器领域取得一点点成绩,感谢大家,祝大家新年,来年再见。

polarboy
2019年12月31日 晚