自有安排

just focus on the present

Posted by 照蕴 on May 18, 2020

最近又想起这个话题,特别是回想起这些年的经过,不由得想起来之前某厂常挂在嘴边的一句但行好事,莫问前程,因上努力,果上随缘,不管外界如何光怪陆离,最好能保持初衷,做好当下的事情,否则更加容易被浮躁的事情左右;

这些年

说下这些年的经历,现在回想起来还是颇有意思,有些巧合甚至有一种自有安排的感觉!

2013年大一

2013年六月,刚考完四级的我们班被安排听一个王老师组织的讲座,到现在还记忆犹新,主讲人是董旭源(拓胜科技),是王老师在中大的研究生同学,讲的主要内容是移动开发的较好前景;虽然在11年高三上学期我就决定要玩android相关的开发职位,那时候痴迷于平板,不过对软硬件的认知还比较有限,仅仅来自于自学的网页和ip等自学知识,现在会想起11年在百度文库搜到的Android开发基础的Android四层结构图那个傻愣的感觉,看到一堆高亮的关键字和Activity也是很懵懂;中间一个环节是播放一个某厂的招聘视频,一个女工程师阐述她理解的IT男精通大型网站架构,并发等等,那时候觉得纯属外人在看,意外的是大四的时候竟然误打误撞结缘了某公司,尽管一开始都没想甚至不敢想!席间王老师总结时说到计算机专业的吃香程度,说有几个师兄不太给力,应聘时几个简单的问题都放弃,类似如解释路由器的作用,解释前序后序中序遍历的差别,那时候虽然数据结构和网络的课没开,不过自己有所了解包括操作系统,那时候真觉得不要怪学校什么的,态度真是很关键!

wando实验室

wando初印象

可以说在我们系最好的实验室就是wando团队了,当然也很难进,刚大一时就听说里面很牛的ruby组,进去就严格按照企业化的方式的管理,类似员工上班一样,还有技术交流分享,一般大一大二进,大四出去实习就本身有几年的类似工作经验和丰富的长期维护的实际企业项目,08和09级的师兄实习时候就8k,说明团队着实牛逼!那时候很希望成为师兄那样有一身优秀的技术早早就是一个开发熟手,也知道他们也类,当舍友都在lol,玩乐的时候,风雨无阻的去实验室学习和做项目,甚至自主选择翘掉不太重要的课。当然,Ruby圈子很小很小,可能在广州这边能看到桥哥的熟人,如果是杭州那边就是Boss,关平师兄他们那一波同学的圈子了;

进入wando

2013年下半年,wando团队Android组招新了,ruby组同班同学鼓励我去尝试,面试需要在一周多 的时间内从0开始到做一个App,里面包含电商App的某些页面,附加选项是顺便把推送功能完成,可借助第三方SDK;现在想来是非常简单,不过在当时只学过C和C++的我,从零开始快速java,到Android还是有些难度的;结果那一周基本上完课就琢磨怎么做,遇到bug就自己摸索,后面提前把推送的也做好了,就是用到的极光推送SDK(今年也和极光有点交集是后话),不过那时候第一次体验到了SDK的威力,心里觉得要是自己有机会开发类似的产品就太棒了!那时候交稿时候,怕自己写得代码比较冗余或可读性差,还单独写了一个文档,说明项目代码结构,自己的思路,代码里面基本有代码的地方都有我的注释,在和师兄们一起演示完项目后,如愿和一个师兄(俊基)一起进入了Android组;

在wando的时光

进入后,我们还是要预备一段时间夯实基础后才能进入项目的开发轮转中的,不过管理方式和先进入的两个师兄(司机益达)无异,都是要自己做好开发时间预估或学习预估,时间我们会以时段为单位,每天早上先在yarm上写当天的计划,过后自己写进度,组长Boss每天都会review我们的进度情况; 那个寒假我和俊基都在完善java和进入Android的学习,准备来年参与到项目中;寒假我们到接近过年才回家,过年后初五就到学校了,学习实验室之前的类似电商App的项目学习;期间接入各种SDK,其中就有百度地图,支付宝,Bmob等;记得在2014年的6月,Boss叫我和俊基一起调研一下Bmob这个后端云,看下能不能把思博融购(那个电商App)的那套逻辑部署到Bmob平台,配合增加业务逻辑的云代码;过后我们就和司机以及益达参与到另一个老师的创业项目,在线Diy文化衫的App的开发中(衫动空间)了,我们会上redmine甚至是worktile管理项目,ruby出身的boss就给我们提供接口;

2014年暑假,实验室需要迁移到惠南科技园办公,那时候每天都等52路做很长很绕的路去上班,第一次想难道以后做开发的上班生活是否也是如此;

