转帖自:
http://www.tommstudio.com/ViewNews.aspx?ID=187
http://hi.baidu.com/rarnu/blog/

本文翻译自《美国优秀经理观念大全修订本》

我想现在没有什么比做一个软件工程师更能赚钱的了,当然了,明星除外。在美国,一个优秀的软件工程师,就算在一个平凡的岗位上,也能得到年薪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软件工程师掌握一些其他的编程语言,比较理想的是同时掌握Delphi,C++,汇编和Java(理想情况)。C#作为一门新流行起来的语言,也应该适当的了解。前文已提到,Delphi自身也有一些或大或小的问题,有的时候会需要其他语言来弥补,仅仅是懂得Delphi完全不够。就像我仅仅懂得Java,那也是不够的,同样的道理。

译注:
1. BDE不会活得太久,原文:BDE will not be in the world much longer. 直译觉得读起来不流畅。
2. 快速的可视化开发,原文:rapid and visual development,我曾一度想译为RAD,但是觉得不妥。
3. 极为容易的赚钱方式,在美国,软件的价格按代码量计算,平均5行有效代码一美元。
4. 小团队,原文中无“小”字,我觉得5人团队是非常小的,因此加上“小”字
5. 百搭,原文:Patch-all
6.Delphi是世界上最容易上手,也是最难精通的语言,原文:Delphi is the easiest to learn in the world, also is the language which most difficult to be mastered in. 这是我常常说的一句话,出处即源于此。
7.不可能一步就跨过来,原文:can not be reached by a foot.
8.从入门到精通,原文:from basic to be skilled in

博主的话:

这个世界的发展是多变的,三十年河东,三十年河西,任何事物都不可能永远占据霸主地位,希望广大Delphier,不要轻言放弃,就像作者所言,一专多能,继续研究Delphi,在熟悉几门其它语言,是非常有用的。

http://www.cnblogs.com/wxy8/archive/2011/01/29/1947350.html#2151602

Delphi程序员如何找到高薪的工作?(赚不到钱,原因只有一个,就是他们没有被公司录取。Delphi必须要独自进行深入研究,才能精通,同时也不能自由性太强)的更多相关文章

  1. 一名Delphi程序员的开发习惯

    一名Delphi程序员的开发习惯 有关开发习惯的一些想法,如鲠在喉,不吐不快.究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些 建议,或者参考(希望不是误 ...

  2. 【转】优秀的Java程序员必须了解GC的工作原理

    一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只有全面提升内存的管理效率 ,才能提高整个应 ...

  3. 优秀Java程序员必须了解的GC工作原理

    一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只有全面提升内存的管理效率 ,才能提高整个应 ...

  4. 月薪3万的程序员告诉你:这样工作才能拿高薪(转 IT之家)

    习惯即刻回报 他不懂得只有春天播种,秋天才会有收获.刚刚付出一点点,甚至还没有付出,就想要得到回报.技术刚刚掌握,能一边百度一边干活了就觉得该拿到多少多少钱了.找工作先想着多少多少钱,入职了没干几个月 ...

  5. PHP程序员可以这样准备找工作

    你好,是我琉忆.PHP程序员面试笔试图书系列作者. 今天就跟大家聊聊作为一个PHP程序员,每年的跳槽季都应该怎么准备一番. 其实普遍的跳槽季总的就有2个. 分别是新年后的3-4月,还有9-10月份. ...

  6. java程序员在交接别人的工作时如何保证顺利交接?

    序言 各位好啊,我是会编程的蜗牛,作为java开发者,尤其是在职场混迹了多年的老手,肯定会遇到同事离职的情况,或者自己跳槽的情况,这些都免不了需要做好交接工作,不管是别人交接给我们,还是我们交接给别人 ...

  7. 优秀Java程序员必须了解的GC工作原理(转)

    一个优秀的Java程序员必须了解GC(Garbage Collection 垃圾收集)的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系 ...

  8. 【程序人生】程序员真会玩,工作996,生病ICU

    昨天Github上一个项目彻底爆红了网络,短短一天star数突破一万,Issues已破1800,大家纷纷说出有关企业的不合理加班行为,句句吐露程序员的心声,掀起了一波抵制加班潮,抵制996. 该项目里 ...

  9. 程序员,不要让自己做兔子(updated) 网上最近流传的一个笑话,关于兔子,狼还有一只老虎的,故事 我就是想打你了,还需要什么理由吗?谁让你是兔子 项目经理是这样当的

    程序员,不要让自己做兔子(updated) 前段时间和一个朋友聊天,酒席间向我抱怨他那段时间的郁闷:项目经理从客户那里拿来一个需求,实际上就是一个ppt描述,我这个朋友拿过来看后刚开始不觉得什么,一个 ...

随机推荐

  1. echarts同一页面四个图表切换的js数据交互

    需求:点击tab页,切换四个不同的图表,ajax向后台请求数据,展示在四个不同的图表中. 其余的就不多说,直接上js代码了 $(function() { $("#heart").o ...

  2. Hypervisor scheduler

    Techniques for configuring a hypervisor scheduler to make use of cache topology of processors and ph ...

  3. Gamma correction 伽马校准及 matlab 实现

    matlab 内置实现:imadjust Gamma Correction gamma correction formula : .^(gamma) or .^(1/gamma)? 用以调整图像光照强 ...

  4. python opencv3 —— 常用工具、辅助函数、绘图函数(图像添加文本、矩形等几何形状)

    1. cv2.hconcat().cv2.vconcat() 将从摄像头捕获的多个图像帧,横向(cv2.hconcat)或纵向(cv2.vconcat)拼接到一起,使得可以在一个 window 中进行 ...

  5. 【AtCoder ABC 075 D】Axis-Parallel Rectangle

    [链接] 我是链接,点我呀:) [题意] 让你找到一个各边和坐标轴平行的矩形.使得这个矩形包含至少K个点. 且这个矩形的面积最小. [题解] 把所有的"关键点""都找出来 ...

  6. [TypeScript] Using Interfaces to Describe Types in TypeScript

    It’s easy to pass the wrong value to a function. Typescript interfaces are great because they catch ...

  7. swift项目第一天:环境部署

    一:项目部署 项目部署 一.开源中国(OSChina) 网站地址:https://git.oschina.net/ 开源中国社区成立于2008年8月,其目的是为中国的IT技术人员提供一个全面的.快捷更 ...

  8. 【27.91%】【codeforces 734E】Anton and Tree

    time limit per test3 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  9. MinGW和MSYS项目是在一起的(翻译官网)

    翻译MinGW官网的首页,首页描述了MinGW和MSYS的基本情况. Home of the MinGW and MSYS Projects(我才知道,MinGW和MSYS项目是在一起的 -_-!) ...

  10. 解决Eclipse 启动后总是Building WorkSpace(sleeping)

    打开eclipse后eclipse总是在Building WorkSpace(sleeping),我的解决方案是,Project -> Building AutoMatically关闭就好了,以 ...