金旭亮:普通IT人员十年回顾(第1部分)
关于作者:1989年,金旭亮与超级暴君的开发商梁兆新同时进入广西大学的校门,但他走了一条不同的道路。自1994年以来,他开始自己学习计算机本科课程,并且开始编程而不受干扰。已经十多年了,他仍然沉迷于软件。 2002年,他毕业于北京工业大学,获得了计算机应用技术的研究生学位,然后继续在大学任教,在那里他教授了一系列编程课程。 2003年,他在CSDN论坛上发表了自传《普通IT人才十年回顾》,向我讲述了我坎bump的学习经历,他的话是如此热情,他被无数学家的心所感染。出版后,引起了千波浪潮,收到国内外近千封邮件,欣赏了作者的经验和见解。以下是全文。
今年(2003年)是我大学毕业的第十个年头,也是我致力于IT技术的第十个年头。我一直想回顾和反思过去的经验,以便更好地走向未来,但是我从未写过。碰巧的是,CSDN举行了一篇题为“讲述程序员的故事”的文章,此事成为引言。我终于在暑假期间利用了时间,敲了键盘一天,所以我有了这种生活叙事。
10年对于一个人来说是一个相对较长的时期。 10年后,同一时期大学毕业的学生情况大不相同,这使人们为命运的变幻莫测而感叹。
我已经在这里记录了我的生活足迹。由于时间长,有些事情记不清了,但我尝试尽可能真实地记录下情况。那些对阅读我的长篇文章感兴趣的人,请考虑我,因为这是一个平常的人,与你,我,喜悦,愤怒,悲伤和努力一起生活在一起。我相信我们之间会跨越时空进行许多情感交流。
序列
从1994年到2003年,在我不知不觉中,我已经沉迷于计算机技术领域十年了。哲学家曾经说过:如果一个人可以花十年时间研究一个学科,学习一个手工艺或从事某种职业,他肯定会成为这个领域的专家。我很平庸,但是哲学家的话很有意义。我花了十年时间才成为合格的程序员,然后成为一所重点大学的计算机科学大学老师。十年磨刀,忽然回首,岁月如水,青春如歌!
第一部分:学习生活
1.什么是计算机?
我是1970年代初出生于中国的一代人。当我们长大开始学习时,*已经结束。与我们的兄弟相比,我们这一代的孩子将来可以接受更正式的教育。这是我们的幸运之地。
也就是说,1970年代末期我们上小学时,以美国为技术资源中心的计算机技术开始在世界范围内迅速发展。这时,世界范围的“软件危机”非常严重。新的突破正在酝酿之中,此时,比尔·盖茨(Bill Gates)也正准备建立他的微软帝国。
在1970年代末和1980年代初,我们生活中没有计算机技术的阴影。在刚刚改革开放的中国,超过99%的人甚至从未听说过“计算机”一词。中国摆脱信息技术之门。
在1980年代,“振兴中国”成为时代主题,整个中国确实展现出了勃勃生机。这个国家经历了一百年的耻辱和十年的挫折。就像一些老歌-“金梭”和“银梭”,“希望之地”等,都是当时青年积极精神的体现,在这种环境下,成长中的年轻人对潜意识的影响非常深远。我们认为,爱国主义和振兴中华是有道理的事情,它们已经成为努力学习的主要动力(呵呵,目前一些“愤怒的青年”-愤怒的青年一定会说我们当时被“*”了,也许是真的,这种信念的确会带给人们很大的动力。我没有看到任何不好的东西,至少我不会,这让我感到非常困惑一群年轻人)。
1986年,我考入了桂林市重点中学桂林中学,这是我第一次看到电脑。
1.中学计算机兴趣班
1987年,我在桂林中学读了第二年。桂中学是一所重点中学。条件很好。当时,学校安排了两个班:无线电班和计算机班。我上了电脑课。当时使用的计算机是Apple II和BASIC。编程。我记得当时中国还开发了同等级的计算机,称为“中华学习机”,必须在中小学推广。但是,AppleII后来发展成著名的Mac系列并拥有自己的操作系统。计算机以及后来的诸如小霸王之类的计算机学习机器都毫无问题地死了。
学校安排登机。一些学生从无处发现一些有趣的BASIC程序,例如“机翼飞行”,“飞机战斗”等,它们是一些非常简单的游戏。那时,他复印了厚实的副本。一上计算机,我就敲了其中的一部分以在计算机上运行,但我根本不知道该怎么做。我只是站在旁边看着。
那时很少有人知道计算机。我不明白老师说的话,也不知道如何通过考试。哈哈,当我还是研究生时,我在互联网上看到了洛阳市一名高中学生使用VB编写的“电子书男孩”程序。级别如此之高,以至于我无法比拟。
1989年,广西的高考配额减少了7,000多。竞争非常激烈,每十个人中只有一个能得到一个。由于压力太大,我在高考前夕失眠了。第二天,我参加了中文考试,而120分的考试只得了68分。因此,与重点大学没有机会。我想重复学习,但我的父母担心我明年无法通过考试。他们必须让我去广西大学。我很不情愿地服从父母的意愿,去了我不喜欢的学校,并学习了我不喜欢的专业。一个人害怕犯错。大学毕业后,我重新开始学习我最喜欢的专业。我花了五到六年的时间才转身。我真的成为一名合格的工人,绕了很长时间。因此,对于缺乏经验和决心的孩子来说,父母的决定非常重要。
现在我考虑了一下,当时我的父母是对的,我是对的。在时代和社会环境中,它们都是自然的选择。
2.失败的四年制本科生和早期工作
四年来,我是一个诚实又好学生,但是四年后,我通过了六年级,却什么也没学。
我记得大学里的第一堂课是BASIC语言。哈哈,我根本没学过,但是我认为它注定要与BASIC密不可分。在以下实践文章中,我将讨论我在BASIC中的开发。
我在大学主修电力系统自动化。我了解了微型计算机和Fortran的原理。当我上机时,我还使用了旧的主机和终端计算机(称为l / f机)。因此,当我登上机器时,真是一团糟。我从没学过,也从未学过。一些同学非常好,可以在计算机上打印出许多精美的图片(当然,现在看起来很粗糙,由手写笔打印机打印)。那时我叫这些人很棒。
哈哈,如果我没记错的话,超级暴君梁朝心也来自广西大学,但不是我们系的。我记得当时我听说过几位计算机大师。我猜他就是其中之一。如果我记错了,请纠正我,梁兆鑫先生。在大学学习期间,我比对计算机更感兴趣。这也表明我不能成为一个伟人和一个大师,我的才能有限。后来,我找到了一条通则。如果您可以成为计算机科学的伟人和大师,请仔细阅读他们的传记。他们中的大多数人都已经在大学期间展现了自己的才华。在我们目前的中国高等学校中,如此众多的本科生正忙于考试,研究生入学考试,家教考试和G考试。这种应试教育制度扼杀了太多学生的创造力。结果是,学生在大学学习越认真,错误的影响就越大。我花了多年的思考才能得出这个结论。因此,毫不奇怪,十多年来,中国大学里成千上万的大学生中,没有能够编写Linux内核的杰出人才。
我于1993年毕业。总的来说,这是:一张白纸进来,一个人的大脑熄灭。
毕业后,我被分配到一家生产电池的名为“中港合资企业”的公司。哈哈,我刚工作的日子给了我一个简单的大学生一个人生的教训。许多让我震惊之前无法想象的社会现象。年轻而有朝气的我使我穿上小鞋子,但我只能咽下呼吸。吃了点汁之后,我意识到我不过是文凭!
当时,我最沮丧的是我无法在公司做任何事情。电机烧坏了,我不知道如何解决。公司老板办公室的灯没有打开。一个大学生学习电花了我半个小时。我不知道原因!我学到的所有东西都无法使用。起初我以为是因为我在学校没有认真学习,但是后来我问了很多同学。超过90%的人有同样的感觉。现在我终于意识到这不仅仅是我个人的错。我认为这是我从未犯过的,但是如果90%以上的学生不能为社会服务,那么这种教育系统肯定存在问题。
在四年中,我的计算机知识和技能= 0!
现在看来,我浪费了四年的宝贵时间!但是当时的环境和理解水平只能如此。没有原始的浪费,我们以后如何珍惜呢?这是生活中必不可少的阶段。
2.长期的理论研究
1.从计算机培训班开始
毕业后我的第一个工作单位是一家非常糟糕的公司。在那儿,我看到了中国几乎所有坏公司的缺点:人们四处游荡,组建团伙,伤害他人,伤害公众。可以想像decade废的人如何在这样的公司工作。我花了半年多的无聊时间。 1994年4月的一天,我去了桂林新华书店买书。我看到一个由桂林电子科技大学的老师举办的计算机培训班,教授基本的计算机用法,例如键入,排版和常见的DOS命令。没关系最好在上一堂课上学一些东西。对。我从没想过这是一个培训班,但它从根本上影响了我的生活。
我清楚地记得,当我第一次接触计算机时,找不到任何地方的计算机开关。老师拿了一个五英寸的软盘,插入了软盘,然后打开了电源。发出吱吱声后,屏幕出现在屏幕上。最初,出现了英文字符。然后,老师在键盘上敲了几个键。电脑沉默了一会儿。突然,一个小人物突然出现在屏幕上,并出现了一行字:快乐地学习计算机,音乐就出来了。我真的很震惊,电脑怎么会唱歌?现在考虑一下,该软件实际上是*松岗的一系列教学软件,我是一名本科生,毕业后对计算机一无所知。我真的不知道该哭还是笑...!
俗话说:“一见钟情”。我相信这种事情,因为这是我第一次使用计算机,这使我对搜索这个神秘的世界产生了浓厚的兴趣。从那时起,很难将其与计算机分离。
当时,电子学院有两位老师:尹老师和陈老师。他们与我们讨论了DOS,汉字输入,他们如何修改天辉汉字系统以使其在软盘上运行,并谈论了打字和排版……一个月后,我不满意,又学习了一个月。
在培训课程中,我请老师为桂林电子科技大学计算机应用本科专业的四年培训计划。当我回到家时,我列出了所有的本科课程,然后根据本书中前提课程的介绍进行列出。从根开始创建了一棵巨大的课程树,决定吃一本当地的书,并从头开始学习计算机技术。计算机科学的研究有很强的系列。如果要一步完成它,则可能不了解。但是,这是一个非常突出的问题,您无法跟上技术发展的速度。当我现在考虑时,我认为学习的一个好方法是学习理论奠定基础,逐步了解实践中的理论,多思考,并意识到无尽的新技术中有许多东西没有改变。通过掌握这种事情,您可以应对所有变化而无需任何改变。这是什么“不变”的东西?它是软件开发的基本原理和理论,基本思想和方法!在深入学习并掌握了面向对象理论之后,我才学到了它。 NET只花了三个月的时间就独立设计了一个完整而全面的面向对象的软件体系结构,并使用了VB。 NET和C#混合语言使之成为现实。对于J2EE,我也有这种信心,在三个月内,我绝对可以基于J2EE平台开发和设计软件,因为它们背后的计算机技术基础是相同的,可以类推地使用。
尹老师和陈老师可能不知道他们开设了一个可能是出于经济利益的培训课程,最后他们实际上培养了计算机大师!因此,作为一名老师,他的职责确实非常重要,这可能会影响学生的生活。我感谢他们!
2.漫长而艰辛的学习道路
那时,我的月工资收入只有100多元,大部分收入都花在买书上。电子工业研究所门口的科技书店和桂林科技书店已经成为我最常去的“备用”地方。我购买了数据结构,操作系统,微机原理,IBMPC汇编程序编程,C编程...这些教科书,然后根据预定计划开始学习。
我当时不知道为什么要学这些东西。但这绝不是说学习所有这些东西的学生都非常功利:学习英语以出国,学习计算机以寻找工作。那时,我从未想过未来。我对计算机技术本身的兴趣促使我学习。
当时,计算机书籍并不像现在那样令人不知所措。我已经读了几乎每本可以获得的计算机书籍。看了几本书之后,我真的很想找一个使用电脑和练习的地方。但是我每个月的收入超过100元,而一台电脑要花费几千元。不吃不喝要花五到六年的时间来保存足够的钱。我的父母是普通百姓,我的家人只能有足够的温饱。拥有计算机是真正的成功。我最大的梦想
为了有机会登上这台机器,我是一个非常瘦的人,根本不关心任何事情。我拿着一盒装有各种软件的软盘,然后毫不客气地寻找可以在机器上找到的地方。这时,电子工业学院再次帮助了我。他们的计算机室没有严格的管理,所以我假装是他们的学生来买机票。后来,我走了很多路,那里的老师都很熟悉我的脸,但是有趣的是,没有人真正知道我在哪堂课!
当时,电子学院使用的LAN操作系统是Novell,在那里我学会了使用许多最基本的软件,现在它仍然很珍贵:CPAV,TurboPascal5.5,UCDOS,Tway(天慧汉字系统) ),Masm,TurboC2.0,以及著名的Norton的Disk Doctor NDD,PCTools,Borland最好的永久性存储软件Sidekick,...
在电子学院的计算机室中,我还玩过经典游戏:中国海战,冒险岛,战斧,三个王国...。
学校网络中有很多软件,但其中的病毒也多种多样。我记得的是,我第一次遇到DirII病毒时,感觉绝不是恐惧,而是喜悦,哈哈,我看到了该病毒是什么!由于DOS内核是开放的,因此当时开发病毒程序相对容易,并且每个人都喜欢用软盘复制它。结果,病毒源泛滥,猖virus的病毒使杀毒软件成为一个巨大的市场。现在,著名的江民KV系列产品开始占领当时的中国国防药物市场。同时,还有诸如Kill,Rising和Jinshan之类的竞争对手。
那时,我白天在公司里工作,我很期待晚上上飞机。每次上飞机时,我都有一个详细的计划,因为时间很宝贵,所以我很珍惜。
为了能够在计算机上键入更多程序,我咬了牙,问妈妈两百元,买了一台计算机学习机,回家练习英语指法和五笔输入法,并面对着14英寸的电视每天回家。在计算机屏幕上,点击键盘至少2个小时。手腕因练习而疼痛,但最终达到了盲目的玩耍的水平。学习五笔,背诵汉字“眼睛有虎皮……”的根源。花了整整一周的时间来记住根部,并使每个根部与手指相对应。后来,我看了报纸,不知不觉地给了汉字。它是如此拆卸,以至于我再也看不到完整的汉字了。当时看来,我每分钟可以输入60个以上的字符。后来,我实际上依靠这种神奇的技巧成为打字员了一段时间!哈哈,练习指法后,使用计算机后,效率确实提高了一倍。我可以在三个小时内输入并运行两个程序以进行调试,而之前三个小时。
94和1995年是对我来说条件最差的两年,但两年我的学习动力最强。严酷的外部环境实际上引起了我对学习的浓厚兴趣。那种痴迷,我想就是这样。我非常喜欢计算机,所以爱与我无关,这也很无奈。
我特别想谈一谈我学习计算机技术书籍的感觉。如果您真的喜欢某个主题,那么当您专业书籍时,您永远不会认为它很厚,而只是认为它不够厚。比较我在“电磁学”和“自我控制原理”等本科课程中的感受,以及其他无聊的课程,因为这门课程是从纸上到纸上都是不切实际的,学生无法真正掌握它。与学习计算机课程“ C编程”,“数据结构”,“操作系统”等课程的感觉确实是天壤之别。事实证明,我在本科课程中学习的越多,我就越困惑,而且我一直在独自学习计算机科学。我觉得所有的知识都在慢慢地交织在一起,脑海里长出一棵知识树。这不是形容词,而是真实的感觉。我花了很长时间学习DOS命令,但我不明白原因。当我早上醒来时突然受到启发,突然理解了文件和树木的概念。因此,我真正掌握了DOS命令的含义,并开始复制,格式化和移动。 ...这些英语单词易于使用。有一阵子,我什至感觉到我的知识每天都在增加!如果当时有相对稳定的客观条件:例如,有一台可以使用的计算机,那么我必须学习得更快更好。但是话又说回来,当条件好的时候,人们很容易感到厌倦,进展缓慢。仍然有句老话:行业善于发挥作用。如今,许多学生的物质条件如此之好,以至于他们都不懂得珍惜他们。
后来我看了金庸先生的《射雕英雄传》,郭晶成了我最喜欢的角色,不是因为他拥有黄蓉的爱,而是他的毅力,他终于有了普通的资本登顶!金勇先生的确是一支杰出的笔!我不知道我读过多少本小说。
最难忘的是我学习编程的那些年。学习C语言时,我使用了谭浩强的“ C编程”。当时,谭先生还谈到电视上的C编程。我必须每天阅读它,并将每个示例都放在书中。我再次进行了所有练习,并写下了每次登机的安排。我每次都在纸上编写该程序,然后与时间竞争,以便在计算机上调试并在计算机上运行该程序,然后根据操作结果来思考为什么该程序异常运行,出了问题,如何更正它,当我在计算机上找到它后,还会有更多。总结一下。就是这样,我将谭浩强在“ C编程”一书中输入的所有示例和练习输入到计算机中,然后再次运行,为C语言奠定了坚实的基础。谭老师的书籍和课程确实影响了中国的程序员人数!
学习了C语言之后,我开始想做点什么。我花了一个月的时间用C语言编写了中文下拉菜单程序,从UCDOS中的字体库中提取了汉字点阵,然后在图形模式下“绘制”了汉字,因此该程序可以转义支持汉字系统直接显示汉字。整个程序应该有一两千行代码,所有这些代码都是您自己搜索信息,一行一行地输入。后来,我编写了一个程序来读取WPS文件(当时,在DOS下键入和排版是邱伯钧的WPS统治着世界。当时我还不知道Word的位置! “作为第一代杰出的中国程序员的代表,我当时是我崇拜的偶像),我还写了一个小程序来绘制简单的图形。从编程和调试的过程中,我得到了程序员基本技能的初步培训。一开始我没有人要教,我必须自己解决各种困难。为了发现错误,我晚上上床睡觉,梦想着编程,但是现在有些大学生,程序失败了,立即问老师,甚至有些学生给我发程序给我发电子邮件,请我帮他调整程序!一些计算机专业学习了四年,四年编写的代码总数不得超过2,000行!
确实,我当时的水平很低。目前的本科生比我当时要好得多,但至少有一点是,他们中的许多人都不如我好。他们没有我那么勤奋,也没有我的毅力。我认为对于那些在1980年代出生的大学生来说,这现在是最缺乏的东西。
我基本上完成了一年半的主计算机专业课程(除了“编译原理”,我真的听不懂)。 1995年,我参加了初级程序员考试,上午和下午的成绩总计超过90分。但是在96年和97年,我两次参加了程序员级别的考试。尽管我有很多编程实践,但我仍然无法通过。现在看来,这反映了我的理论基础确实很差,我的才华不高的事实。直到现在,我仍然觉得我的基本计算机理论还不好,这使我很难成为一名计算机科学家,而成为一名优秀的软件工程师。
自1995年以来,我的生活开始加速下降。我所属的公司被一群现在被称为蠕虫和黑帮的人扭曲了。甚至连每月一百多元的工资也不能保证。我要走了将档案放在人才交流中心后,我便开始了为期四年的社会流动生活。
在过去的四年中,我完成了至少四到五种工作:作为推销员,打字员,培训老师,修理计算机,从事售后服务,甚至开设街边小摊。 ...一切,非常简单,只是为了吃点东西。生活是艰苦和同情的。我唯一的兴趣就是拿起我的计算机书籍,并在有空的时候阅读。当时,我的哥哥说:您学习这些东西有什么用?你可以依靠它来吃饭吗?不要为这种观点感到惊讶。在我们的信息被*的地方,谁会想到计算机技术将具有如此强大的改变社会的能力?我孜孜不倦地学习的原因纯粹是为了摆脱精神上的困惑,而忘记了技术海洋中的生活困境。后来我有句名言:只有电脑才能消除后顾之忧。其他人则把它当作一个玩笑,但这在当时是我的真实写照。
一切都有两个方面,当事情变得非常糟糕时,它们就会变成好。这是一次非常偶然的事件,改变了我的生活轨迹。
1996年,我的一位高中同学杨(Yang)被湖南大学计算机系录取为研究生,并用酸菜鱼火锅共进晚餐。当每个人都喝酒时,Yang问了一个问题:请告诉我您最想实现的目标。我在贵重的大多数同学都上过重点国立大学。毕业已经三年了。每个人对社会和生活都有自己的理解,因此有各种各样的答案。当时我的回答是:“我希望有一天我可以开发出一款优秀的软件,以便许多人可以使用它。”到目前为止,我还没有达到这个目标。但是那时每个人都给我热烈的鼓励。杨饭后告诉我,既然你这么喜欢计算机,为什么不参加研究生入学考试呢?是的,我为什么不尝试?那天晚上我躺在床上,我决定不加思索地参加研究生入学考试。那时,我从没想过研究生入学考试之路会变成另一条曲折的回头路。对我生活的影响是深远的...
这是我的早期学习生涯,深刻反映了中国时代的特征。在这段时间里,我的生活很艰难,情绪低落,但是学习的热情无与伦比。现在,我自己拥有两台Pentium 4计算机,并且可以随时在Internet上获得丰富的资源,但是在技术上很难取得进步。我觉得那句老话更好:
艰辛与艰辛,雨茹雨成!这就是生活的真相!谦卑是基于力量,傲慢是基于无能。让我们一起努力编写Rubik's Cube!
我的父母都是城市的平民,我的家人只能提供足够的温饱。我想我可能代表中国社会中的一大批年轻人。我的经验和经验可能会激发许多条件差的年轻程序员:只要您努力工作,就可以克服人才缺口和恶劣的环境。因为我不是牛,所以我不能教你如何成为牛。我只是试图尽可能真实地写下我的经历和感受,并写出一个普通人的辛勤工作。我以能够成为一名软件开发人员而感到自豪,为我的教书育人事业而感到自豪,并愿意为中国落后的软件产业做出自己的贡献。为此,我一生不后悔!
我想从三个方面来讲述我的生活经历:第一部分:学习生活:主要是我对计算机技术的学习经历和感受,时间跨度从1994年到1996年。第二部分:艰苦的生活:主要是我在社会上徘徊,失业了一年半,经历了三场痛苦的考研经历;时间跨度约为1997年至1999年;第二部分:实践生活:主要是我的技术实践经验:在公司工作,开发软件,毕业后的职业和教学生涯,时间为1999〜2003年。