在传统行业努力着的互联网人

“回望这段经历我依然觉得当初的选择没有错,六个月的时间收获太多,是我生涯中的一次际遇”。这是几个月前在博客中写的一篇文章:《在传统行业努力着的互联网人》

两个不错的人,一件看着不错的事

接到万科物业hr的电话,有些错觉。物业公司要做App?hr说公司要做社区o2o,基于万科业主资源的优势,所以万科做这件事有很大的优势,一件看着不错的事。于是我抱着“去看看吧”的心态去面试了。 面试一切都是很常规的流程没有笔试,这比我想象中的好,没想到传统企业的面试还挺务实的,坐下来就聊聊。技术总监:网易、豆瓣经历,牛逼的全栈工程师,年轻,有情怀,聊着感觉不错,气场对应。 团队负责人:十年互联网老将,豆瓣产品,原来他们是一伙的。他的面谈方式相当的free style,面试过程感觉不错。

他们对我还是挺认可的,后续的电话沟通中也希望我能考虑下,希望能一起“大干一场”。经过几轮的纠结(当时手头有其他offer,猎头推荐的,好几次差点被猎头说服了),最终选择了“大干一场”。

百废待兴

“劣币驱逐良币就是牛逼的人觉得和混日子人一起没有未来,然后走了;混日子的人发现没有牛逼的人去攻关扛着自己也没法混,然后也走了…”。这是我们负责人很久以前朋友圈发的一条感叹。 刚进前两个星期,相当压抑,团队气氛很消极,而我刚好深陷重灾地带。进去第一个星期开始熟悉产品业务,首先下载代码,当初版本控制还是使用的svn。然后慢慢的开始发现了很多问题,代码的问题入的问题,总结为历史的问题。

一、没有历史的项目。

进去没几天,我想知道我们的app上过哪些渠道,然后找产品问,产品貌似不知道渠道包时啥意思,然后问了项目组所有的人,没有一个能说清楚的;我想知道历史发过哪些版本,每个版本是否做记录,我找之前的两位Android工程师问,他们就开始翻svn的提交日志,版本没打打tag的么?

二、工程师的技术水平和态度让产品降低了标准

一次我发现《助这儿》首页的“消息”小红点显示的未读条是和实际未读条数不对,经过调试,log后端返回的数据,发现后端数据的问题,我去找后端开发工程师,他的回答让我很惊讶:“在我看来这不是bug”,我问他为什么,他说一直的这样啊,我当时很绝望,我错了么?这让我对这位开着轿车来万科物业上了三年班的工程师“另眼相看”,我相信产品经理也是多么的无奈。后来这位哥们也和我们的技术经理撕过几次,原因是后来我们使用GitHub托管代码,review代码比较严格,估计技术总监看了他的代码然后叫他如何如何改正,哥们受不了了,觉得技术总监老是针对他。

三、胡乱堆叠的结构而后不断沉沦与堕落的代码

每天都能碰到奇葩代码,经常会听到“尼玛,这TM谁写的代码?”这样的吐槽,开始觉得这样不好,会传递一些负能量,但是从另一个角度讲这未必是坏事,我们在吐槽别人的代码的时候同时也反思到,将来别人会不会吐槽我们的代码?这就使得我们格外的注意自己的代码设计,因为我们深深知道渣代码给后来人带来的痛苦和恶心。 关于代码的黑历史真是太多了,知乎上有篇文章叫做《你见过的最想笑的,最奇葩的,最逗逼的代码是什么?》,看了很多人的答案,我好想说,我都遇到了,太多了,这里仅仅截取两个来看看吧。这就是一位4年工作经验的工程师写出来的代码,还不让改,这让强迫症的我们很是痛苦。谁都写过奇葩代码,这些不可怕,最可怕的是,抱残守缺,不愿意接受改变,不愿意接受优秀思维方法或者工具。这位哥们,让我很伤感。某一天我又看到一段他关于连接服务器l正式环境和测试环境url的代码:

//public static final String BASE_URL = "http://xxx.vanke.com/";

public static final String BASE_URL = "http://aaa.vanke.com/";

你能看懂哪个是正式环境那个事测试环境么?只有他看得懂,或许过一段时间以后他自己回头看也不知道了。我问他为啥要这样写?他给我演示了注释快捷键,然后振振有词说:这样注释很方便。怪不得在他写的很多代码里我看到了成片成片的方法被注释的痕迹。 不到一个星期,我开始怀疑我是不是做了一个错误的选择?很是纠结,又想起了那句:“劣币驱逐良币就是牛逼的人觉得和混日子人一起没有未来,然后走了;混日子的人发现没有牛逼的人去攻关扛着自己也没法混,然后也走了…”,虽然我也不是太优秀的人,但至少我一直在追求进步,下了这么大的决心来这就是希望能能把这事儿做成,这样的情况能做好吗?做为一个互联网团队不该是这样的,看到不好的代码我有努力去改变,但是我去很难去改变一个人的思维习惯,既然选择了就再努力一下吧。好吧,看到问题我会告诉你,你不改我改过来,这摊事儿你搞不定我来搞,事实证明后来产品和设计师都喜欢来找我,然后“混日子”的人被架空了(万科有钱愿意养闲人就养着吧,我目的很明确,来这就是希望能把这事做好,你可以不参与,但别碍着我),再后来被“架空的”人走了,这是早晚的结局。后来和技术总监交流过,毕竟我们要干实事,需要有正向输出的人,和人品道德无关,和思维方式及做事的习惯有关,我们没能力也没这么多精力说教,不合适的,离开对双方都有好处。

