一个老程序员的心得.doc

上传人:sccc 文档编号:5234864 上传时间:2023-06-16 格式:DOC 页数:16 大小:63.52KB
返回 下载 相关 举报
一个老程序员的心得.doc_第1页
第1页 / 共16页
一个老程序员的心得.doc_第2页
第2页 / 共16页
一个老程序员的心得.doc_第3页
第3页 / 共16页
一个老程序员的心得.doc_第4页
第4页 / 共16页
一个老程序员的心得.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《一个老程序员的心得.doc》由会员分享,可在线阅读,更多相关《一个老程序员的心得.doc(16页珍藏版)》请在三一办公上搜索。

1、1个老程序员的心得 size=4不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。 1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。 2. 丰富的想

2、象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。 3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。 4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊

3、天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。 5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。 6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。 7. 良好的编程风

4、格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。 8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99% sweat and 1% coffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把

5、它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。 这些是我这几年程序员生涯的一点体会,希望能够给大家有所帮助做了快三年的程序员了,有一点小体会和大家分享一下.1.好钢是由铁炼成的. 一名好的程序员必须经过千锤百炼才行, 挫折是程序员最大的宝,要能承受挫折,战胜挫折,只有不断经受挫折,从挫折中吸取经验,教训,这样你才能成为真正的程序员. 2.手是好汉,眼是懒汉.看会不是目的,要会写,勤动手,熟练书写各种常用代码,在学习之初 可以不借助IDE来书写代码,反复练习,熟能成巧,毋庸置疑.3. 稳中求胜,小心使得万年船.程序员最忌讳毛躁.代码多,项目大的时候,错误是在所

6、难免的,但低级错误一定不能犯,尽量把错误压到最低,这就要求我们程序员养成稳重,多思维的方式,切忌浮躁,养成良好的书写习惯和正确的思维方式. 4.做就做程序员,不要做高级打字员. 每个程序员都是从基础学起的,在学的时候一定要把握好方向不要被众多的语言,概念所迷惑,学的是语言,学的是编程思想不要在IDE上下功夫,研究哪个好,哪个坏,要敢于创新,程序是死的人是活的,在活人手里,也要让程序活起来.多学多看数据结构等书多看别人的成型代码,学习别人的思想,使自己成为真正的程序员.5.敢想敢做,持之以恒,一切皆有可能! 一点薄思庸见送给赛迪网java版的初学者们,仅代表本人个人意见,如有任何各位大虾有好的方

7、法或意见可以跟帖提出. java开发八荣八耻以动手实践为荣,以只看不练为耻。以打印日志为荣,以出错不报为耻。 以局部变量为荣,以全局变量为耻。 以单元测试为荣,以手工测试为耻。 以代码重用为荣,以复制粘贴为耻。以多态应用为荣,以分支判断为耻。以定义常量为荣,以魔法数字为耻。 以总结思考为荣,以不求甚解为耻。从大学开始到现在, 学习编程已经四年了,在过去的四年里学了不少的东西,总感觉自已还行吧。怎么着也能找个好的工作。加上在学校表现良好,大专一毕业就顺利应聘上一个政府机构的工作。虽然工资不算多,但也稳定。但总觉得自己有点屈才.一天,见到本市的一家知名软件企业的招聘信息,就把自己从大学三年到现在写

8、过的一些东西简单地写了一份求职信过去(不是想跳槽,只是想测试一下我现在这份工作丢了,在社会上我能够达到什么程度)。没想到,第二天,那家公司就叫我过去应聘了。感觉很突然,总觉得一些软件公司在人才网站上打一些招聘信息总是借此做大做广告,并不是想招聘人,就是要招聘人,可能因为这种因素的机率都很小吧。(这是我一直以来对人才网站上某些软件公司的招聘信息的看法),不过却增加了几分信心,于是我便兴冲冲的去了。到了公司,首先就让我填写一张表格,填写完一张表格以后安排一个技术主管过来与我谈,谈的倒不是一些深入的技术问题,我基本上的都能应上来。接着就是上机测试。测试的题目是写一个人员信息的插入、修改、显示。主考官

