一个老一代软件开发工程师所积累的人生感悟
这篇文章是我的成长经历,写出来和大家分享,我主要想说明的东西我先总结一下:
1、软件开发本是一件枯燥乏味的事情,但是如果你对它有强烈的兴趣,他却是一件五彩斑斓的事情也是一个具有很大成就感的事情。
2、机会来源于努力,只要你努力到一定程度到达了一个位置,机会自然来找你。
3、机会来了要能够抓住,不要让他溜走。
翻开我记忆的书籍,我从小孩子一直到现在支持我软件开发到现在的原因是什么呢,应该说是兴趣和运气。
我的父亲是一位普通的产业工人,他有一个特长就是由于爱好,自学了无线电,他最喜欢的就是买书,那时候家里很穷,但是很多钱还是被他买书了,为此我妈妈经常和他吵架。当然我的父亲买的这些书并没有白费,既成就了他,也成就了我。
怎么说呢,在我刚刚记事的时候我就记得那个时候我的父亲就经常被单位的同事和朋友相求为他们的家里修些家电什么的,可能更多的是电视机,但是他有一个失误就是当时没有离开国有单位自己开维修部(实际上他的水平在所在的城市很高的),一直是处于免费帮忙的性质,到了后来由于家庭经济原因才想到以此来赚钱,可是已经晚了,那个时候中国的家电尤其是电视的生产能力已经提高很多,电视机已经便宜了很多,外加很多新的集成电路技术等等原因市场已经不在了所以没有做成,但是不管怎么样他自己却得到了满足。
对我来说呢,由于受父亲的影响,对电子产生的比较强的兴趣,到后来游戏机的出现,更是把这种兴趣推向到了极点,各位读者别误会,我其实不是特别喜欢玩游戏,而比较喜欢看别人玩,最感兴趣的就是游戏机是什么东西。随着任天堂红白机还有当时的中华学习机在中国的流行,很多家电杂志都陆续介绍了这些新兴的电子产品,在这些杂志里我知道了什么是计算机(当时的任天堂有8位CPU和一个8位PPU(相当于显卡)),知道了什么是BASIC,什么是计算机语言。
在此之后接触真正的计算机的时候是在高中时候,那个时候我们学校为了评比省内的重点高中,学校建立了两个当时非常先进(1994年)的计算机房,总共40台486PC并搭建成NOVEL无盘工作站(当然我当时还不知道这么多),其实我们并没有上过几堂计算机的课,但是有一次上课老师搞出来了一个3D的动画(是一个太空),靠,就这个东西在我脑海里真是印象深刻,使我对游戏机的兴趣一下子转移到了计算机上。
真正学会软件开发的时候是在大学,面对自己并不喜爱的数学专业课本,曾经极度的失落,也许是命中注定吧,数学系学习的这段时光却在我今后的工作生活中起到了非常的作用。那个时候我经常去学校的机房里花钱玩,最先是搞搞dos命令,后来我拿本《电脑爱好者》,往计算机上敲书上的生成动画的源代码,敲完了后运行不好使,后来照着书一行行检查,最后F5,哇赛,动画出现了,小草从地上张了出来,一轮明月缓缓升起,那种成就感比高潮还爽上N倍。可是我也付出代价了,那年期末考试我又有科目挂了,而且挂的很惨,一位数字的得分让我失落到了极点,对毕业后的前途(工作)没有一点信心的我曾一度想放弃学习,但最终在亲人朋友的劝阻下(主要是因为我的心理承受能力还不是很差)坚持下来了,为了不让自己在毕业后找不到工作,我举债去学习MCSE这个现在看来很烂的东西(其实这个东西在我后来找工作中没有直接的作用),但是学习这个东西的过程也学到了一些知识,更重要的是,我学到的东西越多,我就感觉我不会的东西越多,兴趣就越浓。
毕业了,还算顺利,由于赶上了软件开发业黄金时期的最后一年,外加上自己在不知不觉中学到的知识,我到了总部位于中国沈阳的著名IT企业(1000多块工资),在这里我遇到了两位在我人生中非常重要的人,我的女朋友,我的导师。接着我的职业生涯中的第一次选择出现了,当时部门领导和我们几个新丁说部门有两块业务一块是MIS系统,好玩一些,一块是863国产数据库管理系统主要是标准C,理论性很强,非常枯燥。让我们选想干什么,其实我当时也没怎么想,就是年轻气胜,哪个难度大来哪个,于是就选择了做数据库管理系统的研发,每天面对的都是海量的C程序,其实对程序员初学者来说,修改维护已有的大量代码并不是一个好的事情,因为没有循序渐进打好基础的机会,但是因为我在工作中学习比较快,导师把一个非常独立的工作交给了我(是一个消息中间件),在他一步步的指导下我把这个工作作的非常出色,这是我最认为骄傲的工作之一,也正是因为这个非常独立,从零开始的工作,我才能把C语言和数据结构两块循序渐进的自学了一遍,说道这里就必须要说明一下大学时候学的数学知识,尽管我学的不是很好但是在数学系锻炼出来的严谨思维的能力让我在软件开发的时候很少出bug,同时数学知识让我在数据结构的学习中容易了很多。在这个时候我也领悟到了作为工作6、7年的老一代软件开发工程师所积累起来的人生感悟。
可能是因为年轻气胜,不满部门领导的管理方式,或者是因为穷则思变,想到大城市多赚些钱,在同部门领导吵了一架后和我的