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

   2023-02-09 学习力0
核心提示:转帖自:http://www.tommstudio.com/ViewNews.aspx?ID=187http://hi.baidu.com/rarnu/blog/本文翻译自《美国优秀经理观念大全修订本》我想现在没有什么比做一个软件工程师更能赚钱的了,当然了,明星除外。在美国,一个优秀的软件工程师,就算在一个平凡的岗

转帖自:
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

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Delphi中的消息处理机制 delphi 方法
    每一个VCL都有一内在的消息处理机制,其基本点就是构件类接收到某些消息并把它们发送给适当的处理方法,如果没有特定的处理方法,则调用缺省的消息处理句柄。    其中mainwndproc是定义在Twincontrol类中的一个静态方法,不能被重载(Override)。它不直接处
    02-09
  • Delphi XE6 通过JavaScript API调用百度地图
    Delphi XE6 通过JavaScript API调用百度地图
    参考昨天的内容,有朋友还是问如何调用百度地图,也是,谁让咱都在国内呢,没办法,你懂的。 首先去申请个Key,然后看一下百度JavaScript的第一个例子:http://developer.baidu.com/map/jsdemo.htm下一步,就是把例子中的代码,移动TWebBrower中。 unit Unit
    02-09
  • Delphi编译/链接过程 delphi编程案例
    Delphi编译/链接过程 delphi编程案例
    下面展示了Delphi是怎样编译源文件,并且把它们链接起来,最终形成可执行文件。当Delphi编译项目(Project)时,将编译项目源文件、窗体单元和其他相关单元,在这个过程中将会发生好几件事情:首先,Object Pascal编译器把项目单元编译为二进制对象文件,然后
    02-09
  • Delphi CompilerVersion Constant / Compiler C
    http://delphi.wikia.com/wiki/CompilerVersion_Constant The CompilerVersion constant identifies the internal version number of the Delphi compiler.It is defined in the System unit and may be referenced either in code just as any other consta
    02-09
  • Delphi revelations #1 – kbmMW Smart client
    Delphi 启示 #1 – kbmMW Smart client on NextGen (Android) – 作用域问题以更高级的方式使用kbmMW smart client,在Android设备上,我遇到了问题。通过继承TInvokeableVariantType,kbmMW smart client可以使用Delphi支持的特殊类型的自定义Variant,从而可
    02-09
  • Delphi 调用DLL外部函数时的指针参数
    某项目需要调用设备厂家提供的DLL的函数,厂家给了一个VB的例子,有个参数是ByRef pBuffer As Single。于是在Delphi中用buffer:array of single代替:function func(buffer:array of single;count:integer):integer;far;stdcall;external 'func.dll';调用后bu
    02-09
  • 《zw版·Halcon-delphi系列原创教程》 Halcon分
    《zw版·Halcon-delphi系列原创教程》 Halcon分类函数012,polygon,多边形为方便阅读,在不影响说明的前提下,笔者对函数进行了简化::: 用符号“**”,替换:“procedure”:: 用大写字母“X”,替换:“IHUntypedObjectX”:: 省略了字符:“const”、“OleVa
    02-09
  • 最简单的delphi启动画面(转)
    首先做一窗体,然后将BorderStyle的属性设为bsnone,放image控件,align设为alclient 然后将主程序的修改为 uses Windows, Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; {$ R *.res} begin Application.Initialize; Form2:=TForm2.Cre
    02-09
  • Delphi备忘三:TCollection的使用,用Stream保
     代码unit ufrmGetFunctionDefine;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,TypInfo,  Dialogs,ufrmStockBaseCalc, StdCtrls, ComCtrls,uQEFuncManager,uWnDataSet,uDataService;type  T
    02-09
  • Delphi Dcp 和BPL的解释
    dcp = delphi compiled package,是 package 编译时跟 bpl 一起产生出来的,记录着 package 中公开的 class、procedure、function、variable、const.... 等等的名称和相对位址。package英文翻译过来就是“包”。如果 某个控件包 A 引用了 控件包 B,当 控件包
    02-09
点击排行