又到一年毕业季,不知不觉,自己毕业快两年了,在这两年中,从一位小白程序员蜕化到现在的拥有两年经验的C++程序员,这两年里面,不敢说成长有多快,进步有多大,但是感觉很踏实,每天都过得很充实,每天都在一点点的进步,这就足够了。今天比较闲暇,花点时间来总结一下毕业这两年自己的经历。
首先谈谈自己这两年里看过的相关书籍
工作后陆陆续续的买了一些C++的书籍,今天拿出来汇总了一下,居然已经看了二十几本书了,真的挺佩服自己的脑子,和那一份恒心,也许是出于对C++的痴迷,对编程的热爱,确实,兴趣才是最好的动力。有些书看了五遍,有些三遍,有些应用方面的书籍只是大概过了一遍。
基本上每天都会在业余时间花两个小时的时间来看书,一开始是坚持看书,然后慢慢就养成了习惯,如果哪天没看的话,总会感觉一天少了点什么,有一种不踏实,不自在的感觉,这个习惯保持到了现在。当然不仅仅看技术书籍,也看文学书籍,看路遥,最爱的就是《平凡的世界》《人生》。鲁迅,白岩松等作家的书也买了些。好的习惯养成了,真的会受益一生。希望能够继续保持看书的习惯。
下面是书单,都是一些c++领域比较经典的书籍。这些书中,自我感觉读起来比较晦涩的是《程序员的自我修养》,不过非常重要。当然,下面这些书都比较重要。
1《设计模式》
2《大话设计模式》
3《重构》
4《深度探索C++对象模型》
5《C++ templates》
6《Windows核心编程》
7《Windows网络编程》
8《STL源码剖析》
9《C++标准程序库》
10《Effective STL》
11《架构之美》
12《Effective C++》
13《More Effective C++》
14《Exceptional C++》
15《数据结构,算法与应用》
16《程序员的修炼之道-从小工到专家》
17《高效程序员的六个习惯》
18《Linux程序设计》
19《Unix环境高级编程》
20《Linux私房菜》
21《数据库系统概念》
22 《程序员的自我修养》
列出来的书籍都是属于C++的本质知识相关方面的书籍,对自己的编程素质和思想具有深刻影响,我觉得,书籍应该分为两类,一类是讲本质知识的书籍,这些书值得深究,值得一遍一遍的研读,好书不厌百回读,不同的时间段看都会有不同的理解,产生共鸣,这样就会理解得更深刻。像《程序员的自我修养》《设计模式》《深度探索C++对象模型》《重构》等书就属于这类书籍,阅读这类书籍,不需要我们去硬记忆,而是要去理解,"正如张三丰对张无忌说的,当你记住的东西全部忘记的时候,才是最高的境界",因为这时候,这些知识,原则已经融入了我们的思维当中,在项目的过程中,会自然而然的就会运用这些设计思维,设计原则,而不是单纯的去套模式,以至于后面再去看这些书籍的时候,你就会感觉,哎,这个模式,技术手法在项目中好像用过很多次啊!如果只是纯粹的去在项目中套设计模式,有时候反而适得其反。
另一类就是属于应用方面的书籍也看了很多,比如《深入浅出MFC》,《精通Qt4编程》,《OpenGL编程指南》,《OpenSceneGraph三维渲染引擎编程指南》等等。这类书籍的话一般只是过一遍,记住里面有哪些内容,一些基础知识的应用,更多的是拿来当手册用,在真正需要用到的时候,再去翻。当然,当你用多了,自然而然也会记住的。
人的脑容量是有限的,再说了C++如此博大精深,各类开源库,工具等更是数不胜数,靠记肯定是记不来的,该理解的理解,该记得就记。
在以后的日子里不能放纵自己,保持谦虚的心态,不断学习,不断进步。
谈谈自己的工作经历
从大四下学期开始,开始自己的第一份工作,一个小公司,开发人员六七人的样子,都是C++。在这里待的也很开心,老大是一位非常不错的河南哥们,在我初入程序员这个领域的时候,给了我很多的指导,包括技术层面,学习方法,思维,心态等对我都产生了很大的影响,真的是非常感激,
在工作中,能够遇到一位好的领导,特别是在初入这个领域的时候,真的很幸运。后来因为工作内容的原因,后期出差比较频繁,基本上每个月都需要出差,少则十天半个月,多则一个月,出去给客户部署和调试系统,人员培训等等。这样的话就少了很多开发,学习的机会,作为一名程序员,如果不进行项目开发,是很难有进步的。所以,年后就辞职了,在这家公司待了一年多。
第二年就是在现今这家公司,做三维产品开发的,200多号人,在长沙来说,算得上个中型公司了。公司的环境和文化都很好,同事们相处的非常和谐,融洽。因为是做三维开发的,来到公司后又学了OpenGl,Osg,delta3d等开源库和仿真引擎,后面因为项目原因又接触到了C#和Unity3d游戏引擎,感觉这一年学的东西又多又杂。
还在项目中担任过项目经理,正是因为在这些项目中的不断锤炼,自己在这一年里进步的非常快,分析问题和解决问题的能力都有很大的提高,用到的所有的开源库都仔细的去分析的底层的框架和源代码,也提升了自己的框架设计能力。或许是因为自己做事踏实,不浮躁,肯学习等等,在2016年度获得了公司优秀员工奖,得到了很大的肯定,也使自己有了更多的信心和动力。但是呢,部门的重心开始从opengl转向Unity3D了,也就是从C++转向C#了,这与自己的规划相冲突了,所以现在也在做离职的打算了。
谈谈自己是如何踏入C++的
大学学的专业是电子信息工程,大一开了c语言和数据结构与算法课程,那时候就感觉,这一坨坨的英文字母,怎么可能记得住,还有指针什么的,完全不懂是什么东东啊,觉得自己怎么也不可能去当程序员,所以说上课也基本没怎么学。其实大学期间从大一到大三上学期基本上都没怎么学过,或许是高中老师说过的一句话,”现在你们好好学,等到了大学里面,想怎么玩就怎么玩“,那时候就认为,大学玩是理所应当的,这万恶的老师啊。殊不知大学里面才是真正该去学习的。其实不想学也是自己的原因,老师的话是也只是为自己玩找一个理由,让自己内心好受点罢了。
但是大学也玩得很尽兴,因为喜欢户外,所以外面到处跑,逃了数不清的课,也被辅导员上了无数次的政治课,记得一次五一从学校出发,背了一个包,带了个帐篷,就出发了,一个人,骑自行车经过赤壁,咸阳,武汉,仙桃,荆州,华容再绕回学校(岳阳),六天时间骑了七百多公里,下雨天借宿,不下雨野外露营,就是没有睡宾馆,那时候就是感觉有一种以地为席,以天为被的感觉,六天没有洗澡,俨然一位犀利哥的样子,回到了学校,同学都说我变成了野人,晒的脱了一层皮,不过现在回想起来,也是一段不错的回忆。至少那时候年轻过,疯狂过。后面也骑行了很多地方,还与骑行的小伙伴们一起创立了学校的骑行协会。不过,最向往的就是西藏,希望什么时候自己心血来潮,辞职来一次川藏线,趁年轻!
扯得有点远了,真正接触到C++是在大三的下学期,开了C++的课,记得那时候老师上课很特别,也非常有意思,一节课45分钟,有30分钟在讲故事,讲他年轻的时候做C++开发的故事,具体讲了什么,不大记得清了,反正就是讲的很牛逼的经历。所以他的课大家都很认真的去听,自己也喜欢上了C++,所以从这时候开始,也不去外面野跑了,开始天天去图书馆了,借了很多C++相关方面的书籍来看。大四上学期的时候,经过学习老师的介绍,接了一个项目,一个中央空调的监控系统,比较简单的那种,做完以后好像给了7000RMB,花了两个月做完的,大部分是利用业余时间开发的。大四下学期,就要出去实习了,这家公司希望我过去能够继续完善这个系统,但是这时候,我是希望开始找正式工作了,能够希望找一个做软件开发的公司,所以就拒绝了,然后就来到了第一家公司开始了自己的程序员生涯!!!
两年,很快,眨眼就过去了,两年的时间里,成长了很多,也进步了很多。继续保持踏实的心态,不浮躁,不迷茫,保持激情,继续努力。
借一句话来勉励自己。
不错的学习能力,加上旺盛的求知欲,以及持之以恒的行动力 = 核心竞争力(刘未鹏)。
2017/4/7 奋斗中的程序员