9、说只需要写一个功能就是,只是希望看看我的编程风格。于是我把数据操作写了一个类,然后在按钮的事件里得到输入框值,组合一个SQL,传到数据操作类里面去执行,然后返回插入结果就可以了。完了,很快搞定。马上叫主考官过来看吧。呵呵,小意思。主考官过来了,首先就在姓名的地方输入好长的一串字符串,接着一阵乱输,完了,出问题。名字太长了,邮件没有限制,身份证没有限制,生日没有限制,完了,完了,我想,这么点东西,就出问题了,我心里好一阵紧张。还好就是主考官的态度还不错,说:“虽然你做了足够的注释,缩近也注意了,但是却没有对输入的值进行判断,我们这为合理的判断也是好的编程风格,再者,你虽然把数据操作写成了类,但也

10、有很多的改进,一是。二是。”说完以后还鼓励我接着写刚才的代码。当时真是很是感动,但感动归感动,说老实话,这些判断平时还真的没有写过多少,都是写一个以后,COPY过去COPY过来的用,现在一时还觉得有些短路,不知道如何是好,然后,就是按钮的事件中写对数值的判断。终于完成了,再看看表,时间距刚开始测试已经快一个小时了。主考官过来看了,觉得功能都实现了,就叫了公司的一个副经理(后来才知道的)来继续面试我。这个副总就到我到另外的一个会议室去,问了我一些技术概念的问题,结果我基本上都答不过来(我以前觉得我能够用就够了啥,没有太大的必有对这写概念的条款记得这么清楚啥),结果,那位副经理训斥了我一下,说:“

11、你对这些概念都不清楚,怎么了解其间的性能呢,不了解性能如何开发高效率的程序呢?”(整个谈话这句最让我满意,其他的都是我们是专业的软件公司,很注重软件的性能,编程风格等等如事云云),最后问了我的薪水要求和能不能适应公司的开发等就叫我回家去等消息。当然,由于后面没有过关当然也没有应聘得上。更当然,我吸取了这次应聘的经验,总结以下几条来做为以后学习的信条,写出来与大家共勉:一,学习应该从基础抓起,注意学习的每个细节,争取学精,避免为了开发而开发。二,在以一门语言为主功语言的同时,要学习一下与之相关的其它技术。三,长常保持对新技术的关注,了解未来发展的方向,做到有的放矢。四,多参与项目开发,在项目中发

12、现问题,解决问题,才能更好的了解学习中的细节问题。五,加强交流,多写文章,多发源码,多收取意见,在交流学习并提高,才能更快了解自已的不足。六, 永远相信下一个作品是最好的.业余程序员最喜欢做的一件事就是对不同的语言进行比较。Java是否比C好?C是否会成为终极语言?凡此种种。从专业程序员的角度看来,这是最低级无趣的游戏。其一,在项目诸元确定之后,通常并没有选择语言的余地;其二,语言的生存本身就是一个达尔文主义的问题:设若两种语言有明确的可比较性,其中较劣的那一种必定早已被淘汰出局,又何来比较的必要?所以,有“C之父”美称的Bjarne Stroustrup博士常常声明自己不会拿C与其他语言比较

13、偏偏每次接受采访时,必定有外行的记者或听众提出这一类最令他反感的问题,这是题外话,按下不表。 丢开实用主义的观点,从美学(或者说,计算机科学)的角度来看,语言的比较似乎并不像它通常所表现的那么低级。毕竟,既然维特根斯坦反复强调“语言制订游戏的规则”、“凡不可言说者必保持沉默”,可见语言并非仅仅是可通约的思想的映射,语言本身就决定思想的方式。使这个问题显得那么低级而业余的,往往是业余程序员讨论它的方式:仅仅凭着自己对几种语言一知半解的认识、仅仅凭着使用一种语言的习惯、甚至仅仅凭着一种宗教狂热来展开讨论,这样的讨论自然是不值一哂的。我是不是已经提到了“宗教狂热”这个词?如果说对语言的喜爱(或者憎恶

14、)可以成为一种宗教狂热,就有那么一些人可以凭着宗教般的狂热成为开发高手,Ian Joyner无疑属于这种人。1992年,在Unisys用C开发UNIXX.500时,Joyner感到C让他“不自在”,于是就写了一篇题为C批判的报告,张贴在Unisys的内部新闻组上。到此为止,一切都没有什么不同。但Joyner与其他宗教狂热者的区别在于:他有着远为深厚的理论基础,以及锲而不舍的毅力。于是,C批判有了第二版和在Internet上广为流传的第三版。到1998年,这篇典型的论坛文章终于变成了一本书,“批判”也彻底变成了语言之间的比较(参与比较的另外两种语言是Java和Eiffel),这就是我手上的对象揭