四、各种老it系统高度依赖混陷焦油坑

也许这是很多传统公司都有的问题,系统老、旧,各种数据逻辑耦合。关于老、旧最典型的例子就是在家开vpn还IE only(只能通过IE浏览器使用),这让在家处理问题的哥们情何以堪?然后就是就是各种系统的交织混乱。比如我门App后端是A,A里面的大部分数据和逻辑分散在老系统B和C中(实际还有D、E、F…),而B、C分别在很久很久以前由不同的外包公司开发的,然后A又是由不同的外包公司完成的,一锤子买卖之后又经历了一批平庸的团队,在填一个坑的同时又不知不觉的创造了两个坑。最后我们来了,慢慢的看到了千疮百孔系统,我们多么希望原本就没有A,甚至没有B和C,重铸高塔远比在摇摇欲坠的高塔上建筑顺手得多。 或许是因为早期对技术的无知或不重视,万科物业正在痛苦的偿还着巨额技术债,甚至在将在短时期内无法摆脱这个困扰。好在高层拥抱互联网的态度越来越坚决,对技术的态度越来越重视。

革命

开发工具

人和动物的区分是看会不会使用工具,是工具触发了猿人的思考,最终进化成了现在聪明的人类。虽然现在我们更强调的是思维上的超越,但是在有些阶段我们还是要借助先进的工具来改变我们的思维习惯。

团队沟通工具:BearyChat。在之前是用邮件沟通的,很难想象在互联网开发这样的高效协作需求下是怎么沟通的。

团队任务管理工具:Trello。可以创建白板,白板上创建任务card,并能和BearyChat互通。

代码托管及版本控制:GitHub。这个是我的最爱,程序员的书脸,同样能互通BearyChat,最重要的是有了它我们才能更好的做代码review,控制代码质量增加工程师自己的讨论氛围。

apk托管工具:fir.im。非常喜欢这类轻工具,编译、上传、更新、通知到BearyChat,一键打通任督二脉,再也不用担心测试、产品人员拿着手机来喊你打包了。

AndroidStudio:估计很多团队还在用Eclipse,但就做Android开发来说AndroidStudio已经在各方已经远远超越Eclipse了。 最后站在客户端开发的角度总结一张工具协作图:

代码review流程。

使用GitHub协作管理,程序员要提交自己负责的代码之前,其他相关合作人员要review他的代码,发现问题会发起讨论,觉得代码不够好就要继续优化,直到大家都觉得ok为止。这个不是很复杂的一件事儿,但是相信很多团队都没有认真做好这个,因为我之前经历过的公司就很少有这个习惯,但是就程序员的提高上来说这个太有必要了,有这个流程之后写代码的人才会觉得不是一个人在写,项目再忙也不能仅止于功能的实现,代码是要给别人看的,才会有意识去写高质量的代码。看了很多代码,我发现高质量的代码是渣代码之间的差别其实相当小,究其缘由就是细微的思维意识差别,所以代码review重在改变程序员写代码时候的意识,当这种强迫的意思变成一种习惯时,也许这个程序员在开始产生质的变化了。

挣扎中的收获

三个月过去了,总算为停滞了六个月的项目带来一点起色。两个App分别在网络流量、内存、流畅度上都得到了一定的优化,《助这儿》搁置了几个月的报事、抢单功能总算有了样子,《住这儿》管家功能也提上了日程。 最重要的是团队氛围已经慢慢行程,工程师技术讨论环境完全得益以GitHub的使用和代码review的流程。由于豆瓣流的关系,时不时还能请来极光推送的CTO还有饿了么的架构师这样的牛人来做分享。到目前为止整个团队除了豆瓣流还有北邮的高材生、经验丰富的老大哥以及几个深大的小鲜肉。或许有一天我会离开,回到纯互联网公司中,但我希望我能留下一些东西:有我耕耘的一片土地!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,398评论 25 707
  • 她叫Alice,在1989年被发现,从1992年开始被追踪录音。在其他鲸鱼眼里,Alice就像是个哑巴。她这么多年...
    阿凡达盒姜来阅读 3,826评论 2 4
  • 面试的时候,是自尊和自傲遭到碾压和粉碎最彻底的时候。面试官的一个个问题,尖锐到像一把针,毫不避讳的刺过你的心脏,刺...
    小沙发阅读 370评论 0 0
  • 钓鱼是很多人热爱的活动。有些人,为了钓鱼,可以说想出了无数方法,以提高钓鱼的技巧和收获。有些人,只要能钓到鱼就行,...
    胡义华阅读 382评论 0 0