在实验室的时光,Android组是比较宽松的,和组长Boss达成一片,也经常会和其他dotNet,前端组交流分享等,前期在学校对面的金山龙庭,6月裸考六级后那晚实验室三个小组一起包饺子,boss还教授了很多技术之外的东西,虽然平时挺逗,不过他也有严肃论事和苦口婆心的时候;后期到了安静的教师村,比较快乐的是2014暑假后的那个时光,老师给了我们充分的自由度,我们那里当成了宿舍(讨论完需求后就开心打地铺),办公,学习甚至是做饭合一的地方,十几个人欢乐多,和司机也经常下去溜溜猫,然后继续上来写代码;

慢慢也有分别的时候,2014年年底,Android组的三个师兄都要去广州实习了,第一次看着空荡荡的几个位置,是有些伤感,也在想自己以后也是差不多要这样出去一人面对很多事情了,毕竟外面可没有实验室亲切;

在2017年翻开旧电脑的资料,思博融购和特唯衣(衫动空间后来的名字)的开发计划都在眼前,还有其他讨论记录的文档等,包括俊基写的开发文档,不禁想起来以前很多事情,虽然我一向没怎么保存记录,不过回头看到旧物还是很容易怀旧,包括去年翻开2014年初用来做开发的七彩虹平板,里面的一些App,包括实验室的App,都一一打开,然后和几个师兄说:看到没,嘿嘿!

到现在,巧的是同组另外三个师兄上班地点和我非常之近,不到2km,随时可以约饭,而可惜的是那个搞笑乐呵的阿芳师兄没在广州;

这些年过去了,那些师兄包括同届的同学,有的成家了,虽然身份属性大不相同,不过想到之前一起在实验室学习的生活,真是一群少年

另一个讲座

2013年9月,我混进了一堆大二师兄去听的一个讲座,主讲人是辅导员在华师的研究生师兄–何少岳(后来俺的老板),那时候觉得很有趣,讲到了互联网和移动开发,也说到了自己创业的产品Bmob后端云,尽管那时候不太理解,不过也是萌生了类似的想法,挺令人向往,那时候也看到他在招SDK相关的开发; 那时候自己也不会想到后面会在Bmob成长到负责SDK;

投吧的时光

2014年10月,那个幽默的阿芳师兄问我们有没有兴趣一起做一个外包性质的项目,那时P2P很火,刚好那段时间实验室的项目空置,从此我们就自行安排新的开发周期,全程没有组长和老师干预;当时来说比老师的创业项目更有压力,支付相关,2个多月要上线,期间我也被师兄带着起来,毕竟接触的没有师兄丰富,处理一些事情也没有很成熟,那段时间上课时间也在想着怎么实现比较好,我们的熬夜情况也很厉害;印象很深的是又一次赶着阶段性的包给验收方看,我们熬到深夜,又饿又冷,俊基从阳台做饭那找到了一些腊肠,赶紧弄起腊肠饭来,煮好的时候,刚好两个师兄因为一个实现细节吵起来了(就事论事,他俩关系很铁),俊基来了一句“每个人就两小根哦,不要多吃”使得场面顿时平和很多!12月的时候,项目基本完结,首先上线到了360手机市场,阿芳师兄说要去唱K庆祝一下,后面才知道他要回安徽老家,那晚在实验室楼下,他和我们都说了很多,说到我年龄最小,后面技术也要继续加油,前段时间他说在杭州了,两年前就是一个奶爸了哈哈!

期间记得一个挺感动的细节,那时候经常熬夜,加上家里有点事情,心态有过一次烦躁,项目过大半还未完结;阿芳师兄qq私聊我说嘿,小伙子,是不是没生活费了呀,挺意外的,他一边做php后端,一边做项目负责人和对接人,事情是很多的。项目完结后还是觉得挺值得的,毕竟第一次挣到了对一个学生来说还可观的收入。

这个项目比起实验室的项目,至少是短期内上线了的,还是不错的,后面找实习的时候都很不缺项目。

虽然前两年P2P行业一大波被洗牌,可能网上找不到太多投吧信投财富的资料(可能这里是一个),不过我们都知道,在那段一起赶这个项目的时间,投吧信投财富都是不会忘记的符号,都是一段记忆,阿芳师兄建的那个群就叫一起加油的日子

实习

2015年来到了广州找到黄埔古港和师兄们一起,那时候唯一的消遣就是每天跑来跑去面试然后回来看会蜡笔小新。一周后报到新公司,和司机,益达都在一楼,楼上是ruby组的两个师兄和俊基,每天斗赶车然后挤地铁。

在浏览器那边实习的时候,老大振哥第一天就交给我解决65535的问题,人挺好的,经常拍着我肩膀说小伙,你知道怎样才是程序员的工作方式吗,还给我安排到了一个旁边就是大佬的位置,不过那时候第一次出社会,一直怕麻烦别人,基本很少说话;

毕业

