大家快来议:你是一个好程序员吗?

商雁 2001-05-17 03:13:00
你是一个好程序员吗——论程序员应该具备什么素质?

我一直在思考这样的问题:程序员应该具备什么素质?什么样的程序员才是全面的程序员?VB,VC,DELPHI都精熟的就是好程序员吗?API,ASM小菜一碟的就是好程序员吗?WINDOWS底层了如指掌的是好程序员吗?我认为这些都不是。充其量他们只是技术高手而已,和工厂里的好车工、铣工等技术工人没有本质的区别,只是高超的“编码技工”而已。我的一个朋友,是个电脑技术高手,一段时间,突然对三维动画产生兴趣,最后是狂热之极,日夜不离,然而两年后,他突然又放弃了。3Dmax他已玩得非常熟练,相关技术如数家珍,我奇怪他为什么放弃,他说:我没有艺术细胞,别人能做得出的好作品,我只要看一下,一定能模仿得出,但是我自己创造出作品却极难,少了艺术修养啊。我顿悟,电脑、编程工具归根到底是工具,是我们用之解决问题,完成任务的工具。我们对工具的研究深刻固然是必要,但如果不能用这工具很好的完成任务,充其量只是一个工具专家。不管你对这些工具理解得多么透彻,都不代表你是一个好的工具使用者。
怎样才是一个好的工具使用者,一个好的程序员呢,我以为应该是下面这些内容。
1.要有较宽的知识面。
程序员不能只对编程感兴趣,音乐、美术、企业管理、文学、历史等等等等,你都不能拒绝。即使你是一个Vc的绝顶高手,没有音乐、美术的基本修养,是不可能编出好的游戏程序的。没有的企业管理的基本知识,是不可能编出好企业管理程序的。对底层、对api、对种种高级技术的掌握,都不代表你一定能编出好的应用程序。我认为,一个程序员到了高级阶段,重点已不是对编程工具的掌握问题了,而是要完成的任务上了。这应该是一种相对抽象的能力,是一种可以脱离任何编程工具的能力。一旦思路出来,不管是用vc,vb,delphi,不管是在windows、linux还是在unix上,都可以很好的实现。而要产生这种思路,仅有对编程工具的熟练,而没有宽广的知识面,是远远不够的。
2.要有市场眼光。
不要告诉我你从没想到过要用你的电脑技术来赚钱。现在是市场经济,程序员的价值也要在市场中才能得到充分体现。我不排除很多爱好者的确是出于兴趣来编程的。然而我想说,编程最终还是为别人编程,给他人使用,得到他人的认可。这就要求有市场眼光。这包含两个方面:一方面对于通用性的软件,你要考虑到会有多少人需要,有多大的潜在使用者,有多少竞争者,你与竞争者的力量对比;另一方面是对于专用性的软件,比如针对某个单位的具体要求而做的项目,如何在软件质量、易用性、外观上做得最好,如何通过产品的质量来逐步树立市场声誉等等。你时刻要把自己置身于市场,要站在市场角度看问题。举一个例子:国产软件《华表2000》,前身是cell表/控件,是一个非常好的电子表格软件,技术含量也高,很多方面都超过了微软件的excel,但在市场表现上一直不怎么好。问题在哪里?少了市场眼光,少了对竞争对手的全面估计。
3.要有强大的学习能力。
这一点是很多程序员的强项,我想没有什么人仅凭学校学的就成为一个高手。特别是在IT业,各种技术、概念层出不穷,软件版本不断翻新,各种编程工具五花八门。没有强大的学习能力是应付不来的。只要你一天不离开这个行业,你就一天也离不开学习。
4.要有全局观念、条理性、创造性。
这一条不用多说,有了全局观念,条理性才能做出健壮的软件,才能做出易于维护的软件。而创造性,是保证你的软件超出其它同类产品的关键。你的东西要与众不同,才能鹤立鸡群,才能打出一片天地。Netants是因为其比别人更好断点续传,而flashjet/Jetcar(晚于netants出现的下载软件)是因为其方便的下载文件管理功能而众所周知。
5.要有兴趣与热情。
在任何行业,如果缺乏热情与兴趣,是不能成功的。有很多人,当初选择计算机业,仅仅是因为这个行业的热门。就象多年前的高中毕业生热衷于选财会、企业管理一样。很多人学习计算机,并不是因为他爱好,而是由于他需要。我想,仅出于需要是不大可能成为这一行的高手的。我的朋友中有计算机硕士、有计算机本科毕业的。却对计算机并不是出自内心的热爱。他们为工作而使用、为利益而编程。诚然,他们在一定范围中仍是高手。但是,缺乏热情与兴趣,只为工作目的和利益编程的人,最终会因为工作目的达到、利益到手而放弃编程。不要指望这些人能做出大的事业。很多好的软件,都不是出自科班出身的程序员,而是高中生,业余好者。他们中很多人并没有因为编出好程序而得到可观的利益,但是他们却不停止学习与编程,为什么,是兴趣与热情的驱动。记得很多It业的成功巨头都说过,他们工作的原因仅是出于兴趣与热情,钱对于他们来说根本不重要。

