时间过得太快,马上就要大学本科毕业五年了,从实习就开始加入现在的公司,所以算起来加入现在公司的时间已经超过五年了。五年的时间很长,而且这五年也是人生中事业(说事业感觉有点高大上,说职业可能更合适,不过我喜欢把什么事情都当做一份事业来干)最关键的时间。上次写工作总结的时候还是4年前了吧,刚毕业那个时候由于时间全部用于工作和研究技术了,所以可以抽出很多时间来写东西。

其实写文章或者博客是很花时间的,因为需要回忆和思考。正因为需要回忆和思考,所以写文章和博客其实对自我的提升还是很明显的,特别锻炼自己的表达能力。很多人其实技术很nb,但是就是表达不出来,其实就是因为对自己的总结和思考太少了。很久不写文章了,我现在写起来都是很慢的,想表达一个意思需要思考很久。

在正式写工作总结之前还是想谈谈今天回老家的感受。很多邻居见了我都说我很多年没有回去了,但是我总是觉得我应该是经常回到那个熟悉的地方,感觉就像前几天刚回来过一样(以前经过但是没有回去走走,熟悉的感觉应该是来至儿时的记忆和梦中经常回去)。回到老家的每一个地方(我们的土地、老房子、老老房子、我们的每一棵树)都是那么的熟悉,那种儿时的回忆和感觉一下子就在我脑海里不断的浮现。这次回老家虽然很匆忙,但是还是利用有限的时间把儿时的记忆都带着我现在的身体去过了一遍。遇见了很多熟悉又陌生的邻居,由于我时间也很赶,他们也正在忙着自己的事情,都是简简单单寒暄了几句。回老家所有的回忆都是儿时的艰苦生活,这就是触景生情。老家的格局变化不大,就是那条清澈的小河被污染的太严重了。

先简单介绍一下这五年都做了一些什么样的工作,然后在详细描述每一个工作内容的具体情况和收获。2011年3月进入公司实习,实习的内容就是开发一个Symbian的客户端(那个时候Symbian系统还占据大量中国用户的手机客户端),后面毕业以后进入公司的第一个除总部以外的研发中心,这个时候开始调研分布式日志系统,也开始接触hadoop生态系统,接着开始做基于分布式文件系统的云存储系统,再下一个项目就是统一日志平台(类似splunk和elk的产品),后面又做了一年多的公有PAAS平台,几个月的docker。以上所有的项目我都是以技术负责人或者系统架构师的角色参与其中。2015年上半年带领五十多人的团队做整个公司的研发工具生态链的建设,下半年做一些技术产品创新的项目,其中异步并行框架小有成果。目前主要负责技术委员会的建设、部门的服务器资源分配管理、专利评审、部门技术晋升流程与制度的制定和优化等,也负责部门一些项目的技术方案和架构的优化。