在实验室的时候,都是看了两届师兄们的毕业合影和答辩,看着他们意气风发。等到我们毕业的时候,老Boss也从深圳过来了,Boss说了一句没想到我的师弟都被别人叫师兄了呀,那时一个晚上还和子文出去聊了很久,没毕业的时候觉得自己会是一个没有感觉的木头,毕业的时候才觉得自己很容易感慨!

答辩的过程也相当顺利,看到同组和其他班,舍友,子文他们都用Bmob的数据,推送,IMSDK,由衷的开心!

Bmob

没想到从开发者成为SDK维护开发者,大学城,ShareSDK就在隔壁;我终于可以在SDK侧去提供封装好的SDK给开发者用了,刚好赶上了SDK的优化和改造,smlie煌哥带了下我,在这个过程中,自己也慢慢独立去扛起SDK的事情,后面他就专心去弄直播App的事情了;

在SDK侧,经常要权衡取舍开发者的需求,也需要维护好开发者社区,教程,知识库等,接触到了很多的开发者,在大学城,那时候基本都是待到12点后才和同事一起回去,而周末也经常在公司,看看书,顺便看看开发者的问题,我们的技术团队和友商尚有一定的差距,不过我们的服务比他们响应好很多,我们可以周末,11点多还在处理开发者当时提的紧急工单,离开后看到业界口碑不错,也是不枉一起和坤哥维护的这个社区;其中一个印象深刻的开发者,在Android上用平板开发App,用的那个软件我大一也玩过,挺令人诧异的;而在Bmob的后期,也做过一些新方向的尝试,那时候效率很快,基本是以半天作为一个迭代的单位,虽然信息流和小程序sass的平台没搞起来;坦率说,Bmob还是技术味道不错的,并发量也很大,后期后端就一个核心弄golang,其他的一两个php相关的同事,能支撑起这么庞大的请求也是挺厉害的;虽然这个方向不太好盈利,不过这个开发模式是很多公司可以尝试的,其实早期的华为和百度内部都有这样的平台,包括最早被fb收购的parse,我们对行业特性和对应的开发模式都沉淀了一些年,平台除了具体的端SDK,还有丰富的Restful API可供调用,是我觉得很吸引人的方向;在那边接触最多的就是坤哥了,有时候也交流点文科的东西,SDK我负责后,他主要在调研用SpringCloud去改善现有平台的潜在缺陷;走的时候,他说如果在那边不开心了和我说下,我立马让你回来确实让我很感动;离开后我也和之前一样有保持对友商的关注,看到好的思路也会和坤哥说一下,比如Flutter正式版出来后,觉得可以增加一个Bmob在Flutter环境下的插件;即使后面Bmob不在了,客端估计会开源,我估计也会在那个github中看提交过来的issue,会一直做下去;去年他们尝试了游戏联运的方向,我做了一些渠道打包的东西,也在帮他们维护着iOS的SDK,毕竟之前那么多回忆在里面。

而现在接触到各种SDK,基本套路和API一上来就基本看的七七八八,当然也取决于业务形态和特性,比如手游渠道SDK;2017年自己偶然因为需要去下载shareSDK的快速集成工具,其实就是一个Swing,快速把不同社交平台的分享SDK的jar复制到指定目录下而已,尽管在学校的时候是觉得挺厉害的,而SDK采取的技术细节有一些分野,但也不脱离那几种,比如阿里游戏的SDK,自定义全局Event回调,类似事件总线,去掉了接口回调;Api就是开发者和SDK作者沟通的一个边界,SDK开发者对内封装了很多复杂的逻辑,对外暴露有序统一符合直觉的一套Api集合;用配置的方式定义一套规则,SDK内部读取解析,或者借助于自定义注解的写意方式;其实真的吸引人的是如何把复杂的一些业务需求沉淀取舍后写好Api,需要有一定的基础,而在SDK实现的那一侧,因为长期维护的项目,影响范围大,如果把复杂的封装起来的同时又能保证维护性,扩展性强;坦率说这方面的一些特性后端云SDK比手游SDK难,手游SDK当然也会根据业务灵活变化调整内部结构,之前在阿里游戏的猫哥也和我说到这点对他比较锻炼到;而因为业务形态和技术特性,各方人员对接,也会接触到各种问题,需要自己有清晰的整体思路和较为开阔的技术视野,这些都是走过了才知道!

现在

说实话,之前(2018年)没想到来游戏行业大小周;面试时候老大(前4399SDK负责人)说到就挑出这一份来面试,也很实在,后面觉得应该来尝试一下;也和老大坦诚自己没玩过游戏,松哥倒是觉得没关系;来了之后两端的需求都做,松哥也和我说到技术之外更加要去学会主导,独当一面,给了我很大的自由度,很多技术我都可以自行安排选择,沟通也比较顺畅,有的时候心领神会,很nice了其实!

一路走来遇到都是不多的人和事多点,还是要积极调整好一些事情,有的事情先不用太过思虑,做好当下的事情!