15、秘:Java、Eiffel和C(Object Unencapsulated:Java,Eiffeland C,人民邮电出版社2003年7月)。 尽管宣称自己反对“宗教战争”,但显然Ian Joyner是深谙宗教战争之道的。从批评的方式来说,他与其他人并无不同:首先立论(“Eiffel是最好的语言”),然后不断变换角度批评对手时而是数学理论的完备性、时而是使用的便利和可靠、时而是命名的清晰论据的选取完全只是为论点服务。也正因为此,这本对象揭秘足以让绝大多数的语言比较者感到羞赧,因为在同样的批评套路上,Joyner探索的深度和广度令他们望尘莫及。譬如说,任何一个负责的语言比较者都必然会提到“继承和

16、类型系统”这一话题,但Joyner却把这个话题写成了长达63页的一章(第5章,“类型扩展:继承与虚拟”),并在后面的章节(第9章,“类型转换”)中继续讨论相关的问题。抛开篇幅不谈,单是Joyner习以为常的文法解读、Lamda演算法和签名变化理论,就足以使不够水准的批评者自惭形秽了。 因此,在我看来,这本对象揭秘完全有理由成为所有语言比较者的必读书目也许说“入门书目”会更准确一些?因为你能想到的任何一条批评,Ian Joyner很可能早已做了鞭辟入里的阐述。如果在细读对象揭秘之前妄自作评,结果很可能是贻笑大方。另一方面,在批评的方法上,Joyner为后来者作出了表率:简单的反对与谩骂毫无意义,

17、用钱钟书的话来说,“反其道以行也是一种模仿”;只有拿出充足的论据,再拿出合理的解决方案,才称得上一个高明的批评者。当然,这样的“入门书目”也许让门槛显得太高了一点。但对于“Java和C谁更好”这样一个通常只会令人感到莫名烦躁的话题,门槛总是不厌其高的。 像我一样的Java人常常会抱怨“Java的经典书籍太少了”。C的经典好书总是层出不穷,实在令人艳羡当然真正拥有这些书的人也同时拥有不少的烦恼,我就有最深切的体会。在这本对象揭秘中,IanJoyner顺便也半开玩笑地揭开了这个秘密。也许,这句半开玩笑的话会成为Java人喜爱这本书的另一个理由: “学习C要花那么长时间,要比Eiffel和Java都

18、长得多。花那么长时间还未必掌握编程或者面向对象设计技术。这也是为什么关于C的书籍那么多而Eiffel和Java不需要那么多书的原因。”我是初中时接触编程的。那时父亲厂里买了一台微电脑,而我父亲,当时正好可以接触到这台微机,于是,颇具战略眼光的父亲便开始帮我寻找各种书籍资料,让我学起了计算机。第一眼看到它,我就被吸引住了。那是在当时也很差的一种名叫“R1”的微机,可是颜色实在漂亮,典雅的奶黄色,配着深绿的按键,按下不同的键还有不同音调的悦耳的声音。跟当时风行的大多数八位微电脑一样,整个机身实际就是一个键盘,比现在PC机通常的键盘还要小,显示器就用电视机。当我第一次把从书上抄下来的寥寥几句的一个B

19、asic程序从嘀嘀作响的键盘上敲入,最后再打进了“RUN”,而屏幕上忠实地显示出了结果后,我就不可救药地迷上了编程。父亲的厂离家有五公里,每个星期天我都要自己一个人步行五公里,把一个星期里自己写下的一大堆Basic程序拿来调试,当然一大半都被它冷酷的拒绝了,所以每次有一个程序通过了,我都会兴奋的叫起来。那时我的体力不好,五公里走下来,相当累,还经常小腿抽筋,可是一坐到电脑前,听见打开时“嘀”的提示音,一切的痛和累都消失了。渐渐地我的程序通过率越来越高了,程序的规模也在增长。但是,那台外表可爱的电脑却开始不堪重负了,运行速度本来就慢,又加上效率低下的解释性Basic语言,让我实在不可忍受。于是,

20、父亲又到新华书店为我订下了一本Z80汇编语言的书。书一到,我就捧起这部大块头的书,开始用我初中的程度一点点地啃。边啃边实验,终于掌握了Z80汇编语言,又在电脑不具备输入汇编语言能力的情况下,手工翻译成机器语言,再通过Basic语言中的Poke语句把二进制代码输入内存,然后用Basic程序调用。在不懈的努力下,终于成功地做出了一个汇编语言的动画程序!在这次成功之后,我就开始相信,只要肯钻研,没有学不会的技术,没有克服不了的难题。初中毕业后,我以全县第一的成绩进入了一所附近城市的省重点中学,从此我的眼界开始逐渐拓宽了,以后,我用到的电脑越来越高级,从高档八位机苹果电脑,到今天主频以G计,内存以M计

