献给程序爱好者!

来源:百度文库 编辑:神马文学网 时间:2024/07/07 11:31:26
  7.13.07
摘自http://school.cfan.com.cn/zhuanti/programmer/
学程序的人有两个原因:一是爱好;二是向往程序员的高薪。确实,一个工作了二三年的程序员,最低月薪也在5千元左右,这还不算自己做共享软件,接外包做的收入。
也许你也是一个还未入门的程序爱好者,你学程序不管是出于爱好,还是出于对程序员高薪的向往,都有必要先了解一下程序员这个行业,其实在这个行业里面,除了高薪以外还有许多不为人熟悉,比如一个程序员的生活是怎样的?是不是每个人都适合做程序员呢?
在这个专题中,收集的文章虽然不是很多,但也足够让你了解程序员这一行业,那下面就让我们这个专题带着你去看一看十年前的程序英雄,了解一下现今程序员们的心情感悟,读一读一些程序员的故事。当然,如果你对程序员这个行业有了一定了解,想知道怎么入行,本专题也收集了一些如何学编程的文章和网站。
----------------------一个三流学校程序员的奋斗--------------------------------------------------
这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数据库,应用程序,做过通信软件、硬件驱动、协议栈,到现在做操作系统内核和 IC相关开发,这中间走了很多弯路,也吃了不少苦。
我上的是一个三流的高校,就连同一个城市的人多数都不知道。因为学校不好也就没有指望能靠学校名气找一个好工作。所有的希望都寄托在自己的努力上了,大一开学前的假期我就开始了学习,记得我买的第一本书是《计算机基础DOS3.0》,大家别吓着了,其实当时已经普及了DOS6.22了,只是我在书店里看到了DOS4.0,5.0,6.0的书,以为像英语那样是第四、五、六册,记得当时到处找DOS1.0,现在想想也幸好我没有找到:)开学前我学完了PASCAL,那时既没有计算机也没有人可以请教,我连程序是什么的概念都没有,只好死记硬背代码,然后拿纸写,我一直到大三才有了一台486,在这之前用纸写了多少程序我也记不清楚了,只知道最长的一个我拿A4大小的草稿纸写了30 多页,我的C语言、C++、VC都是在这样的条件下入门的。所以说条件是可以克服的,希望我的经历多少给条件艰苦的同学们一点信心。第一次上机是在我姐夫的机房,我的心情激动的无与伦比,但是一上机我立刻傻了眼,他们用的是英文版的Win3.1,我的那点DOS知识都见了鬼,上机提心吊胆的一阵瞎摸,一不小心把Word弄成了全屏,怎么都还不了原,当时真是心急如焚,我以为机器被我弄坏了。第一个C语言程序,就是那个经典的HelloWorld,我调了几个星期,上机机会非常少,也没有书告诉我开发环境(TC2.0)需要设置,而且开始我都不知道有编译器,我甚至自作聪明把写好的程序扩展名从.c改成.exe,结果可想而知。大一学完了C、X86的汇编、数据结构、C++。由于精力都花在自学上了,大一下四门课挂了彩,三类学校就是这点好,挂上一二十门也照样毕业。不过扯远点说,我那么刻苦都及不了格,可见我们国家的计算机教育有多死板。
大二准备学VC和BC,当时难以取舍,后来选了VC,不为别的,只为书店里两本书,VC那本便宜6块钱。我的努力在班上无人能及,学的日夜不分,大三有了计算机后更是如此,很多次父亲半夜教训我说我不要命了,我一直觉得自己基础差,记忆又不行,条件也不好,所以觉得只有多花点时间才能赶上别人。居然后来有许多朋友说我有学计算机的天赋,让我哭笑不得。我用的是486,16M内存,1G硬盘,当时同学们的配置都是P166MMX,我安装 一个WindowsNT4.0需要一个通宵,编译一个BC5.0向导生成的程序需要近两个小时,我的显示器是个二手的,辐射非常大,开机屏幕冒火花,看起来很酷的:),有一次程序写的太久,觉得怎么白色的编辑器背景变成了紫色,以为显示器坏了,后来才发现眼睛不行了,不过说来也奇怪,到今天我的视力还能保持1.5,真是个奇迹。但是就是那台破机器陪伴了我两年,让我学会了VC、Delphi、SQLServer等。后来那台机器给我阿姨打字用,据她说一天她正打的开心,一股青烟夹着火苗从显示器钻出来,之后它才寿终正寝。
大三假期找了个机会在一个计算机研究所实习,与其说实习不如说是做义工,工作了两个月一分钱没有拿。但是这两个月对我的发展帮助很大,让我早一步了解了社会,刚去的时候我当然是一窍不通,在那里我熟悉了网络,学会了Delphi和Oracle。由于工作很认真,得到了比较好的评价,在一位长者的引荐下,我开始和他们一起做项目,这使我在大三大四就有了自己的收入,大四又找了两家MIS公司兼职,虽然钱不多,但是在学生期间有1000多的收入我已经非常满足了,我终于用自己赚的钱把计算机换了。大四下开始找工作,这时我的工作经验已经比较多(当然现在想想非常幼稚),开始听父母的想去那个研究所,实习过那个部门也希望我能去,但是不知道为什么最后不了了之,这种单位就是比较官僚,我一气之下就到了我兼职的一个公司做MIS的TeamLeader。在大三到毕业一年的时间,做过了各种MIS,从煤气、烟厂、公安、铁路、饮食到高校,什么有钱做什么,工作也很辛苦,经常加班和熬通宵,从跟客户谈需求到设计、编码、测试、交付都要上。那时觉得很有成就感,觉得自己还不错,现在想想真是很肤浅。
刚走上工作岗位的学生很容易被误导,各种开发工具让人眼花缭乱,同时也觉得很受公司器重,但这样工作永远是一个低层次的开发者。不要跟我说什么系统分析有多么多么重要,多么多么难。你以为自己跟用户谈需求做设计就是系统分析和设计了吗,国内又有几个公司能够做的很到位很规范?我是ISO9000内审员,也在Rational公司受过多次培训,拿了4个证书,还有一个公司让我去做CMM。这些我听过很多,但是很多事情到国内就变了性质,一个公司不是通过了ISO9000或者CMM就能规范了,我现在在一家有几十年历史的外企工作,里面的管理不是一般国内企业能及的。作为一个毕业不久以前没有步入过社会的学生,几乎不可能在很短的时间掌握系统分析和设计,面向对象、UML只是一个工具,关键是人本身的思想,不是说你熟悉了C++、Rose就能够做出好的设计,相反如果你具备了很高的素质,你可以用C写出比别人用C++更加模块化的程序。
话说远一些,国内软件开发行业有一个怪圈,很多人觉得VC > Delphi >VB,真是很搞笑。这几个软件我都做过开发,说白了他们都是工具,应该根据应用的需要选择采用哪个,而不是觉得哪个上层次。如果你因为用某个开发工具很有面子而选择的话,只能说明你很浅薄。如果说层次,那么这些工具都不上层次,因为它们用来用去都是一些系统的API,微软的朋友不会因为你记住他们多少个API或者多少个类就会觉得你很了不起,你永远只是他们的客户,他们看重的是你口袋里的银子。我也做过系统内核,我也封装过很多API,同样我也不会看重那些使用这些API做二次开发的客户,除非他能够作出自己独到的设计。
--------------------------------------------------------
不是“发烧级”,就别干这行
软件开发这个行业容不得半点放松。有人就用“逆水行舟”来形容程序人的工作现状,这是因为软件的开发,无论是技术的更新、还是发展的速度都是非常快。你一定要不断地充实自己,学习新的技术,才有可能跟得上发展的趋势。有时候,可能有个技术你刚刚才掌握,它就已经落后了;技术要深挖,时间要缩短,每前进一步都必须付出很多的代价。也正因为如此,做一个程序人,“激情”是十分重要的。当记者问程序人应具有什么样的精神时,许多人都不约而同地用到了“狂热”这个词。在北大方正集团广州志海软件有限公司工作,本身也是程序人的曹国鹏先生说:“没有对这一行足够的热爱,就很难钻研下去,也就不会有什么发展。不是发烧级,就别干这行!”
习惯了一个人寂寞
寂寞并不只是因为他们中的大多数都不为人所知。作为程序人,编写一个新的程序往往需要投入大量的时间和精力,因此他们的大部份时间都是在计算机前,甚至睡觉时脑海里盘旋的都是一个接一个的程式。程序是他们整个生活的重心。写程序时他们“粘”在电脑前,程序写好了他们才“重见天日”,计算机前那一片狭小的区域便是他们全部的天地。因此,他们已习惯了和计算机的交流,甚于和人的交流,这也是为什么大多数程序人性格上都比较内向的原因。
生活也有无奈
采访中,记者发现一个很无奈的现象:作为程序人,他们编写出来的产品为公司带来了很大的效益,而他们本身所得到的报酬却并不是很多。大多程序人的待遇,在广州至多只算中上水平。虽然现在有的大公司已开始实行提成制度,让产品的销售和程序人的利益挂钩,但是在更多的公司里,程序人都只是拿着他们的那一份固定工资的。曹先生承认这有时会挫伤他们的工作积极性,因为无论你干好干坏,能得到的也只是那么多,而且这似乎也与他们所付出的劳动不符。许多程序人很希望这种现象能得到改变。
路在何方辛苦的工作、不算高的报酬和为公司创造的效益产生了矛盾,如果说技术入股是解决这种矛盾的一个做法,但更多的程序人是跳出去自立门户,自己来充当管理者。单就写程式来说,曹先生认为一个程序人最骄傲的时候就是一个用户对你说“你的软件做得好”的时候。因此,他认为程序人要做得更好,就必须在做产品时更多地加入自己的思考,而不是像现在那样“只是按照要求写程序”。