文章目录
  1. 1. 主要工作
    1. 1.1. 有道云笔记开发
    2. 1.2. 粉笔网开发
    3. 1.3. 猿题库开发
  2. 2. 创业
  3. 3. 技术成长
  4. 4. 个人 Milestone

去年 一样,记录一下今年的成长和收获。

主要工作

自己这一年主要的工作是:

  • 2012 年 1-4 月份,有道云笔记 iOS 端开发
  • 2012 年 4-9 月份,粉笔网 iPhone 端开发
  • 2012 年 11 月份-2013 年 1 月,猿题库-公务员考试行测、猿题库-公务员考试申论 iPhone 端的开发

有道云笔记开发

1-4 月份,我继续开发了有道云笔记 iOS 端的新功能。做得最费劲的功能是和 perfectworks 一起做 iPad 版的图文混排编缉器。本来想 iOS 的 UIWebView 是基于 webkit 内核的,把 PC 版的编辑器代码移植一下就行了。可真正做的时候,遇到很多问题。

首先是我们发现 UIWebView 有一些平台特有的 javascript 兼容性 Bug。当时苹果官方的用 Safari 直接连接模拟器进行调试的工具还没有推出,我们只能用 weinre 这个第三方工具来调试 js,但是 weinre 有时候会出 Bug,这个时候就只能用 Alert 来把调试信息打出来了,真是比 IE6 还苦。

然后是在 iOS 平台上,native 端调 js 是同步的,但 js 调 native 调是异步的。所以原有的 js 代码需要做很多重构。关于这里面的技术细节,我总结在 这里

最后是联调,因为 js 和 ios 两边同时开发,我们需要大量的联调工作。所以我每天抱着笔记本跑到前端组和 perfectworks 坐到一起。另外,我们还相互之间互相暴露了 git 的地址,然后相互 pull 各自调试代码,待各自都调试完成了,再把代码 rebase 整理一下,push 到服务器上。最后,我们将这种实践整理成文 《用 Git 进行协同开发》

另外,在 2-3 月份,我还和 c4pt0r 一起,通过有道的个人项目时间,开发了有道云笔记的 Mac 版。不过这个版本由于是非正式项目,所以应该还有很多需要完善的 Feature。最终 c4pt0r 将其取名为 NotEver,发布到了 github 上。

粉笔网开发

在粉笔网我花了 3 个多月时间,独立完成了粉笔网 iPhone 客户端开发工作。整个代码量除去第三方库,有 3 万多行。那段时间非常辛苦,每周 6 天,每天 11 个小时,最终产品如期上线。在产品上线后,我写了 一篇博客 来专门讲述这中间的感悟。那篇文章发出后,在微博上得到了大量的转发,最终引起了 CSDN 的 炫姐姐 的关注。在她的邀请下,我们进行了一次技术和项目管理的 分享

猿题库开发

猿题库算是我们创业的第二个产品尝试。这是一个收费产品,同样开发时间很紧张,最终我们延续了粉笔网之前快速开发的经验,用 3 个月时间再次推出了一个全平台(Web,iOS,Android) 产品。

这次在猿题库中,我还花时间调研并实现了扫描答题卡算法。也算是对我多年搞 ACM 的积累的一点算法的使用,否则都快忘完了。扫描答题卡使用了 OpenCV 库和 ZXing 库,所以我撰写了相关的经验文章发表在博客上。

猿题库在春节后上线。希望它能给我们一个惊喜。

创业

5 月 12 日,我离职加入了由前网易同事创立的一家创业公司:粉笔网。离职前纠结了相当长时间,主要是有道是一家非常棒的公司,在有道的工作非常开心,而且我们的产品有道云笔记一直在国内占据着云笔记类用户量第一的位置。不过最终我还是选择了离职,主要的原因是:

  1. 想接受更大的挑战。在粉笔网我会独立负责整个 iOS 端的开发工作,会辛苦很多,但是成长也会快很多。
  2. 想有更大的潜在经济回报。在大公司拿死工资总还是无法摆脱财务自由,创业虽然成功率很低,但至少有希望,并且希望把握在自己手中。
  3. 想和大家一起打造一个小而精的技术团队。

现在回过头来看,创业确实比较辛苦,但我也确实成长了很多。并且由于我们团队成员大多已经结婚,所以我们努力打造着一个不加班的创业公司文化。我们从 9 月份产品上线后,就一直坚持正常的上下班时间。

但是另一方面,我们的工作并不轻松。我们每周一个 Scrum,每天的工作量很大,所以我们会尽量高效地沟通,做好自己的时间管理。这里面 Scrum 和番茄钟帮了我很大的忙。我现在每天除去沟通的时间,常常能花 4-5 小时专注地写代码,而这在以前,常常只有 3 小时左右。

有一些朋友很关心我,问我:“如果创业失败了怎么办?”。其实失败了能怎么样呢?失败无非就是损失掉了短期的利益。但长远来看,我比以前更加专业了,我们团队更加牛逼了,不管我们是继续另一份创业或者去大公司找工作,我相信都有这个实力。

技术成长

这一年专心于 iOS 开发的积累,已经能够非常熟练地进行 iOS 日常的开发。

另外在这一年,我注意在工作的时候记下一些总结,然后在周末有空的时候,就会花时间把这些整理成文章。回顾 2012 年,我一共写了 36 篇博客文章,平均每月 3 篇。写博客有助于我梳理自己的知识,同时也结交了不少 iOS 开发的同行。

个人 Milestone

  • 2012-5-10 离职创业