如何成为一名优秀的程式员?


一 位仁兄说的“程式员写的程式不是算法+语法 ,而是要能够满足用户需求的工 具”我很赞同,要想达到用户需求就必须从各个方面来考虑如业务、人机交互 、效率等方面,而不只是个语言(语法)的问题,语言(语法)只是工具,只 知语法不知其他那就真是编程机器了! 编程机器在印度高中生经过几个月培训,按照严谨的软工方法,加上较高的管理 ,就能够胜任了!大家相信吗,我是相信的!谈到这里我就不禁说到了国内教育 界最近在探讨的问题“电脑科系的毕业生特别是本科大专生到底出来干啥、如 何适应社会需要”,大家也看到了很多计科系大学生说精通N种语言,熟悉N种工 具,不知道学校里的其他知识到那里去了,甘愿做编程机器,浪费了人民的纳税 ,干高中生能干的事,比较可惜吧!在国内现在就是这样了,看过一则帖子:清华的计科系毕业声在建筑院里搞研发还不如建筑专业的毕业生。说着说着就岔道 了,国内的软件研发业到底是需要那些人:假如仅仅是编码机器,那我估计中国 硅谷还是做梦去吧!
社会似乎也需要编码机器,翻翻招聘广告,做应用研 发的都需要精通某某语言, 熟悉某某工具,很少需要懂管理懂软工的人。以我个人一点偏激的想法,民族软 件产业要腾飞,更需要的是能管理使用编码机器的人,即管理人员、国内软件产 业编码机器已很多了。希望不要惹怒了那些编程高手! system develop和Application develop在国内到底哪个能养活您,能赚钱,诸位 仁兄想必也知道,况且俺也没发现几家水平高的公司招这方面的人,毕竟OS,DB MS,COMPILER都被外国做了、另外也别跟我谈LINUX,毕竟还是少数烧钱的人做的 事情,我先喂饱肚皮再说。我手下的很多搞4GL语言的程式员都想转行学VC等所谓 的更低级的语言,我总是说“在XX城市,先用4GL工具生存,以后再学习VC吧!” ,说的简单一点先解决肚子问题。如何判断自己是否是编程机器?
1、面对需求不考虑用户,只是考虑用那些程式技术展示自己的语言语法技巧 .
2、学习了N种语言 .
3、从来不学习或实践软工 .
4、语法语言水平在众人中遥遥领先、特别是一些稀奇古怪的语法 凭着兴趣和创造力去干,却重复繁琐的劳动。 做着没有意义-唯一意义是赚钱,而且真是出了半斤力, 拿不足八两。 终日劳累,却不能学自己想学的。最终结果是跟不上社会科技的发展 ,人已衰老。悲哀!!!
 

研发软件的关键是要有想法,一个好的想法比什么都重要。尤其是有关 网络方面的就更是如此。

入 门还能够,但是要继续深入了解可能要难点。 未必吧 偶觉得大学里的高数 数理方法之类的, 假如您不是做研究的话, 应该是很少能 用到的 但是假如说到离散之类的, 倒还是时不时的能有点用现在的程式员比起十年前是不是要花更多的时间来 查帮助呢。系统越来越大,手册越来越厚,软件研发的 周期是不是越来越多的淹没在查帮助之中了呢。 

