转载:一个程序员的忏悔录(巨长,慢慢看)

erp2 2002-05-06 06:32:51
在台湾,大部分的人都有个认知,就是"搞硬件的比搞软件的要好赚","做SA/SD比coding地位要高".那些做ID Design的家伙待的公司所发的股票,永远比搞Software Design的人待的公司发的还多,股价也高出好几倍. 搞SA/SD的人,在公司地位好象也比单纯写程序的人高.于是我的父亲有一次问我:"是不是搞硬件的人智商比较高?","是不是搞分析设计的人比较有地位?"

事实上,在学生时期我就认识不少人,有的人因为程序写不过别人,所以转换跑道专攻硬件;也有人觉得每天面对示波器和逻辑分析仪让他们头痛,工程数学也学不过人家,所以转行搞软件.到了实际上面对许多前来接受教育训练的学员之后,发现有人是因为写了十几年BIOS和driver,觉得乏味而没有前途,所以想试看看应用程序的开发;有人则是因为受不了客户每天改需求,而且写BIOS和driver的人好象比较少,价格比较高,因此想学习如何撰写系统软件. 询问那些上高阶课程的朋友,有的人发现自己只会胡做SA/SD唬烂老板和客户,所以希望重新打好基础,从基本的coding做起;有的人则因为写程序写太久,觉得应该往上走向SA/SD的路子,毕竟老了程序就写不动了.

这个世界上什么样的人都有,绝对不能以小现大.就很像搞政治的老是骗我们台湾只分成外省人和本省人,搞帮派的人告诉我们警察是带着枪的流氓.实际上,每个族群大家在没有被分化之前都相处的和乐融融,而虽然有警察掳妓勒索,上班时间跑去聚赌,但是也有开我们罚单时酌情轻罚的警察,和保护我们身家性命的警察.

即使如此,身为一个程序设计师还是要问,那为什么写程序的好象地位就是比较低?笔者认为,这是进入门槛的问题.会做相同事情的人多了,会会削弱那样技能的价值. 就很像考过MCSE/MCSD证照的人,通常比起考过SCJP/SCJD证照的人要来的没价值,前者因为考过的人实在太多,而后者考过的人少,仅是如此而已.但是绝不是代表考过MCSE的人素质就比考过SCJP的人要差,也不代表考过SCJP的人实力真的比较高段.

相信求学的时候您一定遇过一种人,他实力也不怎样样,可是考试的时候他x的就是考的比我们高,怎么我们心里就是不服,可是大多数老师偏偏就是比较喜欢分数高的学生.

因此,满坑满谷的人自称会写程序,老板不愁找不到可以做project的人,你要求的薪水和价格很高? 没关系,找个学校刚毕业的小子,写的比你快,写的比你好,用的技术比你新,更重要的,价格比你这个老屁股便宜一半.所以程序设计师在雇主心中的地位日益低落,自然有迹可循.

那么,为什么写程序这个行业的进入门槛比较低???

在各位信息从业人员的身边,非科班出生的比率非常高(当然没还卖鸡排的高),

科班出生的学生,搞不好在老板眼中的地位,还比不上一个半路出家的自学者. 那位自学者靠着自己的天份,学会SP,JSP,PHP,C++,C+,Java,Linux,Windows,Oracle...等,十八般武艺样样精通.而我们科班出生的学生,只会离散数学,数据结构和算法,Visual Basic搞不好用的没人家熟,网站的架设搞不好也没人家熟.更何况科班出生的学生,他的基础学问搞不好根基也不扎实(问看看您身旁的科班学生,和现在大多数灯红酒绿的大学生),难怪最常见的就是很多非科班的"高手"看不起科班的学生,觉得他们无三小路用,连个Windows*作都比他们差,Word也没人家会用,甚至还常常听到某些人大言不惭的说:"我这辈子写程序从没用过书上的数据结构和算法,读那些干啥?". 长期下来,科班的学生也开始质疑自己的所学,甚至考虑转行.

当然也有曲高和寡,孤芳自赏之人. 但终究阳春白雪还是比不上下里巴人,这个世界上能够看清现况的人毕竟是少数数. 总之,没办法受到老板垂青,薪水永远那么少,想卖鸡排的念头就开始萌生.

之所以会有这种情况,笔者个人认为有两种主要原因,一是技术的流通性,二是台湾软件市场的需求.