在进入现在的公司实习以前,自己已经在一个家具公司实习过一段时间,在家具公司里面主要做C#的开发,不过这个公司只干了一个多月时间,然后又去了一家大型的上市外包公司做兼职,具体的工作就是在地震局做GIS系统的开发,主要使用到的技术就是ArcGIS+C#,这个从我最早的博客内容就可以看出来。后来我还使用这个项目作为我毕业时的论文,并且还得到了学校的优秀毕业论文。真正进入现在这家公司实习是2011年3月14号,那是从学校坐了1天的火车去首都实习的。实习的内容就是根据我们自己擅长的语言安排到各个项目组当中。因为我大学期间做嵌入式相关的项目和研究,所以对于C和C++比较熟悉,当然java语言基础也是学习了的,会使用SSH框架,不过自己当时的爱好和侧重点还是在C++上面。所以自己去了一个与C++开发相关的Symbian客户端项目组,在这个项目组中本身人就不多,2个有经验和2个实习生(加上我)。因为以前没有接触过Symbian系统的开发,所以用了2天熟悉了Symbian开发环境和工具,做到能够自己开发一个简单的应用并且能够在Symbian的模拟器上运行起来。在熟悉开发环境和工具(sdk)期间给我们实习生安排了两个小项目给我练手,一个是简易的计算器,另一个是九宫格。这些项目虽然很小,但是对于从来没有接触过Symbian开发的人还是不知道怎么下手。但是由于自己的计算机基础很好,主要是在大学期间锻炼好了很好的自学能力(大学期间自己不断自学了很多计算机基础知识和一些高级的专业知识:例如编译原理、linux操作系统内核、嵌入式操作系统uCOSII、ARM体系结构与开发,所以有很好的自学能力),所以用很短的时间就完成了这两个小项目。leader看我完成的还不错,而且通过平时和他的交流,他也深深的感受到我良好的计算机基础知识和很强的学习能力。所以leader就开始分配一些真实项目的开发任务给我,但是都是整个项目里面的很小的一块,而且框架已经搭建好,只需要在固定的地方用代码实现指定的功能就ok。接触正式项目时,我还是非常小心翼翼,比较这是我第一次开始做正规项目,因为这个也是比较简单的功能,而且有成熟的模板可以参考,很快的就完成了功能。不过刚开始我总是很小心,所以进行多次的测试和验证我实现的功能,确定了没有任何问题才提交给leader。经过这个正式项目的小模块功能锻炼,leader和我都发觉自己完全可以胜任正式的开发任务了,就开始把很多独立的小模块交给我,包括架构的设计和代码的组织。随着不断的进行,我对Symbian开发也是更加的熟悉,基本上各种复杂功能和架构设计都是可以轻松的完成。最终我们Symbian开发团队在时间很紧迫和人员很少的情况下顺利的完成了Symbian客户端上线。虽然在这个项目组中我只简单的待过一个多月,而且这一个多月基本上是天天加班到凌晨3、4点,周末也是经常加班,我记得清明节也是连续加班,都是大家都很激动的填写加班申请,而且都写的要求是工资低加班,结果后来还是只换来调休。这也是我第一次正式的加入公司和团队一起作战,当时的自己每天都是充满了激情,不断的编写着自己喜欢的代码,累了的时候就和团队的其他人一起吹牛,一起吃饭和一起喝酒。我还记得一个周六加班的时候,那个晚上有刘德华的演唱会(我也是刘德华忠实的粉丝,不是因为他帅,也不是因为他歌唱得好,更不是因为他的演唱会是多么的精彩,当然更不是他是影帝;是因为他是劳模,一个靠自己辛辛苦苦努力实现自己梦想的普通人),因为我们上班离开演唱会的地方还是有一段距离。所以我就需要早一点出发,我也问问我们组的其他同事是否想去,他们刚开始说不是很想去,那我一个人就自己出发去了,刚到楼下我们的leader就打电话给我,问我走到哪儿了,等他们一起去。最终我们4个人一起到达演唱会地点,现场去买的票。本来我说买最便宜的180,结果leader说买最贵的,不过当时最贵的票也只剩380的。我们就买了这种票,不过还是离舞台太遥远,看到的刘德华很小,只有通过大屏幕才能完全看清楚,不过现场的气氛太棒了,基本上是全场一直在一起high。我也算实现了一个小小的愿望。通过这个实习的项目让我完全的进入了工作的状态,在这期间我也学习了很多移动端的开发知识,自己也自学了一点Android的开发。所以对于一个想进步的人是没有任何理由阻止他的,虽然我们工作的内容有限,但是我们可以自己去学习和工作内容很相关的技术,后面从我另一个项目也可以看出来。

实习期间还发生了一个小插曲,就是在最后阶段我需要回老家参加一个高中同学的婚礼,因为他提前一个月就给我说了并且我也答应了,所以必须要回去,而且一个星期以后又是我亲哥结婚,所以我就准备请假回去了,并且就不回来继续实习了,因为还要回学校准备论文和项目。但是由于项目还有一些紧张,需要继续在干一段时间。当时我提出来以后上面的leader就不是很高兴,就找了另一个直接管我的leader(我是从其他团队划分到实习的项目组的,我真正的leader也是我现在的直接leader是即将成立分研发中心的负责人)。当时我和直接管我的leader其实根本还不认识,他就直接过来找我谈话了。他了解了一下事情的经过和原因,然后我们就随便的聊了一些工作的事情,讨论了以后即将成立的研发中心的工作内容情况,他也了解了我熟悉一些什么样的技术,以及喜欢做一些什么样的技术。当我说了真实的我掌握了一些什么的技术以后,他比较惊讶,还反复问我没有吹牛吧。当时也没有办法证明,就只能说后面有机会试试这些技术。最后还是找到一个折中的方案解决这个问题,就是参加完高中同学的婚礼在回来工作一个星期。不过当时公司是不能对这种情况的机票进行报销的,但是也不能坐火车,因为时间来不及,最终我出了一半的机票,leader他们帮我解决了一半的机票。

