又到了辞旧迎新的日子,回顾自己的2017,如果按照工作和生活的比重划分——七三开。自己把绝大部分时间放在了工作上面,完成工作任务自不必说,更多的是作为开发者需要主动迭代和精进自己的知识。利用剩余的三分时间,自己也曾尽情折腾,在兴趣上面进行了各种挑战尝试。
现在还记得年会上大Boss对新年踌躇满志的憧憬——争取做到国内一流。我们的工作环境非常棒:高大上的硬件设施,人人平等的工作关系。大Boss立志高远,告诉大家公司就像一个学校,没有‘王总’、‘朱总’等的存在,统一为年龄大的叫‘老王’、‘老朱’或者‘王老师’、‘朱老师’,年龄小的就称呼‘小王’、‘小朱’,Boss以身作则——以‘老陈’自居。
作为移动端的「iOS开发者」,我在2017一共经历了4个项目:一个夭折、一个待用和一个投入运营,迭代开发、一个正在进行。工作之余,加入了羽毛球小分队并参加了比赛。报名了非全日制研究生,挑战了自己的学习极限。
夭折的项目
过完年回到公司,我们开发小组除了对已经成型的App进行迭代更新外,在产品多元的规划下,还需要有人积极配合新业务线的App开发。我主动担起新项目独立开发的任务,参与了产品开发的前期规划。但是商场如战场,除了上帝,没有人能准确预测形式变化。金融监管的不断加码,直接导致我所在的业务线被迫停止,开发工作也随之终止,我又重新回到原来的移动小分队。
待用的项目
随后公司开辟了新的业务线。面对新产品,我们移动端采用了模块化开发的方法。不同的业务模块尽量独立,把其中通用的部分提炼成基础模块,作为公司开发的基本库。对模块化的技术对比后,我们果断选择开源的Cocoapods方法作为管理模块解耦的工具。虽然因为业务原因,这个项目没能及时上线,但是这个项目淬炼了小团队的技术。使用创建Cocoapods管理库的规则在官网可以找到。可能第一次使用的童鞋感觉使用起来步步维艰,但是一旦一个项目配置成功,其他项目的引用轻而易举就能完成。做开发的童鞋应该知道,在项目中引入Masonary后布局的方便程度。有了公司基础库后的iOS开发,也能达到类似的效果,所以强烈建议小伙伴们学习使用Cocoapods。
投入运营的项目
主营业务App停滞后,在其基础上我们又开发了全新的App来满足新的业务需要。面对运营及时变更页面内容的需要,我们采用了FaceBook的React-Native技术,第一次在iOS和Android端实现了页面的统一开发。使用中我们发现RN技术和原生组件的交互仍然存在着很多坑,前期经历了莫名其妙的崩溃以及不同RN版本难以兼容的困难。而且后来FaceBook对其他竞争对手使用RN技术的限制,大大阻碍了RN的发展势头。在尝试新技术的过程中,我看到了语言的大一统趋势:RN的开发语言基于前端ES6,RN的语法中常常能看到iOS开发新语言Swift的影子。
进行中的项目
在公司的基础库中,包含了符合公司后台规则的网络请求、模型处理和常用库等,还有对UIKit/NSFoundation等的分类完善。我们新App的开发进展迅速,经过3周工作,现在已经处于等待上线的状态。
个人兴趣与挑战
对公司成立的多个业余兴趣小组,我选择加入了羽毛球协会。作为其中的活跃分子,我争取参加每次的锻炼活动。经过半年的努力,我的羽毛球水平,从最初遭人鄙视和被各种虐的入门级,达到了现在游刃有余的中级。8月末我们还组织小队参加了整个中关村西区组织的比赛。活动期间,我了解到队员中的一个小伙伴通过在职研究生考试,成为了北京大学的研究生,引起了我的兴趣。随后的详细了解,我知道了国家研究生招生政策的变化:从2016年开始,取消原来的在职研究生单独命题形式,实行和统招生一样的试卷。考生报考时有全日制和非全日制两种选择,各个学校对不同选择的考生划分不同的录取分数线。虽然已经9月中旬,我还是决定试一试,选择了报考2018年的非全日制研究生。因此从10月份开始,我把全部业余时间都放在了准备研究生考试上面,重新捡起大学的高数、英语、政治和专业课。在12月23号参加了考试,虽然结果可能不如意,我仍然觉得:我的选择,虽败犹荣。
乔帮主说过,「Stay hungry,Stay foolish」。新的一年,我仍然会把大部分精力放在工作上,坚持更新自己的技术知识。仍然会坚持写作,积极分享自己学习的知识和生活的感受。当然,还有自己的新目标:在2018的上半年,要将开始的Android开发继续向前推进,争取有个可以拿得出手的阶段性成果;下半年要把考研进行到底。
不知不觉间精彩纷呈的鸡年已经过去,充满希望的狗年就要到来。你准备好了吗?