21、的奔四电脑,当年那台主频内存都只能以K计的八位机已是进了历史博物馆。但是这台引领我进入编程领域,并且更驱使我深入钻研汇编语言的电脑,将是我记忆中最珍贵的收藏之一。在重点中学,学业的压力是很重的,又是住校独立生活,对于体力已较大程度下降、行动已呈现出不少不便的我,平添了几许额外的困难。高中的第一年没有计算机课,我只能在假期回家后才能有机会继续学习编程,也以此来忘记一学期的压力和苦累。高二时,终于盼到了计算机课,也见到了当时相对高档的苹果电脑。而我此时已有的基础令老师吃惊,同学惊服。我加入了计算机兴趣小组,开始在性能远远好于原来那台电脑的苹果机上快乐的编程了。在高二的暑假我和计算机老师一起给学校做

22、个工资管理软件。在学校里的一周时间内,由于宿舍已经锁掉不能住,我就睡在了办公室里。位于郊区的校园,蚊子格外多,咬的我一直睡不着。到了后半夜,我索性爬起来,打开了电脑干活。就这样,我帮着老师写程序、录入数据,并且在即将交货时找出了一个大BUG,又正确地判断出问题根源在内存不足,算是立下了一个小功劳。由于高考发挥出色(尤其是物理的满分),我进入了北京大学物理系。在大学里,计算机上机条件就更好了。当时苹果的Macintosh刚刚推出,给我们系捐了好多台组建了计算机室。这个计算机室从此就成了我大学四年最常去的地方。一年级的时候有两门计算机课,一门是Fortran语言,一门是Pascal语言。而Pasc

23、al语言基本是我们自己学,每到晚上计算机室向我们开放。那是我第一次见识“窗口”形式的操作界面。第二年,计算机室的机器换成了386和Dos系统了,但是上机机时却被限制住了。不能满足的我到处找不喜欢计算机的同学借机时卡,好让我有足够的时间调试自己写的程序。到了第三年,北大招生更多,系计算机室天天爆满,所以上午只要没课,我就会起个大早到机房门口等待开门。在一个寒冷的冬晨,还因此着凉发烧而晕倒在机房门口。就这样,我熟练地掌握了Turbo Pascal和Turbo C+,也学习了好多相关的理论知识。毕业后,我终于如愿以尝当上了程序员。我被分配的任务,起先是用Delphi做一些文字处理的工具,供编辑部和数

24、据部使用。后来Internet开始兴起,又委派我写为网络版期刊使用的一些CGI程序。工作一直都很顺利,我的眼界与编程水平也在稳步成长。两年后,为了有更好的发展,我离开了我工作的第一家公司。这时,我把求职的阵地移到了网上。不久,就在某网站上看到了一家合资软件企业的招聘启事。尽管启事上说明不接受来访,我仍然勇敢地拿着简历于第二天赶到公司所在的翠宫饭店去求职了。幸运仍然在笼罩着我,这次我直接见到了经理,向他表达了自己对于编程的热爱。我说,我梦想着成为IT业的传奇英雄。也许是这句话感动了他,我成功的通过了面试。在这家公司,我第一次作为一个庞大项目组的一员,感受到了现代化的软件项目管理,接受了团队精神的

25、洗礼。在北京做了五年的程序员,这时候,我听到了来自深圳的召唤。早在99年,我就在网络上找到了一个位于深圳的名为“中华残疾人服务网”的残疾人网站。一天,我在这个网站的留言本上看到了站长的一席因残疾人网络事业缺少技术支持而发的感慨,不由心有所感,便留言说,愿投入残疾人网络事业,而不计待遇。从此,我的人生翻开了辉煌的一页。那是2002年的10月6日。起初以为,这个网站会类似于仅仅出于兴趣的个人网站,走进去才真正发现,这是个志存高远的团队。而我真正感觉到了团结一致共创大业的团队精神。在同样因病致残的站长有力领导下,这里基本解决了残疾人在生活会有的种种不便,克服了许多社会上普遍存在的障碍,从而可以让我充

