2013年对我来说是不平凡的一年,这一年我经历了离职、自由开发、就业,再离职、回原公司,这么多频繁的变动,其实是对我想要什么样的生活在迷茫中的探寻。
经历流水账
今年3月份持续了近1年的中行网银iPad项目上线,我们iOS开发的3个小伙伴一个离职,一个调配到其他项目组,剩下我一个人坚守。因为是开发了一款几乎全功能的浏览器,整个项目中遇到了很多的问题,项目的过程也是非常的痛苦,我也创下了连续两个月加班都超过100小时的记录,但是好歹最后客户也认可了。项目上线后,后面的两个版本都在进行,一个SIT,一个UAT,而这些版本其实都是业务功能的拓展,客户端本身不用做修改,只是前端人员开发新的交易页面,所以我的工作就是每天打版本。但是银行封闭的办公环境,上个网都是问题,只能自己看点书,但是经常被要求打各种测试版本而打断,所以决定离开项目组,加入另一个刚开始的项目。
4月初从中行网银项目中抽身,加入了中行手机银行项目,其实手机银行项目11年就已经上线,后面经历了各种版本升级,最后还是决定重新开发,由原来页面解析方式改为Native开发。进入项目组,发现所有开发人员都是新招的,很多开发人员都是刚毕业或实习生,大家的开发经验都很少。为了控制项目的质量,所有基础的东西和框架设计都由我来做,包括项目框架的搭建、通讯的封装、实体模型的设计、公共控件的实现、统一样式的定义等几乎有一点通用性的东西都由我来控制,最后到他们每个开发人员的工作就是拿着接口文档请求数据,按照效果图或原型图绘制界面。项目的前期其实也挺有成就感的,每天都有很高的产出,每天给7、8个小伙伴解决各种开发问题。 但是一两个月后项目开发得差不多,需要连到银行的各个环境进行测试时,经常被国企一些低效的办事风格气得无语,有时候为了解决一个环境问题,各个部门来回推诿都要拖上几天。同时他们也会对客户端各种界面提出修改意见,经常反复。5月下旬的,感觉再也不能在这种工作环境中浪费生命了,开始看外面的一些工作机会。
后面去百度面试过一次,受挫而归。总结做iOS这两年多,框架之类的东西做过不少,但是很多iOS的知识存在盲点,于是决定好好进行补习,开始每天上班看各种官方文档、iOS开发的博客、开源项目、论坛等,项目的事能安排给别人做就都安排给别人做,为了及时总结,用在手上好些年没派上用场的域名 esoftmobile.com 在Github Pages上开了个人博客,其实从10年刚开始接触iOS时就在博客园上写东西了,后面好长时间没有更新了。每天上班就学习的状态持续了一段时间,但是还是经常会被各种没有太多意义但又不得不做的事情打断,最后就提了离职,裸辞了。
其实当时想着工作了3年时间,几乎每天都是工作得很繁忙,正好给自己放个假,同时在自我充电的同时看能不能自己做点项目。7月份的时候女朋友研究生毕业来北京找工作,我就每天在家学习自己感兴趣的东西,iOS相关的看的差不多,就看看Web开发,其实之前做浏览器开发,对web开发那些已经很熟悉了,就开始学习NodeJS。后面女朋友因为专业比较偏,又没有工作经验,很长一段时间没有找到工作,而我在家也没有收入,虽然3年的工作也有一些积蓄,但是女朋友压力很大,我想我得找一份工作让她安心一点。
9月份开始在内推和智联上投一些简历,主要看阿里、百度这些大公司的招聘信息,简历也投了不少,因为个人属于死宅类型的技术男,有时候很难表达和展现自己,虽然之前在公司也常常面试别人,但这些经历却都没有转化为我的经验,最后都没能够顺利的通过面试。后面干脆在智联上开放了自己的简历,等着别人主动找我吧,每天都也能接到好几个电话,但是大多数一接通就说是xxx公司的,问我能不能什么时候来面试,而通常是一些你听一遍记不住名字的公司,虽然有些是非互联网行业上市公司。后面针对类似的面试邀请,我通常让他们先给我发给邮件,然后告诉他我在邮件里答复,遇到哪些没听过名字的公司,直接邮件拒掉。后面只去 搜狐畅游 和 当当网 参加了面试,最后选择去了当当网。而与此同时,女朋友面试了一家上海的外企也拿到了offer,最后无奈的她去了上海,我留在北京。
入职当当之前,其实我是不知道进入哪个项目的,当时只知道当当网有两个iOS项目,当当网客户端和当当读书,以为是去当当网客户端,结果入职了才知道是当当读书,因为他们看重我之前做浏览器的经验,希望我能带着团队把排版引擎做好。当当读书第一个版本是请的外包,后面自己接过来,没有核心的排版引擎,使用的WebView做展现,而且代码结构混乱,规范性很差,大量冗余代码,使得其实很简单的一个书城+WebView展现的客户端代码量却是大得惊人。而团队中都是平均年龄30岁以上的开发人员,虽然他们自己的排版引擎也在开发,但是架构设计和代码依旧很烂。另外,团队的工作氛围也不是很好,积极性很差,当当规定技术部每天要保证10小时的工作时间,也就是早八点半到晚八点半,或早十点点到晚十点,但是很多人到了晚上都在上网看视频,凑够了10小时走人。你知道每天上班看着一堆乱代码而不能改(他们要保证上线时间),中午和同事一起吃饭而没有共同话题,团队人员为了工作满10小时而在那里加班是多么痛苦吗?两个星期后我提出了离职。
辞职后我有几个选择,继续在北京找工作,或者去上海和女朋友汇合,或者干脆回老家武汉,因为女朋友的爸妈也在催我们回武汉。鉴于我感觉之前做决定考虑的问题都不够全面,所以在做决定之前我找了之前公司的一个朋友吃了个饭,其实他之前是我的领导,后面成立新的部门做业务研发(非技术类),他比我大几岁,我希望他们给我一些建议。他给我讲了一些公司最近的变化以及现在正在做的事,并希望我们回公司去我之前另一个领导(技术总监)的部门做一些研究性的工作,同时也给我介绍了一位阿里的主管让我选择,考虑到能在熟悉的环境做一些自己想做的事情,最后我答应回原来的公司。
一些总结
虽然感觉今年走了不少弯路,但是每一步都能够让我对某些事情有一些新的认识,而且休息期间感觉自己的技术有了很大提高,也开始坚持写一些原创博客或翻译一些比较好的文章,其中不少文章也被 CocoaChina 、 SegmentFault 和 @唐巧_boy 的 微信公共帐号 iOSDevTips 转载或推荐过。
今年在Github上也开放了几个开源项目,其中OCGumbo有80多个Star和十几个Fork,ESCssParser 和 UIWebViewToFile也有十几个Star,虽然都不算多,但是对我来说也是一种鼓励和肯定吧。
今年也读了一些技术和非技术的书籍:
- 《黑客与画家》
- 《程序员的思维修炼》
- 《写个大家看的设计书》
- 《番茄工作法》
- 《布道之道》
- 《Rework》
- 《史蒂夫乔布斯传》
- 《Node.js开发指南》
- 《Node即学即用》
2014年一些计划
2013年只是一个开始,2014年希望我能做的更好:
- 继续写一些高质量的文章
- 虽然微博关注了很多iOS大牛,也被很多大牛关注,但是互动太少,希望2014年更多的参与进去
- 多参加一些技术会议,同时也希望能够做一些技术分享,锻炼一下自己的演讲能力
- 看完多看里面已购买的所有电子书和之前购买的纸质书
- 看不少于3本iOS开发相关书籍,包括《iOS6编程实战》、《Objective-C高级编程》、《iOS应用逆向工程》,鉴于不少大牛如 @唐巧_boy 和 BeyondVincent 今年都有出书的打算,如果内容不错的话可也支持一下