实际上一个程式员最终的技术需要和实际相结合。真正在编写程式到达一定时候,语言的使用并不是最大的障碍,对整个项目的把握、软件工程的把握、数据库的设计连同执行效果的分析等等才是需要进一步考虑的东东!否则,为何大多数公司到需要有编程经验了!这些不是程式员必须学的。但数据结构,编译原理,操作系统原 理等是必须要学好的,英文的多看,不懂电脑英语可不行。实我不是什么中专生,而是我读的中学和一个私人办的电脑学校联合开的电脑专业(并不是我中考考的 差,而是这个学校太贪钱了,才被录取到这里,恼火,我们班里中考成绩从两百多到四百多的都有,我就是四百多分(重理轻文的结果,要不然...),当时读书 的时候,我是班是的高手(其实只是比其他同学懂而已),大家叫我dos,因为当时学的都是dos的内容, 毕业后还没有对编程很感兴趣,只想找一个电脑的工作就能够了,哪怕是打字的,可是看报纸,去人才中央,看到都是要大学的,为此感到很失望.也对电脑失去了 兴趣.后来学校打电话到我家,说厦门厦华公司要招工,要不要去,我很快就答应了,因为当时没工作,天天呆在家里.后来打工的时候,天天象一个机械人相同, 重复着同一道工序,因此经常在深夜的时候,思索着自己的未来,由此重新生起了对电脑的感情,因此经常买电脑杂志和报纸看(能够堆成一座山了).由于离我住 的地方不远处,有一个电脑培训的,所以经常到那里上机,而在学校里学过的软件也只有FOXBASE和WPS,其他的不值一提,所以上机经常用 foxbase,直到这时候,才对编程产生了浓厚的兴趣,一年后,自已买了一台电脑,开始认真学习编程.由于我是属于职业中专的,因此经常想,就算学得再 好也没有用,所以想考程式员,而考程式员要懂得C语言,所以就学习turbo c,学完了,学数据结构, 同时看'C高级实用程式设计',澳门回归和2000年的两个晚上,我都是在编程中度过的.由于我这个人对书很感兴趣,经常在星期六,星期七去书店,而在书 店里,也是看编程方面的书,而看到的编程书籍大部份都是windows方面的,为此也经常思索着学dos编程到底有没有用.后来,春节放假(要2月13日 上班)回老家,天天去新华书店(正月初一也去),看到也都是windows编程方面的书多得像狗屎相同,所以就下决心学windows编程,因此正月初四 (快餐店还没有开张)就去厦门了,很快买了delphi的书和d版delphi5,疯狂地学习(到现在为止,买了8本Delphi的 书,因为国人的写的书实在太烂),而由于碰到不懂的又不知道怎么办,为此想到了网络,但在外打工不可能上网(上网吧太贵),所以就辞职了(4月21日), 现在,程式员考试快到了,是报还是不报一直犹豫不觉,困此才有此问题.打工的岁夜,我永远不会忘记,因为付出太多了,也失去了太多(坏了两个光驱,瘦了几 斤),直到现在,脑海里还不时浮现起那几个无眠的夜晚.忠心感谢大家.我不认为编码的人就是机器, 而系统分析就不是机器, 其实系统分析员就是销售的机器, 任何职员有是老板的机器.他们之间这是不同工种吧了, 当然对系统分析需要要高一些, 薪水也高一些, 但更让人佩服的是销售, 是他们驱动了整个的运作.我也是个中专生, 还是学机械的(后来自学了电脑), 我很了解在传统的制造业是如何的规范, 设计人员设计图纸, 然后经审核, 再到车间试样, 再根据情况, 修改图纸, 如此反复几次后才能一个产品定型,而在软件界, 就没那么好了, 领导会说, 这个您做, 那个他做, 也没有经过很细的分析(国内很多都是这样), 在我们这里也没有系统分析员, 每个人都是设计员, 也是编程员, 虽然这样对个人来说, 能学到很多东西, 但不利于项目.我国的软件过程水平,确实令人担忧, 现在为止只是, 几个人十几个人的小软件, 还没有能拿得手的大型软件.至于中专生编程问题, 我
认为只要入了这个行, 就不会比本科生差, 因为对他来说没有优越的学历条件, 那么只好埋头苦学, 但这正好适应当前电脑软件迅速发展的今天, 学历只能代表过去和基础, 更需要的是有能力的人, 解决问题的人, 实干的人.对我来说确实有时有点自卑, 没有上过高中和大学(由于那个年代, 我只知道能为父母减少一点负担就行了), 任何我一直在努力的学习(corba, uml, Java, 软件过程等), 现在为止我并没有觉的我的构架能力和编码水平比他们差, 只是觉得E语言实在太差.过电脑本科又如何?我有几个同学到银行去搞业务了,有同学任教,有同学收税去了......60多个人真正现在搞电脑的还就只有 几个人,再看看当时这些电脑本科生的毕业设计,//faint有的人到最后连VB都搞不定,但他们什么编译原理啦什么组成原理啦什么软件工程啦学的(应该是考试的分数)真还不
错, 至少我感觉有些概念比我清楚(上课没听?)所以我觉的中专生并不比一般大学生差(当然有些重点学校除外//hehe),有时中专生有更大的压力逼迫自己去 学习,学历不是重要的,关键是个人的素质.我们不能将目标定位在做程式员或编码员(Coder)上光会写代码有什么用?那叫“编码员”,在外国是属于体力 劳动的,不像国内,会写程式的就叫高科技。重要的是分析问题、解决问题和规划的能力,系统分析,系统设计及项目规划才是正途。这就需要学习所谓的基础课程 了,如:软件工程、离散数学、数据结构等 等。从vb到现在开始学vc后,一个人捣鼓了几天也没有什么新发现。跟本不知道VC的编程思想是什么,请大虾们告诉我,他和VB的差别真是太大了。VC的 博大在于MFC的操纵,他是Win32API的封装.思想在于怎样了解MFC的内幕,他的运行机制.差别也大,差别也不大!这要看您对API的理解了,虽 然VC++的可视化没有VB的好,但是不是绝对没有的,其对而且对话框的编辑是跟VB相同的,但是不是像VB那样放在第一个界面罢了,VC++的博大精深 是VB难以望其项背的!:)而且VC++是完全面向对象的编程工具,而
VB是不够完全的面向对象编程工具,VC++是完全编译语言,VB是本地编译语言,不够完全,VC++效率高,封装性好,继承性高,VB效率相对低了很多,但界面友好,二者只能取其一,或使用VC++,VB辅助(因为VB研发快),当然Delphi,BCB也是不错的选择。