26、分发挥聪明才智,全身心地去攀登IT技术的高峰。加入网站之后,我完成的第一个任务是改进网站新闻系统,增加图片上传和自动图文排版功能。以前没有做过ASP程序的我在原有的ASP程序的基础上,通过学习和分析源代码,完成了这个任务,同时也掌握了基本的ASP编程技术。然后,我又独立完成了一套社区论坛程序,这套程序受到了全国以至海外残疾朋友的欢迎,成为了许多足不出户的残疾朋友与网友热烈交流的园地。也让我从中看到了自己的价值。后来,因为网站的网管不辞而别,我又接过了网管的重任,从此一面开发程序,一面又管理着我们自己的两台服务器。尽管压力和工作量成倍地增加了,却使我同时掌握了两个领域的技术,而这两方面的技术又互

27、相促进,使我的知识结构更为全面。由于我们没有外来资金的支持,要维持中华残疾人服务网这个福利公益网站的运转,必须走以网养网的道路,即为企业、政府提供信息化建设服务,以获得经济收入。所以,在给网站开发和升级程序之余,我又开始进行商业网站后台程序的开发。仅网站新闻系统,就在两年内从1.0版升级到了6.0版;还有大量为企业量身定做的功能程序。这些程序在网站原本就强大的前台设计的包装下,受到了市场的欢迎。网站也由此发展壮大。今天中华残疾人服务网在全球排名中稳步上扬,进入了三万以内的行列。在承接网站建设工程的同时,一些客户也开始找我们开发应用软件。第一个应用软件项目是一家与广东移动通信有业务关系的公司,因

28、为自身没有软件开发能力,便请我们合作为广东移动通信做一个“测试卡”管理系统。根据要求,我设计了使用条形码的输入方案,又使用SQL数据库作为局域网联网的后台数据库解决方案。由于是第一次全程的开发与服务,在进行以前没有接触过的安装过程中出现了大量问题,又没有充分做好应对的准备,造成了一些被动局面。但是最终我仍然想出了临时的解决方法,顺利地完成了测试版的交付。遗憾的是由于中介的公司人事调动,这个项目最终没有进行下去。很快又一个重大考验落在了以我为首的网站开发队伍身上。这是一直从各方面扶持我们的深圳市信息化办公室交给我们的任务。要求是我们收集深圳市所有的网站,以PDF电子书的形式印刷在光盘上。同时要有

29、一个完善的分类搜索系统。时间紧、数据量大,而且不允许出现任何差错。为了证明残疾人团队的开发能力,我和大伙都拼上了。而在送交初稿的前一天晚上,更是全民动员,站长第二天一大早要亲自带上光盘送去,但他也一起在熬夜。那个不眠之夜是我编程生涯中效率最高的一夜。不久后,这个项目终于完成,看着出自我们的头脑和双手的几千张光盘,我知道自己的努力没有白费,而自己的能力也提升到了一个新的境界。这个项目,在那些大公司看来也许是不值一提,可是对于一个核心成员仅五六人、而且全部是残疾人组成的一个项目组,是非常了不起的成就!2003年12月,世界残疾人职业技能奥林匹克在印度新德里举行,我有幸代表中国的残疾人参加了其中编程

30、项目的比赛。在中国,残疾人的就业问题是一个大问题,因此,这种残疾人的职业技能竞赛尤其有意义。2002年12月,我以广东省冠军的身份取得了2003年在上海参加全国比赛的资格。2003年8月,我在上海凭着多年的编程经验和创新精神,又取得了参加中国残疾人代表团出征印度的资格。遗憾的是,在赛场上,为了追求更好的界面效果,我耽误了一些时间,以至在最后因时间过于紧张,出现了一个致命的失误,将本来有希望得到的奖牌拱手相让。唯一的安慰,就是我的程序界面受到了印度裁判的称赞。从国外回来,我又打开了.NET的大门,准备带领网站的几个做程序的残疾朋友进入.NET的开发。对未来,我充满了信心,而新的梦想,又开始浮现在

31、我眼前!现在我的身份,一半是软件工程师,一半是高级程序员。随着网站这个实体的发展,我也许会逐渐成长转型为软件架构师,但是我仍然会梦想着掌握最高的编程技术,仍然愿意承担基础性的编码工作。我相信,保持开放的心态,保持年轻的心态,再老也能做程序。当今的数字化时代给残疾人士尤其是肢残人士带来了新的机会和挑战。现在,纯粹脑力劳动的门槛,因为程序员门槛的大幅度降低而降低,给更多由于社会原因而教育程度相对偏低肢残人士提供了经过培训进入初级程序员行列的机会。但是,这些机会要想转化为现实,还需要更多更广泛的“无障碍”环境的支持。我的第二个梦想,就是梦想中国能够出现更多的“软件工厂”,而这些“工厂”又是向残疾人敞