为什么技术的流通性可以产生大量半路出家的非科班生? 这都要感谢台湾大量作者,写出大量的入门书籍,大幅减低的进入程序设计领域的门槛. 即使在各位眼中,繁体中文的烂书很多,而且比例多的惊人.但是,大家眼中的烂书,常常是再版多次的入门书,对某些人认为是垃圾的东西,常常是另外一批人进入信息业的最佳踏脚石. 不信各位到书店看看,是"24小时学C++","快快乐乐学Java"的书比较多,还是"轻轻松松学微分方程式","21天学复变","电子学不求人"的书多? 两者的差距是 N:0. 是微分方程式和复变比C++,Java难学吗? 笔者两个都学过,至少我可以发誓,就一个有基本学习能力的人来说,难度是一样的,学成所需要的时间和功夫也是一样的.

但是,别忘了,最大的问题也是在此. 如果有人可以轻松的就学会别人辛苦学成的学问,那么那些身处信息大厂那些年薪是我们数倍的优秀程序设计师是白混的吗? 我们承认这个世界上有天才,但是,人家以是经过努力再努力.不努力的天才,顶多就像周芷若使出的九阴白骨爪,只徒具形式,不具威力.拼爆发力可能没问题,但凭内力硬干的时候,只就只能像铁掌帮裘千刃的双胞兄弟一样躲躲藏藏.虽然可以勉强唬过老板和不懂的人.但是你永远不会进步. 这种"浅碟文化"在我们的周遭有太多例子.

再看我们的公开讨论区(BBS或Web Forum),我们可以看到大量的软件技术讨论区,却看不到硬件技术讨论区(喔!请别跟笔者说那些每天问哪家主机板比较好,哪台烧录器较稳定,或者说CPU时脉越高速度就越快越好,或是说x86的Out-Of-Order Executon是"故障执行" 这一类浑话的讨论区和我说的硬件技术讨论区是一样的).

书籍和讨论区促进知识的流通,造成了大量的软件人才,更何况,学习设计软件只要一台PC就能写出好用的软件,而学习硬件设计,需要的设备更是天价. 更重要的一点,就是学软件的人,充分发挥儒家分享的精神,只要不是在BBS上冒充小妹妹想要骗取大哥哥的同情来帮你写程序作业,只要不是很差劲的乱问一通,通常至少会有热心人士愿意留下一个URL,让我们可以找到参考文件,更具热诚的,如新竹师院BBS站Java版的TAHO先生,还擅长用很多生动的比喻让初学者体会技术的真义. 在这种知识充分流通的环境下,当然产生出非常多的信息从业人员.

每一台PC,上头各种软件的需求是无穷无尽的,每天都有各行各业的人需要各种软件,所以程序设计师的需求有一定的量. 难怪有人说:"写程序的人饿不死,但是也不会发大财)

再来就是台湾软件市场需求所引发的问题.

一般我们把软件分成系统软件(System Software)和应用软件(Application Software). 编译器,组译器,除错器,*作系统,驱动程序,都是属于系统软件的一部分.台湾除了硬件厂商,IC Design House之外,甚少有撰写驱动程序的需求. 前几年Linux被炒的热时,也有许多高手投入*作系统,编译器以及简化标准函式库的研究.而台湾所需求的软件,极大多数是属于应用软件,这些需求的应用软件其中很大比例是和数据库有关系的(其实不只是台湾,其它地方也是约略相同的情形).

所以VB,Delphi和PowerBuilder这类IDE大行其道,因为他们容易上手,可以快速开发数据库应用程序,相关入门书籍很多,会的人更多. 因此符合我们前面所说:"会的人越多,价值就越低"的理论.

但是别忘了,系统软件有部分是偏向应用软件的,比方说开发软件用的JBuilder和Visual Studio;制图用的AutoCAD;一套IC Design用的Xilinx或Altera;做OOA/OOD的Rational Rose和TogetherJ, 笔者习惯称这些软件叫做"软件的软件"(Meta software). 在一般程序设计师眼中,这类软件"理所当然"地认为都是由国外所发展.要发展这类软件有极高的进入门槛,所以国外这类软件公司的获利率很高,该公司的程序设计师可是身价非凡. 要知道,先前在媒体上有报导过,能够让Microsoft买软件来用的公司,只有Rational Rose(当然,不可能只买Rose来用). 如果做IC Design的人没有你的软件就没办法做事,身为一个程序设计师,你会觉得你的身价和地位比做IC Design的人低吗? 如果你做的软件像SoftICE或DriverWorks那样被做硬件的工程师大量地倚赖,你会觉得搞硬件的人比你厉害吗?