另外,程序员如果想当老板,还要有经营管理才能。
很多程序员,计算机业的人都想当老板,这也许是盖茨、乔布斯等人的示范作用吧。所以学生创业、掇学创业的事例很多。但是电脑知识不等于经营管理能力。这是两个完全不同的领域。很多IT业的企业最终失败,都是因为经营管理的不善。创业之初,凭着大家的热情、冲劲做出一定的事业自然可能,但如果摊子铺大,管理的问题就突出了。如何制订财务策略、如何笼络人身、如何与人打交道等等,都要求你是一个战略家、外交家、甚至是一个阴谋家、政治家。而这些却都是很多有创业之心的人所准备不足的,特别是很沉迷于技术的人,要有突破,往往难度更大。所谓“秀才当兵,三年不成”。因此,一个好的程序员如果还想当一个好的老板,经营管理、接人待物、为人处世的能力你已经准备好了吗?
...全文
143 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yunc 2001-05-18
你能感觉到,如果你现在是程序员,那我相信你能成为好的程序员!
回复
yunc 2001-05-18
你能感觉到,如果你现在是程序员,那我相信你能成为好的程序员!
回复
商雁 2001-05-18
我不知道诸位高手们在实际中是不是或多或少地感觉到过自己知识结构的不完整。但从国内市场上出现的很多软件产品上却是体现了这种综合素质的缺乏。
我也不知道软件公司的老板们是不是有时感觉到这种综合性人才的缺乏,反正中国目前的很多软件产品总带有手工作坊的味道。
我是感觉到了。就当是一只井底的蛤蟆对天打的一声哈哈吧
回复
yunc 2001-05-18
你说的很多是种理想情况!
回复
商雁 2001-05-18
谢谢了,我更希望大家都能成为好程序员
回复
dingkun 2001-05-17
不是曲高和寡,而是你老兄说了一大篇废话
回复
商雁 2001-05-17
曲高和寡
回复
AntGhazi 2001-05-17
我没有市场眼光,想毕是最影响钱途的一点吧!
其他OK!暂时不敢想做老板!因为做不了!
回复
商雁 2001-05-17
我所理解的偏执狂,应该是那些为达到人生目的而可以付出巨大努力,并轻易不放弃的人。这应该也是此话的原作者格鲁夫的意思。
我们不能要求每个程序员都象文中所的那样。但是为什么不能有少数程序员达到那样呢?我们中国的软件业太需要那样的人了。
回复
sunlightbj 2001-05-17
尽管"每个人都有自己的选择"
但是"只有偏执狂才能生存"
是吗?
回复
商雁 2001-05-17
每个人都有自己的选择。只有偏执狂才能生存。
回复
JeasonZhao 2001-05-17
哈哈,有意思,看来你要学古人的学习精神了,我不是个好的程序员,所以找个地方喝酒先
回复
seedundersnow 2001-05-17
对不起,我的电脑每当显示到这篇文章时就死 !!!

大家说怎么办 ???
回复
相关推荐
发帖
community_281
创建于2021-05-27

208

社区成员

申请成为版主
帖子事件
创建了帖子
2001-05-17 03:13
社区公告
暂无公告