32、开大门的。十年编程生涯,历经了风雨坎坷,而程序代码给我插上的翅膀在风雨中更加硬朗。今天,我喜欢在程序代码的世界中自由飞翔。让病魔去禁锢我的身躯吧,我的灵魂仍然在广阔的世界里翱翔“我不是程序员”,杨过在电话那头淡淡的说。杨过是大学同学叫他的外号,因为他的气质和金庸造的杨过最像,连一些感情遭遇都像。 拒绝做程序员,虽然很火杨过毕业那年软件公司很火,据说在中关村随便一个刚毕业的写C程序的毕业生月薪一不小心会上万。于是乎杨过不少的同学们毕业后纷纷改行编起了程序,跳进了大家现在也没说清楚的IT行业。说改行是因为杨过学的不是计算机专业,只是沾上边。杨过那时根本不屑于做编程,虽然那时班里就他最喜欢打软件游戏

33、。他觉得去编程不是什么“正经事”,所以毕业后他去了大连一家生产粮油的集团企业,杨过说是“一颗红心投入四化建设”。由于不想拍马逢迎,杨过彻底打消了“磨豆油”的念头。不过他没有直接留在大连找工作,而是跑到偏远的老家和他青梅竹马的高中同学结婚去了。杨过的感情故事太有传奇色彩,跟金庸那个杨过有一拼。因为新婚的妻子在大连不好找工作,当时他留在家里,找了一个小公司用电脑给人设计零件图。本来大多数人的工作就是混口饭吃,杨过也不嫌公司小,老老实实过日子吧。可让他接受不了是,公司的老板经常借口让他熟悉工作为名把他当民工使,一气之下杨过回了大连,几个月也是白干,工资没拿到一分钱,因为工资是三个月一发。杨过借口看病

34、从老板那里借了几百块钱,老板也明白怎么回事,就给他了。直到现在,杨过还算是借着这个公司的几百块钱。还得做程序员杨过先自己回到大连,到人才市场一看,铺天盖地都是要程序员。“唉,不服气不行,社会发展趋势啊”。电话那头的杨过一直在叹气。毕竟杨过是重点大学毕业的和计算机相关专业,那时还很吃香。他很快找到一家做寻呼台业务的软件公司。由于以前“没睡决时还看看计算机书”,他上手还挺快。干了一年,他跳到现在的这家公司,工资涨了一大截,在大连还算可以,老婆也接过来了。杨过老婆刚开始在影楼做过一段,后来生病就没再做。杨过说现在工资也够两个人花的,也不逼她找了,也不好找。我不是程序员,也不考虑明天杨过现在的这家公司

35、虽然也不算小,主要是做政府机构的一些单子,但为了生存业务还是比较杂。杨过感觉自己“天天这编一点、那写一点,从来没有好好从头做过一个正式的项目”。“我不是程序员,”他说,“可大家都这个样子。”公司里只有杨过一个人结婚了,其它都是小伙子。“以前没睡觉还看看书,现在没心思了”,杨过调侃。由于换了几个工作,杨过的国家基本保险也搞的乱七八糟。“我仔细研究过国家的一些文件,自己掏钱交那些基本保险没有什么用”,杨过现在和老婆都没有基本保险,自己存钱保险。杨过无奈的笑笑,“也存了一些钱,前一段老婆病了都交给医院了。”最近,看到论坛一贴子,主题是:我从校园出来的这几年。里面可热闹了,回复次数竟然达1425次,我

36、读了几个钟都没看完,最后只能大概浏览一下了,不过里面大多数都说自己是程序员,并且出来工作都不容易,可谓是一部“千人辛酸史”了,从中多少反映出了中国不少程序员的生活状况,不知道打算做程序员或者现在正入门的程序员朋友看了作何感想?说实在的,目前在中国的程序员大都过得不容易,而且普遍表现为“青春饭”状态,工作量大,导致对新知识的吸收能力随着年龄增大而降低,到了一定年龄(30后)后因为跟不上时代发展面临淘汰的厄运。虽然如此,但让我觉得欣慰的是的不少程序员或打算做程序员的朋友都表示坚持在程序员的路上走下去,因为我也是一名程序员,而且我对未来充满阳光,充满希望。我记住了这样一个简单的道理:过去并不代表未来

