踏入软件这一行,纯粹是一次偶然.开始我根本不喜欢做软件,也不打算搞这个. 老板 给了我一个貌似研究性很强的课题来做,我几乎把所有的时间都花在课题上,天天看书、做实验,偶尔在各大论坛上看看热闹.结果论文确实做得不错,也发表了一些文章(如果可以的话,还可以发表三篇:-)).但除了一些理论的知识外,我几乎一无所获.由于论文和软件能硬扯上点儿关系,最后勉强找了份软件开发的工作,但其实我没什么基础.可想而知,在后来的工作中是多么的被动.为了不影响工作进度,只有比别人付出更多的时间来弥补.每天下班后已经是晚上10点多,然后继续看书直到凌晨3、4点钟.为解决软件中的一个bug,礼拜天也照常到公司调试程序.软件release的时候,通宵加班是常有的事.现在回想起来,虽然不是什么多了不起的事情,但确实为自己那个时候的工作热情感到不可思议.就在这种巨大的工作压力下,我挤时间看了一些经典的书籍.其中包括《深入理解计算机系统》、《C和指针》、《C专家编程》、《C陷阱和缺陷》、《Algorithms in C》、《 Linux程序设计》、《APUE》、《UNP第一卷》、《C++ primer》、《Effective C++》、《More Effective C++》、《实用C++程序设计》、《C++沉思录》、《Linker and Loader》和其他一些数据结构和算法的书.每当买到一本好书时,我总是像Francis Glassborow 说的那样--如获至宝的捧读.记得第一次看《C专家编程》是在去外地的火车上.估计是看了我捧读的情景,当时坐我对面的女孩说"一看你就是搞技术的".直到现在我还总觉得她是在取笑我.
就这样一本书一本书,一点一点地学,我学会了C语言,基本会用C++(我只能说基本会用,谁敢说他把C++真的学通了?),对Linux也有较深入的理解.由于我喜欢把书从头到尾一字不漏的看个遍,因此很多基础的东西理解得比别人更加深刻, 这在后来的工作中就慢慢体现出来了.学习虽然是件苦差事,但同时也是最简单的.因为只要有毅力,学会一门技术只是时间的问题.
为了更有条理的说明这两年来的体会,我大概总结成以下几个方面:
(1)职业选择
其实很多时候,您不能自由的选择自己的职业.即便是您自己选择的,也不一定是自己喜欢的.但不管是不是自己所选所喜欢做的,一旦踏入这一行,就要全力以赴.要把工作当做自己的事业来做,只有这样才能体会到更多的乐趣.
(2)学习的习惯
我在上面说过了,其实学习是件简单的事情,您迟早能学会的.但如果您毫无乐趣可言,那无异如"牛不喝水,您非要拧着牛头喝水".不要只为应付工作才去学习,要把学习看作一种习惯.
(3)谦虚的态度
别为了一些自己暂时还不会的东西而过分担心.因为想搞清楚,其实是件容易的事情.要时刻保持谦虚的学习态度,哪怕是您知道一些别人还不知道的.
(4)语法细节
不要太热衷于"为什么用指针能修改const常量的值?"这类学术味很浓的问题.真正在工作中需要的不只是对语法的精通,更多的是理解系统的业务逻辑.
(5)面对人和事
工作以后您会发现和学校里的气氛大不一样了.有时您甚至觉得有人故意针对您.请不要对此投入太多的注意力,因为您能做的就是做好份内的事,努力提高自己的实力.当回头再看时,您甚至要感激那些曾经好像故意针对您的人,因为是他们让您更快的成长.
(6)懂得分享
不要封闭自己或故意抬高自己,那样只会让自己的思想越来越狭隘.有了新鲜的想法,不妨抽点时间把它写出来或者和同事一起讨论.千万不要学某些人那样,当别人向他请教问题时,总是神情漠然的来一句"问google,我没空".真正有品位的高手不是这样的.更不要为自己又搞懂了VI里一个生僻的淫巧而窃窃自喜,要大胆的告诉别人,好让别人少走弯路.
(7)关于竞争
不要老觉得自己和同事是竞争关系.即使有竞争的时候,也要心境明朗的对待.别人做得比自己好,是因为自己的能力真的不如别人.要多从自己身上找原因,而不是一开始就用怀疑的眼光来看待他人.
(8)培养爱好
不要一看到爱好就想到游戏.不要因为会玩两下Warcraft而觉得自己更像搞IT的.就在那段疯狂学习的日子,我抽空看完了《尼采作品选集》、《文化的价值》和《美的历程》.它们总在我困惑的时候,给了我新的思考方向.
(9)身边的人
不要一头扎在书里,而忽略了身边关心您的人.有空多和心爱的人出去走走,哪怕是陪她(他)吃一次火锅.因为当您有困难的时候,只有她(他)肯真正站在身后支持您.
(10)做您自己
不要因为看了上面我写的这些,而轻易改变自己的生活态度.您需要做的是培养自己正确的做事风格,并坚持一直这样.