我工作这两年
2015-05-16 21:41
134 查看
从13年毕业,也快工作两年了,上个月换了工作,所以总结下这两年的学习历程。
12年校招的时候,我以一个 Java 工程师的身份走上了开发的路,算上轮岗,实际上正式进入研发部门还是13年9月底了。
轮岗结束,我才知道公司的研发方向已经发生了很大的改变,当初招聘的时候公司准备将 C#.NET 替换成 Java 体系,所以有了很多 Java 背景的校招生,后来因为腾讯的“入侵”,C#.NET 逐渐被替换成 PHP 和 CPP。而我,被分到了架构组,还是做 C#.NET,因为还有很多系统没有完成迁移,需要做一些需求。
我当时很茫然,首先我没有太多 C#.NET 的经验,而且本身也不是很喜欢这门语言(实际上我对微软很多东西不感冒,现在倒越来越喜欢微软了);其次,让一个本科毕业的学生在架构组混,我压力很大,首席就在我们组里,第一天就跟我罗列了很多我们会用到的技术点,我都没听过......我真是有点为自己的前途担忧了,找领导谈了很多次,终究还是被领导说服了先待着。
可是运气又实在不太好,我的导师离职了,于是我过上了没人管的状态。大概过了一两周,组里来了个新同事,成了我的导师,他人还不错,我跟他表示了我的担忧以及如何学习 C#.NET,他给了推荐了一本书:《CLR via C#》。大家都知道我的情况,所以没有给我分配什么实质性的任务,于是我的所有事情就是学习了。我打算先通读一遍这本书,再在关键节点去攻克。大概花了三周时间,我把书基本看完了,也基本了解了 C# 这门语言(其实学校学习了点,所以这个不用花太多时间)和 .NET 框架了。我大概觉得我可以写一些小需求了。
当然,要是这样就太没意思了。有天下午,我们突然被领导挨个叫去开会,我就觉得有什么事情要发生了,因为一般情况下都是提前预定会议,而且都是我们找领导。果不其然,研发部门的老大也来了,然后宣布架构组解散......好吧,其实我心里乐开了花,我终于不用写 C# 了。
我被分到了一个做 CPP 的组,我又有点高兴不起来了。我的 CPP 学得很烂,以前就是搞不懂 CPP,然后转去学 Java 了。真是命运多舛啊,不过让我高兴的是组里的同事都非常 nice,尤其是我的导师,我们一起校招的同学都对此十分羡慕,居然有导师可以如此主动、耐烦的讲解业务,随时解决各种低级问题。
组里大概给了我一个月的时间学习,我基本把所有 CPP 代码看了一遍。在良好的团队氛围里,我也可以比较轻松的随时骚扰其他组员,问问题,工作之余,我把大学的两本书:《C++ Primer》和 《C++ 编程思想》高效的看了一遍,于是一个月后我把我的 CPP 水平提升到一个可以依葫芦画瓢的水平了(我对此还是很认可的,我开始喜欢这门语言了)。
事情永远不会这么简单的。
我的第一个任务是做对账系统(我个人觉得应该是工具),用 Python!!!人生好累啊,好在 Python 这门语言比较简单,我在看了一些同事写的 Python 代码后,加上发挥死缠烂打随时问的不要脸精神,可以慢慢完成一些编程了,写过几次后,就觉得用 Python 写数据处理相关的脚本简直太爽。
13年就这么过去了。
我第一次写 CPP 是系统优化,心里真的是蛮兴奋的(我觉得我终于干上正经事了),虽然出了一些差错(比如写了select *这种代码)还有第一次发布失败大晚上打leader 和导师电话,终于还是完成了这个服务。
就这样,我慢慢参与了一些服务的开发,以为走上了康庄大道。
年后,谣言四起:公司合并。很多项目都停了,领导也不辟谣,处于信息链底端的我们只能瞎分析,然后一边抓紧时间学习(那会儿我还没去看外面的机会,毕业半年的学生,应该是没有什么市场的),一边吃着“散伙饭”。
那真的是段不错的时光。我把 STL 的源码都看了一遍,大概知道标准库的实现了;看了《程序员的自我修养》,大概知道了程序的编译链接过程了;看了《UNIX 环境高级编程》,大概知道了 *nix 系统常用的 API 了。
终于,公司还是合并了。等到公司高层确定了运作方式后,我们便开始了一个浩大的工程:系统融合。融合是痛苦的,双方公司的文化背景、技术背景都不一致,而且本来以前就是竞争对手,虽然大家都说开放的心态,总感觉很多人心里还是在较着劲。于是我觉得以前一周可以完成的事情需要一个月甚至更久来完成,双方经常会为了一些很小的事情上纠结很久,比如我曾和对方的同事在网络上耗了两天,还拉上了运维同事一起耗。
最痛苦的融合初期完成了,后面的事情都是“前人栽树,后人乘凉”了,要轻松愉快很多了。
14年5月,挑战终于来了。
由于原先的统一后台的同事全部转岗,我们组(六七个 C++,三四个 刚从 PHP 转 C++)需要承接整个网站后台系统和框架组件。当时内部的讨论也很多,甚至考虑过自己使用 Thrift 搭建一套框架了。最终我们还是认命了,算起来一个人要承载原先一个小组甚至几个小组的系统了。
人的潜能是无限的,我们居然 hold 住了!!!
过程当时是痛苦的,说一两个吧。1、系统交接第二天,我在不知道系统任何代码,数据的情况下,领导给了一个数据库连接给我查问题......我甚至都不知道数据表的分表规则;2、线上 bug,我当场看源码最终修复,期间发布多个版本测试。
好处就是,我拥有50多个系统的 svn 权限,包括框架和组件,一有时间,我便畅游在前人的沉淀之中。几个月后,我成了公司里整个框架最熟悉的几个人之一(我自认为),之后写代码就轻松加愉快了。
快乐的日子都是短暂的,我感觉自己来到了舒适区,越来越难找到那份挑战自己的乐趣了。
15年4月,我终于决定去尝试新的事情了,然后回到了 Java 的怀抱,新的故事开始了。
感谢这两年一直帮助我的同事、朋友,尤其是我的导师,也感谢自己的努力,希望能在编程这条路上越走越远。
谨以此纪念我这两年的努力,下面是我这两年学习 C++ 看的书和资料,别的语言比较杂,不列了。
《C++ Primer 4th》
《C++ 编程思想》
《深入理解 C++ 对象模型》前一半
《STL 源码分析》以及 STL 源码
《Effective C++》
《More Effctive C++》
《Effective STL》
《C++ Templates》
《Boost 相关文档》
各种内部知识分享平台资料和牛人博客
其他:
《程序员的自我修养》前一半
《编译原理(龙书)》前一半
《Unix 环境高级编程》
《Unix网络编程卷2》若干章节
《TCP/IP 详解卷一》这本书太枯燥,没看完,而且也没理解透,以后还要看
《高性能 MySQL》
《设计模式》
《Linux多线程服务端编程--muduo》
Linux 0.0.1版本源码阅读 + Linux 0.9.9版本 net 模块阅读(正在看)
12年校招的时候,我以一个 Java 工程师的身份走上了开发的路,算上轮岗,实际上正式进入研发部门还是13年9月底了。
轮岗结束,我才知道公司的研发方向已经发生了很大的改变,当初招聘的时候公司准备将 C#.NET 替换成 Java 体系,所以有了很多 Java 背景的校招生,后来因为腾讯的“入侵”,C#.NET 逐渐被替换成 PHP 和 CPP。而我,被分到了架构组,还是做 C#.NET,因为还有很多系统没有完成迁移,需要做一些需求。
我当时很茫然,首先我没有太多 C#.NET 的经验,而且本身也不是很喜欢这门语言(实际上我对微软很多东西不感冒,现在倒越来越喜欢微软了);其次,让一个本科毕业的学生在架构组混,我压力很大,首席就在我们组里,第一天就跟我罗列了很多我们会用到的技术点,我都没听过......我真是有点为自己的前途担忧了,找领导谈了很多次,终究还是被领导说服了先待着。
可是运气又实在不太好,我的导师离职了,于是我过上了没人管的状态。大概过了一两周,组里来了个新同事,成了我的导师,他人还不错,我跟他表示了我的担忧以及如何学习 C#.NET,他给了推荐了一本书:《CLR via C#》。大家都知道我的情况,所以没有给我分配什么实质性的任务,于是我的所有事情就是学习了。我打算先通读一遍这本书,再在关键节点去攻克。大概花了三周时间,我把书基本看完了,也基本了解了 C# 这门语言(其实学校学习了点,所以这个不用花太多时间)和 .NET 框架了。我大概觉得我可以写一些小需求了。
当然,要是这样就太没意思了。有天下午,我们突然被领导挨个叫去开会,我就觉得有什么事情要发生了,因为一般情况下都是提前预定会议,而且都是我们找领导。果不其然,研发部门的老大也来了,然后宣布架构组解散......好吧,其实我心里乐开了花,我终于不用写 C# 了。
我被分到了一个做 CPP 的组,我又有点高兴不起来了。我的 CPP 学得很烂,以前就是搞不懂 CPP,然后转去学 Java 了。真是命运多舛啊,不过让我高兴的是组里的同事都非常 nice,尤其是我的导师,我们一起校招的同学都对此十分羡慕,居然有导师可以如此主动、耐烦的讲解业务,随时解决各种低级问题。
组里大概给了我一个月的时间学习,我基本把所有 CPP 代码看了一遍。在良好的团队氛围里,我也可以比较轻松的随时骚扰其他组员,问问题,工作之余,我把大学的两本书:《C++ Primer》和 《C++ 编程思想》高效的看了一遍,于是一个月后我把我的 CPP 水平提升到一个可以依葫芦画瓢的水平了(我对此还是很认可的,我开始喜欢这门语言了)。
事情永远不会这么简单的。
我的第一个任务是做对账系统(我个人觉得应该是工具),用 Python!!!人生好累啊,好在 Python 这门语言比较简单,我在看了一些同事写的 Python 代码后,加上发挥死缠烂打随时问的不要脸精神,可以慢慢完成一些编程了,写过几次后,就觉得用 Python 写数据处理相关的脚本简直太爽。
13年就这么过去了。
我第一次写 CPP 是系统优化,心里真的是蛮兴奋的(我觉得我终于干上正经事了),虽然出了一些差错(比如写了select *这种代码)还有第一次发布失败大晚上打leader 和导师电话,终于还是完成了这个服务。
就这样,我慢慢参与了一些服务的开发,以为走上了康庄大道。
年后,谣言四起:公司合并。很多项目都停了,领导也不辟谣,处于信息链底端的我们只能瞎分析,然后一边抓紧时间学习(那会儿我还没去看外面的机会,毕业半年的学生,应该是没有什么市场的),一边吃着“散伙饭”。
那真的是段不错的时光。我把 STL 的源码都看了一遍,大概知道标准库的实现了;看了《程序员的自我修养》,大概知道了程序的编译链接过程了;看了《UNIX 环境高级编程》,大概知道了 *nix 系统常用的 API 了。
终于,公司还是合并了。等到公司高层确定了运作方式后,我们便开始了一个浩大的工程:系统融合。融合是痛苦的,双方公司的文化背景、技术背景都不一致,而且本来以前就是竞争对手,虽然大家都说开放的心态,总感觉很多人心里还是在较着劲。于是我觉得以前一周可以完成的事情需要一个月甚至更久来完成,双方经常会为了一些很小的事情上纠结很久,比如我曾和对方的同事在网络上耗了两天,还拉上了运维同事一起耗。
最痛苦的融合初期完成了,后面的事情都是“前人栽树,后人乘凉”了,要轻松愉快很多了。
14年5月,挑战终于来了。
由于原先的统一后台的同事全部转岗,我们组(六七个 C++,三四个 刚从 PHP 转 C++)需要承接整个网站后台系统和框架组件。当时内部的讨论也很多,甚至考虑过自己使用 Thrift 搭建一套框架了。最终我们还是认命了,算起来一个人要承载原先一个小组甚至几个小组的系统了。
人的潜能是无限的,我们居然 hold 住了!!!
过程当时是痛苦的,说一两个吧。1、系统交接第二天,我在不知道系统任何代码,数据的情况下,领导给了一个数据库连接给我查问题......我甚至都不知道数据表的分表规则;2、线上 bug,我当场看源码最终修复,期间发布多个版本测试。
好处就是,我拥有50多个系统的 svn 权限,包括框架和组件,一有时间,我便畅游在前人的沉淀之中。几个月后,我成了公司里整个框架最熟悉的几个人之一(我自认为),之后写代码就轻松加愉快了。
快乐的日子都是短暂的,我感觉自己来到了舒适区,越来越难找到那份挑战自己的乐趣了。
15年4月,我终于决定去尝试新的事情了,然后回到了 Java 的怀抱,新的故事开始了。
感谢这两年一直帮助我的同事、朋友,尤其是我的导师,也感谢自己的努力,希望能在编程这条路上越走越远。
谨以此纪念我这两年的努力,下面是我这两年学习 C++ 看的书和资料,别的语言比较杂,不列了。
《C++ Primer 4th》
《C++ 编程思想》
《深入理解 C++ 对象模型》前一半
《STL 源码分析》以及 STL 源码
《Effective C++》
《More Effctive C++》
《Effective STL》
《C++ Templates》
《Boost 相关文档》
各种内部知识分享平台资料和牛人博客
其他:
《程序员的自我修养》前一半
《编译原理(龙书)》前一半
《Unix 环境高级编程》
《Unix网络编程卷2》若干章节
《TCP/IP 详解卷一》这本书太枯燥,没看完,而且也没理解透,以后还要看
《高性能 MySQL》
《设计模式》
《Linux多线程服务端编程--muduo》
Linux 0.0.1版本源码阅读 + Linux 0.9.9版本 net 模块阅读(正在看)
相关文章推荐
- 工作整两年了-Zee
- 两年工作总结
- 毕业两年工作三年小结
- java工作两年该学些什么技能提高技术
- 关于遇到问题的解决方法(仅此献给初学者吧,我工作还没两年,这点经验对于大神,不值一谈的)
- IT行业工作两年半小结
- 工作两年,新起点,新征程
- 两年C++工作的Retrospect
- 工作两年多感悟
- 两年工作总结
- 工作两年和研究生两年(专业硕士)有什么差异?
- Android工作两年之后的第一个App--天真无谐
- 以前也有过楼主这个阶段,工作两年感觉前端不过如此,不过后来还是逐渐突破了。尤其是使用了angularJS后。 现在转去做C++开发,对比后发现前端实在是太简单了,别喷我,个人想法,当初也是觉得JS水
- Android工作两年之后的第一个App--天真无谐
- 在北京工作了两年,现在跳槽到了广州,社保公积金该如何办理?
- 内容摘自:Android工作两年之后的第一个App--天真无谐
- .net程序员工作两年总结
- (转)工作之路---记录LZ如何在两年半的时间内升为PM
- 半路出家,JAVA两年工作生涯。
- 工作两年,终于明白了这些