37、!相信没有人会不知道这个道理吧!大多程序员过去的辛酸大都可以归结于中国软件产业的发展的不成熟,而现在,中国政府制定政策大力扶持软件产业的发展,而且不少国际软件企业也看好中国的软件产业,纷纷把投资向中国倾斜,而且国内也开始有了不少比较成熟的软件企业,当然与国外的一些软件企业相比,还有一大段距离。但它表明中国的软件产业开始向规模化,规范化的方向发展了。印度在软件方面,在我们看来是成功,印度政府在1991年就制定相关扶持政策,到现在也有10多年了,才取得成功,另一个在软件方面比较成功的亚洲国家韩国,它也在1998年就制定了相关扶持政策,到现在也取得了一定的成功,用时不过4-5年,那么中国的软件产业呢

38、?要多久才能成熟起来呢?引金山总裁雷军的话,3年左右有所成就,到全面成熟那就要比较长的时候了,但中国软件产业的成熟和前述国家成熟概念不一致:印度是定位于软件外包而取得成功,韩国定位于网络游戏取得一定成就,而中国呢?定位于什么呢?中国的定位是组合式的,不是某一方面,而是全面的。可以相信:在未来,中国的软件产业无论在产业结构上,还是人才结构上都会具有优势。关于后者,你只要看看中国建立的50多所软件学院就可见一斑了,而且还有很多像印度的NIIT,北大青鸟(中外合资)等著名的国外软件开发教育机构进入中国,把先进成熟的教育模式带入了中国。但是,以上的教育机构培养目标都不是精英程序员,而是最近大家抄的很热

39、的“高级软件蓝领”,成熟模式中的软件开发团队中需要“金领”,“白领”,再到“蓝领”,而中国软件企业大多是小企业,最需要的是能独挡一面的“金领”,“白领”程序员,并不需要那么多只会Coding的“蓝领”程序员,我想很多混的不那么好的程序员,大概你是属于“蓝领”程序员吧!任何时代,任何时候,机遇总是垂青于有能耐的人的。但是,即使你现在不是“金领”,或者“白领”程序员,你还不是精英,而仅仅是“蓝领”程序员或者还不是而想成为程序员的你听到这句话,千万不要泄气,要相信你自己是将来的精英,虽然现在的生存环境不是那么好,但是,恰恰有更多机会让培养自己独挡一面的能力,随着中国软件产业的发展,将会需要大量有数年

40、工作经验,有整体系统架构能力的人才,而这些恰恰是任何学校都无法培养的人才,而现在的程序员,只要你们不放弃梦想,不放弃追求,继续努力,你们将成为软件产业的中坚力量!软件人才的佼佼者。最好,告诉大家一项调查,硅谷的程序员的平均年龄是35岁左右,而且微软公司的核心开心者大都在35岁以上,可以遇见,程序员不在是“青春饭”,也会有“老来悄”的“老资格”了!冬天来了,春天还会远吗?谨饬送给所有的中国程序员。如同一首民歌三十里铺所言,路行三十要有个歇脚的地方,人行三十也要喘口气。在IT,特别是程序员这个特殊的职业,流传一种说法:30岁是职场上的一道槛,事业上此时会发生了许多变化。30岁和程序员真有某种特殊的

41、联系吗?程序员到底能不能做到30岁以上呢? J曾是一名计算机老师,因为厌倦了学校平淡的生活,应聘到一家开发嵌入式系统的公司做底层程序员。刚开始的一两年,凭着一股热情和钻劲儿,投入到如火如荼的开发中,甚至购置了睡袋以备晚上加班。两年中,他掌握了极其专门的硬件参数、规格、开发细节等知识,成为部门的骨干。 逼近30岁的那几个月,他开始感到有些困惑。自己在公司虽然还算受重视,但是技术上翻来覆去就是那几样烂熟于心的东西,公司只需要自己惯性运作,实际不愿支付经验转换的成本;而公司的原始积累还远远未完成,自己仍然要和刚毕业的大学生一起加班,通宵达旦的干。因为缺乏人际交往,家里一直催着的婚姻大事,至今还八字没

42、一撇。很多同时期来的人都打算往管理转了,可是自己对管理缺乏兴趣,还是乐于从事技术工作。下一步怎么办?J想到了辞职,但还没有什么方向。 相比J,M要幸运得多。作为清华计算机本科、中科院研究生毕业的高材生,M在做项目经理时就能够月收入2万,先后换过3家公司,对所谓30岁的说法不以为然。M以前的项目都是用CMM做,项目管理很好,而核心的也就几个人。手下带过的人,当然是刚毕业的最差,因为要获得30岁时的经验,显然需要一个过程。M最开始做程序是用Debug单步跟踪、分析、定位;后来开发图形界面的上层程序,哪怕半年写1万行,也觉得不叫程序;只有到后来转到做底层开发以后,虽然半年只写到2000行,但是却感到

