我想现在没有什么比做一个软件工程师更能赚钱的了,当然了,明星除外。在美国,一个优秀的软件工程师,就算在一个平凡的岗位上,也能得到年薪50万(美元)以上的待遇。这绝对不是开玩笑,在北美曾有统计表明,一年内发放给软件工程师的工资以及各种福利,占去了全美净收入的2.4%,这是一个很大的数字。
我是一个Java软件工程师,但是在这里我不想说Java,而是想说说Delphi,这个曾一度被遗弃的孩子。
首先,我痛恨Borland的决策层,他们几乎把一个拥有鲜活生命力的产品断送了。几年前我就预言,BDE不会活得太久,我的预言成真了。虽然那是当时为了维护Java才说的,但也不是毫无跟据。我喜欢Java,喜欢使用反射机制来方便的调用一个未知的成员,但是Delphi不可以如此做,就算是后来有了RTTI机制,我一样不喜欢,它的限制太大了,一点都不自由。
但是反过来说,我又很喜欢Delphi,很多情况下,我无法用Java实现一些功能,但是我的同事可以用Delphi补上一些代码,使程序功能得到增强,这是让我很欢喜的一件事。不论是我的上级或下级,都有很多人说Java与Delphi的相容性很好,可以方便的合作开发。但是这一点并不能让我不痛恨 Borland,因为他们明明可以将更多的精力花在加强语言上,但是他们却做了很多无用的事。而且也没有收到好的成效。
在1998年的时候,Delphi是一个宠儿,人人都喜欢它并且使
完全免费的恶意软件清理工具,可以清理大多数恶意软件!用它。Delphi以其独特的魅力(***的特点是快速的可视化开发)吸引了大批原本使用VC的软件工程师。但是好景不长,自从Delphi开始收费后(而且还非常昂贵)它的占有率立刻下降了30%。这也许是一个企业要生存所必须的,我没有指望Delphi会永远免费。但是过高的价格是很多人放弃它的主要原因之一。这个情况在2004年到达了顶峰,数以百计的企业给员工下了禁令,禁止使用Delphi。
到了2007年,Borland已退出历史舞台,取而代之的CodeGear,又将Delphi发展到一个新的高度。或许有人说RAD Studio2007是匆忙之作,但是这至少让我们看到了一点,那就是Delphi还在进步,也让很多软件工程师找回了对Delphi的信心。至少在北美,已经不再是Java和VC的天下了。
话说到此,我想说一下Delphi软件工程师如何才能赚钱。在我退休以前,我曾经几次想改变自己的发展方向,虽然到现在为止,我都承认Java比Delphi优秀,特别是在移动应用方面,但是我还是想让自己成为一个Delphi程序员。就算是为了它那极为高速的开发,极为容易的赚钱方式,我想我选择它是没有错的。我看到过很多人,程序写得还算不错,但是他们赚不到钱,原因只有一个,就是他们没有被公司录取。
在被录取的员工里,我只说我看到的,Delphi程序员的报酬是***的,我不怕说出实话,我身为经理,但是我的报酬甚至不如我的下属。原因仅仅是我只会 Java,不会Delphi。这些话也许听起来是违心的,其实我一直觉得Java优越于Delphi不知几倍。但是作为一个评测者,我深知公正的重要性。
Delphi软件工程师在公司里是相当重要的,但是人数是最少的。一个优秀的Delphi软件工程师一天的工作可以抵得上一个5人Java小团队一星期的工作。是不是觉得不可思议?这是事实。而且Delphi还是百搭,我们常常用它来弥补其他语言的不足(虽然它自己也有很多不足)。因此,我们对Delphi人才的招收是非常严格的。
就我看来,一个合格的Delphi软件工程师,他必然是有着非常丰富的其他语言的开发经验,有着非常强烈的研究欲望,也有着一个较大的研究圈子,这样能方便技术上的交流。很多时候,与公司内部的人进行交流是一个误区。相处越久的两个人,越是了解彼此,越是清楚对方的水平,也就越不愿意多与对方交流。反而倒是MSN上的很多网友,通常能给出一个灵感。
作为项目经理,我希望有更多有才华的人进入我的部门,参与到项目的开发中来。公司曾经尝试过招入一批Delphi软件工程师,但是收益不佳,召来的员工经常会辞职或是被公司辞退,能真正长久做开发的非常之少。总结而言,原因有三个。
其一就是使用Delphi的人不多,有些软件工程师原本并非主攻Delphi,而是凭借自己对其他语言的熟悉,快速上手Delphi。但是Delphi是世界上最容易上手,也是最难精通的语言。仅凭借熟悉是完全不够的,然而他们不愿意对Delphi做出深入的研究。唯独不知,Delphi的世界与其他语言的距离还是比较远的,不可能一步就跨过来。
其二是有些Delphi软件工程师太过自傲,不可否认的,由于使用Delphi的软件工程师不多,能写出优秀软件的更是少之又少。他们的自傲是完全有资格的。但是身在一个企业,就必须服从企业的管理,一个自由性太强的人,是无法做好他们应做的事的。也许个人能力非常强,甚至有能力独立完成一个大型软件,但是这并不代表他们在团队里会有出色的表现。
其三就是学习中的软件工程师。每个人都会有一个从入门到精通的过程,这个过程必须在脱离企业的情况下完成。Delphi是一个完全被设计用来完全快速开发的工具,它不是用来学习的。通常情况下,一个Delphi软件的开发周期不会超过半年。如果软件工程师处处需要资料和他人的提点。一个必然的结果就是开发效率低下,情况严重时可能影响整个团队的进度。除非是科研性质的企业,控件厂商等,需要大量的研究,学习。一般企业使用Delphi以完成任务为主,使用大量的控件去快速的完成任务。以***的效率获得直接的经济利益。
排除这三条,剩下的软件工程师是我喜欢的,他们一定能在工作岗位上顺利,出色的工作,并得到很高的待遇。我要求软件工程师有相当的能力,能够独立完成一个项目。但是我更需要优秀的团队合作精神与开发经验。很多时候,经验决定一切。你甚至可以完全说不出编写一段代码的理由,但是你必须知道如何写。这听起来的确有点荒谬,但是在工作中,这样的事时常发生。
在有些公司,领导会要求Delphi软件工程师掌握一些其他的编程语言,比较理想的是同时掌握Delphi,C++,汇编和Java。C#作为一门新流行起来的语言,也应该适当的了解。前文已提到,Delphi自身也有一些或大或小的问题,有的时候会需要其他语言来弥补,仅仅是懂得Delphi完全不够。就像我仅仅懂得Java,那也是不够的,同样的道理。
完.
文章链接:http://blog.sina.com.cn/s/blog_4b3906920100co3c.html
【编辑推荐】