毕业以后进开始真正的进入公司了,我进入的就是公司刚刚新成立的分研发中心,我是这个分研发中心的第一批员工,我也是公司招聘的第一届应届毕业生。因为是刚成立的分研发中心,很多项目都需要从北京拿过来,当然还需要自主的研发一些新的创新项目。我毕业后进入公司的项目就是调研一个分布式的日志采集传输框架,最终选择的是一个Facebook开源的C++实现的框架scribe。我们的目标是让散落在各个服务器上的日志最终归集到一个集中存储里面,因为各个项目当时都是单独的汇总日志进行各自的业务数据分析。所以我们当时最主要就是给各个团队提供技术方案,并且帮助他们部署和解决遇到的问题。因为scribe的代码本身不多,所以完全可以全部掌握其代码,有了这个计划就需要完全投入时间去研究这部分代码了。在研究代码的过程中还是发现很多不足和值得改善的地方,但是目前是没有计划去修改的。大多数人最多做到这一步就已经很不错了,能够把scribe的源码全部熟悉,其实很多人在工作能够熟练的使用和运用就已经很满足了,因为已经基本满足业务使用了。如果对技术有比较大的兴趣的话会把源码大致浏览一遍,但是说实话scribe其实本身是很简单的,只是考虑到各种日志传输的情况来支持各种业务,真正核心的技术是底层的分布式数据传输框架thrift。这个框架是真的很强大,能够支持各种语言开发数据传输,并且能够支持多种协议。如果你不是一个真正喜欢技术并且愿意刨根问底的人根本不会对thrift感兴趣,或者根本都不会注意到它的存在和作用。因为当时研究scribe一段时间以后,确实觉得没有什么可以继续深入去研究和学习的了,为了满足我强烈的学习愿望,我会对工作中涉及到的各种高级的技术产生浓厚的兴趣,所以自己又开始深入研究了thrift,并且针对它的C++版本实现完全的阅读其源代码。包括从它的IDL语法,怎样通过IDL文件生成对应的代码,各种传输协议的支持,编码解码和服务器模型,序列化方式等方面完全的从源码进行解读,当然还和其他类似的框架进行对比。如果你还觉得不过瘾,其实还可以继续深入下去,thrift它的实现又使用了C++的boost库和libevent库,这个两个库又可以学习很长时间了,并且都是很有技术含量的技术。还可以在继续深入,因为这些库的实现最终都会依赖linux的API,可以继续学习linux系统编程。如果对linux的系统API实现感兴趣完全可以继续研究linux的内核实现,这样你完全就可以仅仅通过一个简单的分布式日志传输框架就学习到最最底层的linux内核。很多人抱怨工作中使用到的技术都很简单,只是简单的写写业务逻辑的代码,特别是做web开发的,总觉得自己没有机会接触到一些nb的框架或者更加底层的技术。其实很多技术就在我们工作的身边,只是我们顺其自然的把它们都忽略了。例如很多都是做java开发的,觉得能够使用java的jdk和ssi框架开发业务逻辑就ok了,而且也觉得这些业务逻辑做过一次两次就没有什么难度,如果自己的技术需要提高根本没有机会。其实真正对技术感兴趣或者对自己有追求的,java使用的jdk完全可以深入的研究,看看他们是怎么实现的。jdk继续深入就可以了解到jvm的相关知识,如果继续深入完全可以看看开源jvm的实现,开源jvm最终也会使用到linux系统api,那么也是完全可以继续接触和学习linux内核的。ssi框架也基本上都是开源的,如果愿意深入学习其原理,完全可以掌握这些框架的实现,学习他们优秀的设计和实现。很多东西大家可能看起来学习没有太多的用处,但是学习这些东西其实在悄悄的改变你对技术的认知和感觉,然后使你的技术在无形中成长,很多时候你不知不觉就已经使用上这些技术了。

先写到这里吧,感觉写的东西太多,一篇文章很难写完,就是上面这些内容我都已经写了快一个星期了,总是写写停停。打算还是分成三篇来写吧。

