WeaponZhi

总而言之,很庆幸能够在这工作

入职已经两周有余了,是时候总结一下这两周以来在新东家的所见所感了。

对新公司的印象和感受

入职两周,基本上已经算是稳定了。公司体量不大,两个公司,南京这边总部大概 70 来人左右,环境很好,布置风格很时尚,整体色调清爽而又充满朝气。公司上下都是年轻人,绝大多数都是和我年纪相仿的,三位老板也很年轻,都不到 30,整个公司氛围非常有活力,大家交流起来也很轻松。

不用多说,妹子也很多,但我初来乍到,工作为主,除了前台和 HR 两位妹子接触的比较多以外,其他女孩甚至连脸都没细看过几个。

公司给每个人都配了最棒的电脑,产品设计团队集体 iMac,其他团队也是顶级的主机。我之所以在拿到 Offer 之后两天才入职,听说也是因为这两天我的电脑还没运过来。第一天主要就是去配置环境了,看了下电脑的配置,i7-7500,之后公司还给我们 Android 组每人配了块希捷的 1 TB 机械硬盘。过了两天我又把我的 「FILCO」键盘带了过去,一切就绪,工作环境非常完美。

办公环境

公司虽然体量小,但作为一家「金融互联网」公司,公司的业务还是非常不错的,靠着这业务养活自己也是完全没有问题,听嘉哥说(Android 团队主管),公司现在势头还是非常不错的。

这我也能看得出来,毕竟从我来到现在,每天公司都在面试好多人,如果不是上升期,不会这样招人的。这里另外说一下,我们 Android 团队竟然多达 8 个人(后来走了一个,加上我一共在那会招了 2 个)。在公司「钉钉」上看了下,我司研发部除了 Android 最多的也就 5 个人,看来现在我司大量招人的状态应该还会持续段时间,如果有朋友想在南京找家有态度产品公司,可以找我私聊询问公司名(Android 应该是不招了)。

实际上从被邀请面试那天起,我就一直被动或者主动的感知公司的活力。首先公司的福利特别好,每年有 14 薪,餐补,交通补,每周有一次固定的下午茶,这个下午茶我吃过三次了,第一次是「披萨」,第二次是「高档奶茶」,第三次是「水果拼盘」。每次把这些美味铺在大桌子上的场景着实让人咽口水,就像这样:

QQ图片20170405154506.jpg

另外,每个月底都会举行一次生日会,这个月过生日的人都会作为寿星参加,大家集体围成一圈给你祝福,然后还有 3 块蛋糕一起分,最后唱唱生日歌许个愿啥的,就像这样:

mmexport1490947866338.jpg

公司每年有两次集体旅游,为了帮助公司程序员同事脱单,他们过年前去了趟越南,玩完回来直接带媳妇回家过年,无缝衔接,简直完美。

1492393366870_副本.jpg

来公司后,和 Android 团队所有人吃了次饭,第二天正值公司 4 周年庆,又吃了一次饭,两次都喝得很多,第二次甚至坐到老板那个桌和老板们谈笑风生起来了,老板们也对我有了个印象。很是热闹。

总之,这些虽然都是福利,但最终用心都可以归结到团队建设上来。体量越小的公司,就越应该专注于公司团队氛围和企业文化的建设,至少我司在这方面做的是非常不错的。这也是当初我找工作时对下家的期望之一。

对我所处的 Android 团队的感受

虽然我才呆了十几天,但非常深刻的体会到了产品公司和外包公司对待技术上的巨大差异。

如果让我用几个词语对现在技术团队的技术态度做个概括大概就是:偏执执着洁癖完美主义

曾经我一度认为 Android 开发工程师就是根据 UI 设计师给的图来实现页面,然后再和服务端配合调试接口,只要能实现功能就行。实际上绝大多数外包公司的项目可能都是这样,没人管你代码到底写的规范不规范,因为代码只有你自己看,移动端开发人员往往也就 1,2 人,就算有一些交接上的工作,也是一对一的,别人不会管你代码写的啥样子,只要你能把需求做好就行,以后有 BUG 了也是你自己的事。

但是在新公司,这些是绝对杜绝的,我来的第一天,主管就扔给我一篮子的文档,有 Git 相关操作的,有一些业务模块代码说明的,当然还有代码规范的文档。代码规范文档写的非常详细,规范也十分严格,不是说你想怎么写就怎么写的。比如一些命名规范;一些代码上的容错要求;比如你要写个异步操作,那么就必须用项目中已经封装好的公共类;甚至于你写个「for」循环都得按照要求;当然,还规定了你该如何写代码注释,哪些地方必须写注释;提交代码的时候 Log message 怎么写… 总之,细化到开发过程中的方方面面,都有了严格的规范。同时,每隔一段时间会有一次团队之间的代码 review,互相之间通过在代码中标记「todo」、「fixme」来提示一些需要改进的地方给同事。

团队在技术上的追求和沉淀做的也非常好,技术团队对自身有严格的要求。项目中各种模块的封装和抽离都会在每次版本中以技术需求提出来,作为明确的开发任务分发给成员做,这个过程不仅是一次项目技术沉淀过程,更是很好的个人提升过程,因为这些任务往往涉及到架构和设计方面,具有一定的学习成本,挑战性很强,在分析问题和解决问题的过程中能非常有效的提升自己的技术能力。我想这是每天写一些业务逻辑代码永远都比不了的。

比如同事之前花了 2 周时间做的组件化开发,把项目中所有常用的那些组件全部都统一规范,像表单,Dialog, TitleBar 这些平时开发过程中利用率特别高的组件,全部通过 Java 代码进行动态封装,高度的定制化。同事之前也是费了不少功夫,不过这种工作是有意义的,不仅极大的方便了日后的业务开发,对于他自身的封装架构思想的提升也是很有帮助的。

又比如,实际上我从来公司到现在一直在做一个子模块的抽离,公司有一个很重要的长连接模块,因为之前和业务耦合很严重,但公司的很多项目都需要这个模块,所以就需要单独把这个模块抽离出来作为子模组,让不同的项目进行关联。这就需要把这个模块从业务中高度抽离,同时暴露出一些公用接口来让业务端进行创建和需求组合,从而达到解耦的目的。我花了 2 周时间基本抽离,这过程也学习了很多设计模式相关的知识,并投入在这次的抽离工作中。同时,为了实现子模组,也深入的学习了 Git 子模组相关的搭建方法。

总而言之,我司技术上的工作很多都是那种有挑战性和一定的难度,但充满意义,也能真真切切的对个人成长非常有帮助的工作。公司是真正用心做产品的,把自己当做产品的主人,并用心在呵护和培养它,不断的优化和完善。我深深的被这种美好的「偏执」所吸引。

今天下午的时候,嘉哥把我和另一位小伙伴叫着开会,他正式成立了架构组,成员就是我们三人,并阐述了架构组的工作方向。我觉得很兴奋,我感觉我正在成为一名脱离低级趣味和重复劳动的程序员,继续努力,说不定以后真的可以成为一名 Android 架构师了,真带劲。

珍惜现在

当初面试这家公司的时候,我是非常渴望能在这里工作的,但因为找了有一个月了,对现在的环境非常不自信,当时就计划着如果这家公司不要我,我就去上海找了,虽然我如此的希望能在南京发展,但有时候就是这么无奈,总得有所舍弃。

不过还好,似乎命运还是照顾着我的,一切正朝着最好的方向发展,机会给我了,就看我如何施展拳脚了。

小之 wechat
欢迎关注我的公众号「WeaponZhi」