我的2014

      不知不觉来公司已经一年了,而且2014也快成为历史了,以前从来没有写过年终总结,有这个想法主要是突然觉得时间就这么过去了,而有一些既定的目标又没有达到,出来混迹于社会也四年多了,总该有点反思总结什么的,刚好最近工作上任务又不紧急,也该好好思考下生活和职业发展。记得以前在学校的时候很反感写总结检讨之类的,对政治上那些xxx理论思想嗤之以鼻,觉得很是空洞泛泛,现在觉得那些估计还是有道理的,毕竟那也是前人从实践中总结出来的,总结其实是为了更好的发展。过去也看过不少博客,当然主要是技术上以及程序人生之类的,比较有印象的是《大学十年》、金旭亮《普通IT人十年回顾》、《程序员MM的年终总结》以及csdn论坛上一些码农职场回顾等等,现在想想只记得一些标题,里面的内容基本都已忘记,因为那些都是别人的生活,纵使缤纷绚烂、丰富多彩,也只是在阅读是感慨一下,最终生活还是会回归平静,能够留存在记忆中还是自己的生活,自己身边的那些人、那些事,哪怕是平平淡淡,回味起来却是有滋有味,因为他们有血有肉,真实而有情感。年终总结,给自己一个交代,给过去一个交代,也给未来一点期待。
      记得去年刚来公司的时候,也是抱着极大的期待和希望的,当时在自我介绍的时候说:你我都是独一无二的,期待与大家一起影响大众,现在想想当时肯定是比较冲动的,主要是当时互联网、大数据概念火热,以前却一直在门外徘徊,而现在终于有机会近距离的接触这个行业了,突然一下觉得前途明亮、信心满满,证明自己的机会来了,准备大干一场。刚来公司那段时间,一切是那么的陌生,Java虽然学过但从来没在实际工作中用过,对大数据也就知道一点基本概念,hadoop/hive/hbase/oozie相关的基本啥也不会,记得第一个星期就研究下hvie的源代码,做hive的权限控制,那时连hive是啥怎么用都不清楚,结果是一个星期后就不了了之,leader也看出来了以我当时的状态肯定是搞不定了,后面就分配了业务相关的工作,当时leader座位就在我旁边,这也督促了我积极主动的工作态度,工作时间基本不开小差,每天工作任务及进度都很明了。那段时间工作重心主要就是熟悉hive,写写业务相关的报表,记得当时把hive的官方文档全翻了一遍,对hive也有了大致的了解,现在想想hive入门其实很简单,就是hql,在写业务报表的过程中,也对整个平台有了一定的了解,毕竟平台基本已经成型,需要进行功能性开发的已经不多了,做报表就是了解表中各个字段的意义,然后组合成sql,最多就是写下UDF函数,改改一些bug,这些基本都有固定的模式,大概一个月后,又开始迷茫了,难道写写sql就是所谓的大数据吗,难道每天都要在表中各个字段的意义中纠缠吗,我开始反问自己,这是我想要的工作吗?这有前途吗?我很怀疑自己的选择,然而在技术上我是个好奇心比较强的人,对于平时实现业务相关的工具,一切是那样的神奇,于是我打算一探究竟,找到了,我找到了业务启动脚本的具体实现,找到了main函数的所在地,那一刻是如此兴奋,突然觉得一下有了新的线索,一切不再神秘,我觉得自己会很快把整个业务线条弄清楚,因为根据我以前的理解认识,优秀精良的设计和代码,如果不是涉及到复杂的业务和高深的算法,作者当初可能要花费几个月的时间完成,而走读代码可能仅仅几天就能了然于胸。当我把bip 中启动action从main函数到具体业务实现那部分代码弄明白后,突然觉得bip还是设计的不错,代码中使用反射极大提高了灵活性,那代码也许不及天才程序员,但也算的上是优秀程序员,至少相对与我当时的Java水平来说,而且是个用了三年c/c++的码农,突然觉得Java也挺优美的,当然我现在Java水平也一般。
        有了一点点曙光后,真正对BIP有整体认识的还是从一个观影活动开始的。当时一个业务MM看见其他的网站做了一个观影活动,就也想做一个这样的推广,就是根据用户一段时间内观看视频时长排名给用户发奖品,刺激用户观看习惯,增强用户黏性。如何计算用户的观看时长,当然是大数据计算了,当时我正好手头没事,leader就把这个任务交给我了,当时在leader及同事的协助下,基本有了解决问题的大致思路,然而当时遇到了一个难题就是如何去重用户在多个设备同时观看的时间,这个问题当时大家都没有很优雅的解决方案,问题就在那里,不思不想永远解决不了,经过苦苦思索,在一个周末的下午,突然灵光乍现,位图,位图就是解决问题的最好方式,突然觉得以前学的数据结构还是有点用处的,而且位图是在统计去重时通用的解决方案,以前算法数据结构的blog没有白看,当经过苦思冥想终于找了问题的解决方式,还是有那么点点的成就感。接下来一切都水到渠成了,hive ql, UDF实现,结果存hbase, 提供结果访问接口,在现有平台基础上一切都比较简单。然而这个业务最终还是夭折了,具体原因不明,从我个人角度来说,我尽职尽责了,而已也有了一定的收获,从最初的数据源到最终提供有价值的数据,还明白了平台调度hql逻辑并解决了其中一个bug, 让我对hadoop/hive/hbase/oozie以及平台各部分功能有了更加清晰的认识。同时在这个过程中我也明白了一个道理:一件事情,并不一定高深复杂,然而如果你是第一个解决问题的人,哪怕使用的方式很简单,也是值得钦佩的。
       时间很快,半年很快就到了,半年里除了写了几张报表、改过几个bug,对整个平台批处理、离线计算相关的部分更熟悉外,如果说对平台开发过新功能的话,大概就只有两件。一件是利用mapreduce让平台支持从mysql直接导入数据至hive中,现在看起来是如此的简单,想当初也是不知从何下手,只得把sqoop的源码研究了一把才得以解决,这也是第一次写hadoop mapreduce程序,让我对hadoop inputformat/inputsplit/input recoder reader/mapreduce/outputformat/output recoder writer有了更多的认识,其实如果只是做hadoop的应用开发技术上也就只涉及到这几部分,期间也用到了Python,学习了Python相关知识,整理了系统学习Python的两篇blog,还有《Hadoop权威指南》也被翻过一遍。另外一件事就是hive的权限控制了,当初来公司了时候没搞定,后来又主动捡起,虽然说做的不完美,但也在摸索中有了大致的模型,这让我熟悉了webapp的代码,其实我觉得hive权限就不该有,大家应该有root权限,这样做起事来才高效自由,而且在实际中申请权限也是全通过,目前的权限对专业人士也限制不住,因此实际意义不大,然而领导觉得从数据安全的角度又需要这样的功能,也许这就是大数据在企业中完美落地实施的难点。
       半年,业务了解,平台熟悉,然而领导也换了,老人离职了,又一次迷茫,记得在一次会议上我问过:BIP将走向何方?未来的发展方向在哪里?也许老人也是在这样的迷惘中离职的。前leader的回答说:平台从无到有,从0分到60分,是一个伟大的创举,然而从60分到70分80分又是一个异常艰难的过程,需要很大的精力改进升级。好吧,软件工程,前leader功成身退,我追求建立丰功伟绩的机会又在哪里?这次会议也让我从部门Director那里学习到了两条理论:一万小时理论,即使一个很聪明的人要成为专家也需要训练一万小时以上;让问问题的时候如果没有问题,那是平时没有思考的结果。期间,也有同学说可以内推进阿里,但鉴于自己来公司时间不久,面阿里也不一定就能通过,而且大公司各个部分更成熟,不一定就有更好的发展,权衡考虑还是做好当前的工作,毕竟目前的平台中尤其是实时处理部分还是有很多值得学习的地方,老人走了也许新人就有机会呢?在这样的期待中开始了下半年的工作,同时由于每个星期都要写周报,这让自己养成了明确目标的习惯,每天该做什么事、该达到什么进度都是前一天晚上或当天早上该想清楚的事,虽然有时任务也会Delay,但基本都会按部就班的进行,偶尔闲下来,也会更新下blog,不会毫无目地消耗时光。
       写到这里,感觉下半年比较空白,没有什么很具体的task,完成domain文件个数修改,交接熟悉老人遗留下来的业务,zookeeper解决数据共享,hive权限上线折腾,schema sync 去除,pike/storm学习及线上问题解决,Yarn环境搭建等。Domain文件修改是由于平台设计不好,报表结果依赖于日志源文件个数导致的,这也是整个平台的一大痛点,现在依然在每天折腾着我们,而我做的仅仅是提供一个运维人员方便修改文件个数的web界面而且,本质上问题依然存在,感觉这点应该是平台需要改进的地方,数据源、ETL部分做的不好会直接给后续数据处理带来负作用。实现界面修改Domain文件个数,让我对平台MetaData存储及Refresh有了一定的认识,一个平台最重要的部分其实就是MetaData的管理,MetaData管理的好,平台不一定好,但MetaData管理不好,整个平台一定烂,在QA测试这个功能时,QA让我刮目相看,以前觉得程序员会对自己开发的功能负责,QA基本就是走个流程而已,现在发现QA凭借着对业务的理解以及仔细用心的职业精神至少对于在已有业务基础上开发新功能的质量控制还是很有作用的,每个职位都有存在的价值,也许QA的竞争力真的是沟通、业务、文档。SchemaSync在平台中存在是一样很别扭的事,自己都看不下去了,webapp集成schemasync这是我给自己提的一个需求,schemasync主要也是涉及到MetaData的修改和管理,在已经成熟的平台中,任何有关MetaData的改动都需谨慎,牵一发而动全身,一不小心就会引入新的bug,凭借自己对整个平台的理解,最终在一拖在拖的计划中终于实现了这个目标。
       至于老人留下来的工作,业务上就是一些报表了,push报表、运营统计、web_hour_pc/pv,技术门槛基本没有,业务理解、修改等一些杂事偶尔也是比较耗费时间的,毕竟技术是为业务服务,如果不能解决业务问题技术就没有任何价值,有的时候也问自己,技术和业务到底哪个重要,至今没有答案,也许是目前自己技术和业务都不行导致的吧。也许是新leader忙于其他各项事了,又或者自己确实没啥事,丹丹负责的事大部分交给我了,实时处理部分是我最陌生的地方,也是最好奇的地方,而且感觉比Batch Processing更有前途些,对于接手新技术新业务我一向报着的思想就是:别人都开发出来了,难道我还还搞不定。开始折腾td-agent、RabbitMQ、storm、pike,现在来看RealTime确实是整个平台最有技术含量的部分,尤其是Pike,绝非一般人所作,涉及到编译原理,顿时觉得高大上起来。RealTime的每一部分都是陌生的,然而由于没有新业务新功能的需求,基本上只有在出问题时才会深入了解下,在解决td-agent稳定性、Pike编译Class冲突时也是费了不少时间,然而这些都不是RealTime的核心,直到现在对storm/pike的理解还是比较肤浅,前几天才把storm-start中的demo在测试集群中跑起来,后面的目标就是深入学习storm/pike,利用Flume/Kafka改造RealTime了,不断被Ops push挺没面子的。
       一年下来,在技术上算不上很大的进步,只能说跨进了大数据行业的门槛,其实如果从一毕业就能选对行业,选对工作,四年多也能成为一个小小的专家了,时光不能倒流,在跌倒中成长,认识自我。如果按代码量来衡量程序员工作量,这一年代码量确实不多,一是平台基本已成熟,支撑现有的业务不会有太大的问题,而我的工作主要是改进平台的可靠性、可用性,平台的升级维护,这期间也花费了较多的时间去理解平台的架构逻辑;二是大数据相关的工作也决定了研究学习需要花费比较多的时间,出成果就更难了,各种开源软件框架层出不穷,直到现在我也没有从源码的角度深入了解过其中一个。大数据处理流程框架也相对固定,主要就五个部分:Data Sources, Data Processing, Data Stores, Data Service, Data Presentation, 好的系统每一部分都做的好,要实现数据产品化(Data Production)就必须有好的数据可视化(Data Visualization)。 这一年也补充了Java相关的基础知识,学习了黑马的JavaSE视频,maven/jvm也了解了下,Spring/js/servlet本也在学习计划中,只是不知时间都去哪儿了。此外,最近还买了一本《机器学习实践》,看了前面四章,对机器学习有个了解,各种news感觉Machine Learning才是高科技,既然跟大数据沾边,抱着技多不压身的态度去了解下。这一年,工作、技术就是在这样波澜不惊中度过,由于我们宽松的上线制度,偶尔直接线上操作,弄得人胆颤心惊,线上出bug、报表延迟计算更是常有的事,这也许跟我们的业务不关乎最终用户,也就没有所谓的用户体检所决定的。这一年,貌似领导的重心已不在是BIP,我也养成了主动、独立的工作习惯,给自己寻找任务,给自己安排时间、安排进度,有的时候也会想以目前的水平,找个高人指点下是不是更好些,然而现实有的时候是不允许的,贵人也是可遇而不可求的,貌似在某个地方还看过一句话:人生,让自己强大,自己做自己的导师才是最靠谱的方法。
      工作能证明自己的价值,然而工作是为了更好的生活,好的生活也是安心工作的前提。春节过后,带着亲人的嘱托,返回上海。来上海前还参加了班长DownFish的婚礼,对他我一直很感激,大学四年,我在抑郁中度过,他对我照顾有加,我最佩服他的就是人际交往软实力,当初他选择从在外打拼到回家乡银行发展时,我很感慨优秀地人才又一次被体制束缚了,当看着他带着老婆和孩子一起拜天地时,我突然觉得家才是最重要的,我们追求的最终目的不也是一个幸福美满的家庭。同样是初六,侯哥跟他那个香港科技大学的博士老婆结婚了,人家在本科时就搞定了,不得不感叹他的战略眼光。三八那天,回到南昌参加了另外一个同学Boss的婚礼,Boss是那种直来直去、落落大方的人,很重同学情谊,看到他们都找到心爱的人走进婚姻殿堂,煞是羡慕,什么时候这一刻也能降临在我身上。这一年,找个GF也是给自己的一个目标,合适的年龄做合适的事,这么大了,还要让父母亲人操心,在外这几年,有什么不好的事我从来不会对家人说,我不希望他们为我担心,对他们说了也解决不了问题,我的事我自己选择,责任自己单,后果自己受,每次打电话回家,妈都会提一下个人问题,我也只好装作淡定的对他们说我心里清楚,让他们不要操心。以前觉得男女之间的感情是在生活中润物细无声自然而然的发生的,现在看来是不靠谱了,也许是程序员的圈子比较窄,认识的女生确实比较少,找一个自己喜欢的人更难了,因此这一年也尝试寻找接触更多女生的机会,在几个网络交友网站上也注册了ID,但是网络上充斥着各种杂七杂八的信息,人与人之间的芥蒂还是比较严重,最后在自己对网络从来都没有完全信任的状态下彻底放弃了;同时也参加过两次线下交友活动,但是对于我这种不出众的人来说基本是被大众淹没,一场活动,焦点人物就那几个,大部分人都是陪衬。十一的时候也去武汉认识了两个女生,不过貌似大家都觉得彼此不合适,而且异地也是个问题,基本都不了了之。这些方式都无法解决,就让它随遇而安吧,然而快到年底的时候,偶然间发现身边有个女生是自己很喜欢很欣赏的类型,于是就尝试着向对方表达了爱慕之心,然而现实是残酷悲剧的,这种情愫直接被扼杀在了摇篮中。有时候我也怀疑自己的情商是不是很低,有人通过搭讪就能把GF搞定,而自己怎么这么艰难,以前我是个内向的人,通过多年的自我改造,现在已经是一个很正常的人了,遇到陌生人有时都能侃侃而谈,而遇到喜欢的人有时反而没话说;也有朋友说是装备太差,人靠衣装,这一点从小到大确实一直没太在意,格局品味就更谈不上了。2014,感情这块地没有任何的收获,也许MacTalk说的对,感情这事能在学校解决最好,到了社会更麻烦,而在学校的时候太懵懂太傻,现在却有点害怕回家过年,面对亲戚朋友的关心,只能再一次的故作淡定了,说好的毕业五年聚会,也有点害怕它的到来,同学面前,面子更不好过。
      五月份,经历坎坷的华仔来到了上海,身边又多了一个朋友。八月份的时候,良少离开了上海,在同学的推波助澜下,终于去了他梦寐以求的阿里,这一次煮熟的鸭子没有飞,被马浮云的招致麾下,他很兴奋的去了格调更高的杭州Family。他去了阿里,让我一下觉得阿里的档次不在那么高,没有了以前那种高大上的感觉,以前觉得阿里牛人聚集,可望而不可及,现在觉得阿里牛人确实很多,在外面抛头露面的阿里人确实很NB,但更多默默无闻的人跟你我一样,他们通过自己的努力,很幸运了选择了一个高速发展的公司,优秀的软件系统只需要几个定海神针的人物,其他的工作大部分人也是可以胜任的,这也许就是软件工程里的八二原则。生活中我们都笑称良少为leader,leader最让我佩服的还是他那种霸气自信,他的经典语录就是思想是无法超越的,他是我身边积累Money最快的人,也是最有逼格的,车子、房子、老婆、孩子一个不少,算了上小有成功。
     每一天公司、回家两点一线的生活,重复多了就没有新鲜感了,每天都是代码,有时也会感觉索然无味,因此我也是尽量给自己找点其他的乐趣。每天早上的公交时间,利用手机我把三国、水浒翻了一遍,红楼也被翻了三分之一,这些本来以前就该看过的,不知道以前的业余时间都是怎么过来的,难道都数理化了,不过以前读书时成绩也不是很出众。在公司里,中午跟同事一起去吃饭,虽然说食堂一般,但大家一起扯淡吹牛也是一件很惬意的事,吃完中饭经常也会打下桌上足球,幸运的是找了个强悍的后卫搭档,而我就打打前锋,虽然进攻能力一般,但偶尔也能进个球兴奋一下,这样工作起来也更起劲。晚上回去后,看看电视,看看手机平板,偶尔也看看书,时间过的也很快,经常不知不觉就到十一二点,记得上半年追剧《来自星星的你》,一集不少;对于新闻,各个频道基本都关注下,只是现在基本不怎么关注政治、国际大局什么了,更多会关注下体育、科技之类,公司由于今年变动比较大,偶尔也能上下科技新闻头条,但对我这种小人物没有任何影响;关注体育也是受身边人影响,自己在体育上一直是弱项,以前关注网球,是因为李娜的原因,今年娜姐也退役了,篮球、足球、斯诺克相关的也会看看,足球的世界也是丰富多彩,欧冠、亚冠、世界杯各项赛事层出不穷,各路英雄谁与争锋,在世界杯期间第一次买体彩,还好没亏,最近在朋友的怂恿下办了张健身卡,主要也是为了打发时间,但愿也能增强体质;被微信占用的时间也不少,微信是个超级App,说WeChat是移动互联网的船票一点也不错,朋友圈、关注的公众账号基本上每天都会看下,其中有个PennyJob,免费赠送了一个背包,这个社会还是好人多,PennyJob一心一意免费为码农服务。最近最有情怀的老罗也告别了个人身份演讲,然而太阳会照常升起。
     2014,最让我欣慰的是那个可爱地外甥女长大了,会说话了,越来越可爱了。有人说二十六七的男生是最成熟的,二十六岁的身影已快远去,二十七岁的大门即将打开,有人说成熟是越来越觉得以前的自己是SB,我成熟吗,到现在也不知道自己的未来在哪里?有的时候也会胡思乱想,我会孤独到老吗?我能找到一个我喜欢的人吗?以后的家是什么样的?我会一直在上海吗?如果不是会在哪一天离开?我会打工一辈子吗?哪怕打工,我会成为一个优秀的打工者吗?我会写代码到什么时候?我会去创业吗?我的人生价值在哪里?想不清,道不明,活在当下,珍惜眼前一切,2015,但愿那些美好的期待能够梦想成真!


  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值