毕业工作五年的总结和感悟(上)相关推荐

  1. 毕业工作五年的总结和感悟(中)

    今天终于又能抽出一点时间来写文章了,接着前一篇继续写.前一篇文章有博友就评论说写了很多废话,其实本身就是一些工作中的点点滴滴,自己想到什么就写什么,没有太多的构思文章的内容和结构,就算自己回顾自己工作 ...

  2. 一个程序猿的工作五年的总结和感悟!与君共勉!

    分享: 4 作者:风雨楼 满怀希望的步入社会,工作五年了,有得有失,总结一下自己的得失,总是应该的,以下是想对自己说的话,想对公司说的话!欢迎大家拍砖,吐槽! 一.想对自己说的话: 1.明确人生的方向 ...

  3. 本科毕业工作五年,一点感慨(转)

    14年我科本科毕业,转眼工作五年了,也来讲讲那些过往的经历. 第一份工作不清不楚的去了一家大型韩国公司东莞子公司,做手机OLED显示屏的,就是 类似于现在的京东方做的国产屏之类的,之前lz对工作性质, ...

  4. AI大牛李沐的《工作五年反思》火了,网友:再一次impress了我

    从象牙塔步入职场,很多人都会感到迷茫或是困惑: 这条漫漫长路该怎么走?又如何走好? 最近,亚马逊资深首席科学家.AI大牛李沐,根据自己五年的工作过往,在知乎中发表了<工作五年反思>一文. ...

  5. 工作一年后,我有些感悟(写于2017年)

    时间拉回到2016年5月23日,当天拍毕业照,晚上是大学毕业酒会,那一晚整个酒店都弥漫着伤感的气息.那一晚大家为了找KTV拖延到很晚,最后一群人选择来到了操场,凌晨两点多一群人还在操场上玩着游戏. 5 ...

  6. 出来工作五年的经历总结(五年前,你在干嘛?)

    2009年,第一次踏入社会     注册博客园已经两年了,在园子中看到的文章都是对自己很有帮助,lz今年出来工作五年了,五年前你在干嘛呢?这是今年年初在优酷看到的一个视频话题,记者采访了很多人,这里也 ...

  7. 毕业后五年拉开差距的原因在哪里

    毕业后五年拉开差距的原因在哪里???[强烈推荐][问题点数:100分] czp0608 (寻求志同道合之人) 等 级: 结帖率:97.70% 楼主发表于:2010-04-06 21:48:56 毕业后 ...

  8. 工作经验教训_在设计工作五年后获得的经验教训

    工作经验教训 This June it has been five years since I graduated from college. Since then I've been working ...

  9. 工作五年以上的程序员,应该干些什么

    第一阶段 认真构建完整的知识体系 十几年前我投身软件行业的时候,光是讲解数据库原理.操作系统.TCP/IP.组网.算法等等基础知识的英文原版书摞起来就等身,认认真真看完,各种上手实践,入行后,读遍 C ...

最新文章

  1. Python实现进程同步和通信
  2. 投影与三维视觉——本征矩阵和基础矩阵
  3. 怎么还不见2005的中文版出来的?
  4. NHibernate之旅(14):探索NHibernate中使用视图
  5. 大数据 互联网架构阶段 Redis
  6. Spring Boot 整合 Redis 实现缓存操作
  7. 几种jvm OOM问题
  8. stripfxg php,zzcms v8.2 中的众多cve分析
  9. hadoop原来是这样的!
  10. python时间戳_Python-强大的模块功能库-No11
  11. 设计牛人——设计入门答疑番外篇有感
  12. 开发者真的喜欢开源吗?
  13. matlab点扩散函数,点扩散函数的一维数值计算及其MATLAB实现
  14. 微信支付商户号和企业付款到零钱开通方法
  15. 结构体定义的三种方法总结
  16. NOIp2010 机器翻译
  17. 软件测试之测试用例的设计
  18. 整理了300个市面上最不常见的springboot计算机毕业设计选题。满满的干货
  19. Word中常见的论文三线表(表格)制作
  20. 计算机内存占用过高,电脑内存占用高怎么办 Win7内存占用高解决办法

热门文章

  1. 2021-07-27-
  2. 企业微信开发,嵌入自定义项目,及JS-SDK的引用
  3. 自定义Android电子时钟控件
  4. 西安三日游-梦回长安
  5. 【计算机图形学实验二——实现圆的中点算法、椭圆的中点算法】
  6. java获取手机通讯录权限_iOS6 中如何获得通讯录访问权限
  7. 绿色软件的“绿化”方法
  8. java计算机毕业设计web家庭财务管理系统MyBatis+系统+LW文档+源码+调试部署
  9. 燕十八 Mysql 笔记 68 课
  10. Unity给手加入圆柱骨骼