问题是,知道该如何设计一套这类软件的人,恐怕才是真正的异数. 而且需要跨领域的专才.要不是许多OpenSource的project(例如:KDeveloper)正在进行,恐怕很少人知道该如何设计一套IDE. 既然会制作这类软件的人在台湾少之又少,那么他们的身价高吗? 很抱歉,台湾地区没有公司发展出足以和国外大厂竞争的开发工具. 举IDE为例,台湾早期有家公司开发出一套名为DBtools的产品勉强可以算的上是这类产品,旗标也曾为它出版过入门手册,可是使用这套软件的人好象...没看过(如果该产品有不错的占有率,请原谅我是井底之蛙),没有市场,公司无法赚钱,即使你是少数能做制作某类型产品的高手,公司最后关门大吉了,您也只能算是"少数能让公司赔钱的程序设计师"罢了.所以我大胆假设, James Golsing或

Anders Hejlsberg如果学李敖一样50年不离开这个小岛,大概早饿死了.

以上的讨论,真正优秀的高手看了之后,或许会产生有时不我予,不得已必须远渡他乡的想法.程序设计师的价值就如同书的价值一般,台湾地区和国外有不同的看法.台湾地区教科书比较便宜,应用的书比较贵.国外教科书比较贵,应用的书比较便宜. 国外重内容,薄薄一本How Debuger Work可以卖44.99美金.而台湾,都是看页数来计价(侯俊杰先生的书有努力在打破这个页数的迷思,也做的蛮成功).有很多原因导致这两种文化之间的差异,但是,市场因素肯定是其中重要的一项.

程序设计师价值低落的原因我们讨论过了,如果您同意笔者的论点,那么不禁疑惑,大家彼此毫不保留地让知识得以流通,技术得以扩散,本意是好的,结果反到造成自己和别人身价的低落,这样我们是不是从此不再和别人分享我们的心得会比较好?
...全文
163 84 打赏 收藏 转发到动态 举报
写回复
用AI写文章
84 条回复
切换为时间正序
请发表友善的回复…
发表回复
yunfengh 2002-07-15
  • 打赏
  • 举报
回复
唉!老兄你怎么这么不幸呀。
yunfengh 2002-07-15
  • 打赏
  • 举报
回复
好长呀。
OSNC_17 2002-05-20
  • 打赏
  • 举报
回复
我在大陆,这里盗版很严重,但我还是要学编程。
我就是要学,你说什么都没有用,因为我以经疯了。
stamf 2002-05-12
  • 打赏
  • 举报
回复
唉.
hhj810705 2002-05-11
  • 打赏
  • 举报
回复
up
chinaway 2002-05-11
  • 打赏
  • 举报
回复
我看过,没必要跟他们学。
prestiny 2002-05-11
  • 打赏
  • 举报
回复
程序员也算是一个群体,却似乎并不是一个真正的社会,什么才算程序员,写了程序吗,不能因为他人写了程序就对他负任何责任吧,既然如此,有必要拿这个称号自尊,自以为是,痛心疾首吗?
baiyongchun 2002-05-11
  • 打赏
  • 举报
回复
我喜欢写软件
lfdjx 2002-05-11
  • 打赏
  • 举报
回复
有意思!
OSNC_17 2002-05-11
  • 打赏
  • 举报
回复
我以后不学软件了!嘻嘻!
RedGuest 2002-05-10
  • 打赏
  • 举报
回复
但是市场决定了这样,我们也没有什么办法

我是多么不想做软件开发啊
那些没有一点技术含量的东西,就只要e文好,就可以搞定n多问题,我不是瞧不起这些人,而是我本人不喜欢做这些事情。

可是,我根本找不到做地层技术的公司,因为我学校不好,也许我自己也确实太水了

我宁愿自己开个小店去卖东西(然后,等有钱了,开个这样的公司,招一批这样的人,去赚钱,哈哈)

我看不到我软件生涯的前途。
Billy_Chen28 2002-05-10
  • 打赏
  • 举报
回复
还是多花点时间在业务上吧
Billy_Chen28 2002-05-10
  • 打赏
  • 举报
回复
唉,中国人啦!唉!
smlstar 2002-05-10
  • 打赏
  • 举报
回复
那我是不是要从头学起,再学数据结构和算法.苦练内功.等我练好了,我的儿子也会些程序了.我觉的还是"拿来主义"好,但是还是要有一定得功底,要不拿来也用不好.用好了可谓市省事省力.(一家之言)
rqcong 2002-05-10
  • 打赏
  • 举报
回复
see
Bellamy 2002-05-10
  • 打赏
  • 举报
回复
SEE!
firetoucher 2002-05-09
  • 打赏
  • 举报
回复
好长
日总是我哥 2002-05-09
  • 打赏
  • 举报
回复
.
colin1022 2002-05-09
  • 打赏
  • 举报
回复
先放着
shockjoy 2002-05-09
  • 打赏
  • 举报
回复
思索中....
加载更多回复(64)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