43、了写程序的快乐。M认为30岁以后程序员的体力不是问题,好的程序员不经常熬夜,有也是临时的。M接触过国外、比如印度的一些公司,技术人员们没有固定办公室,用互联网联系;很多人年龄都在35岁以上,技术很熟练,思想敏捷,让人敬佩。 M的职业观也很灵活。刚刚辞职在家,接点活干,非常忙。M有几个同学在外企做程序,日子过得更舒服,但是几年下来,个人、技术均无进展。究其原因,除了像微软研究院、Intel等一些少数外企还做些研发外,其它外企都是挑国外剩下的做,反而是国外一些小公司倒是把最核心技术放在中国来开发。其它像金山这样的一些本土企业应该也不错。做为程序员,机遇、环境、职业(项目)都很重要,它不但直接决定现

44、在的收入水平,更决定未来不同的命运。而程序员这个行业又有极强的主导性,如何做好职业生涯的规划,恰恰是决定乾坤的关键棋子。 程序员圈子里流传过一套书叫做编程之禅和编程之道。创造力、逻辑、判断、体力、智力、手段都是所谓道的一部分,书中有个比喻,程序员编程时,只有硬盘在响。创造本身是一项神圣的工作,但是创造者的果实却是世俗的。换句话说,年龄的问题本是见仁见智的,但是“30岁的槛”却是世俗的。国内大部分公司还没有好到为程序员做好一生的职业规划的地步,因此路还得自己来走。不要让过度的重复劳动损害了创造力,也不要太迷信技术的力量,而忽略了世俗世界的张力。“三十里铺是一个小村庄,小村庄是我们经过的地方。经过

45、的地方向着遥远的别处,遥远的别处还是三十里铺。”做为一名大四的学生,我面试过不少的单位,有成功的也有失败的,但是对我来说所有的失败在某种意义上都是一种成功,特别是我下面写的这些,写这篇文章的时,我已经签了南京的一家软件公司,但是想起今年2月21日我面试苏州台湾的IT公司的经历联想到我们现在学习编程的一些情况我真的深有感触,这次面试使我深深的体会到了失败但也收获了很多。 我要说的将分成三部分, 1.是我面试的具体经过 2.是由面试想到的 3.现今我应该做的。 当然这些话很大程度上是我个人的意见,不可能完全得到大家的赞同,所以 在某些观点上如果哪位朋友觉得跟我的有很大出入,请不要介意,也不要对我攻

46、击,就当我 没有说过,欢迎和我联系共同探讨这些问题!我的EMAIL:wutao8 1.面试经过 大约在年前我接到了台湾瑞晟(Realtek)苏州公司的面试通知,通知我2月21日到苏州工业园区面试,接到面试后的几天我把一些专业课温习了一遍,特别是C+和数据结构,由于大学几年里,我一直专研这些方面,加上通过了高级程序员的考试,对于一些常用的算法我差不多也 达到了烂熟于胸的地步,当时的感觉是如果问了我这些方面的问题我应该是没有问题的!21日那天我被安排在4:30面试,由一位技术人员单独给我面试,在问了一些简单的问题之后 ,他给我出了一道编程题目,题目是这样的:(由于具体面试的题目比较烦琐,我将其核心

47、思想提取出来分解成(乱码) 1) 写一个函数计算当参数为n(n很大)时的值 1-2+3-4+5-6+7.+n 哼,我的心里冷笑一声!没想到这么简单,我有点紧张的心情顿时放松起来! 于是很快我给出我的解法: long fn(long n) long temp=0; int i,flag=1; if(n 0); exit(1); for(i=1;i=n;i+) temp=temp+flag*i; flag=(-1)*flag; return temp; 搞定!当我用期待的目光看着面试官的时候,他微笑着跟我说,执行结果肯定是没有问题! 但当n很大的时候我这个程序执行效率很低,在嵌入式系统的开发中,程序的运行效率很重要 ,能让CPU少执行一条指令都是好的,他让我看看这个程序还有什么可以修改的地方,把程序 优化一下!听了这些话,我的心情当时变的有点沉重,没想到他的要求很严格,之后我对程序

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号