华尔街最需要的编程语言有哪些

作者:Dan Butcher、Beecher Tuttle

投资银行就是一家科技公司,高盛的Lloyd Blankfein和摩根大通的Marianne Lake如是说。这两家银行拥有成千上万名技术人员,并且IT部门的招聘优先于其他部门。整条华尔街都需要具备强大编程语言知识的IT专家。

我们采访了银行业技术岗位猎头,让他们说说哪些编程语言在银行业的需求量最大。来看看他们是怎么说的。

Java

多年来Java都是华尔街最追捧的编程语言。

“从低延时下单和订单管理系统到公司内部的风险和估值平台都需要Java开发员,” Selby Jennings猎头公司北美地区金融技术招聘组负责人Jared Butler说。Java还适合用来做数据模拟和建模,Robert Half Technology公司高级执行总监John Reed说。

同样,诸如Java和Javascript等语言具备使用方便、加载迅速、和网站安全的重要特性,因此能用于前端网页设计,在往后的发展中十分关键,Jay Gaines & Company公司副总裁Gina Schiller说。

Java如此火爆的原因有两方面:对这项技能的需求很大,但缺乏合格的技术人员。去年,我们的简历数据库显示对这项技能有要求的岗位中,每个岗位仅能匹配7名候选人,在所有主要的编程语言里它的比例最低。

Reed说比起求职市场上其他部门,Java开发员能够提出高达10%的涨薪要求。

Python

自从被美银的Quartz项目和摩根大通的Athena系统采用以来,Python在银行圈已有很长的历史。根据Schiller,Python很适合用来做分析工具和量化模型—是投资银行和对冲基金交易策略的重要工具。

此外,Butler说Python因为比起传统语言使用更简单、编程更迅速而被越来越多的人所了解,他还给出了很多理由说明为什么Python能够替代上文提到的语言得到大家的喜爱,特别是在投行圈。

“首先,程序员可以用10行Python码就能做20行C++才能做的事,而且出错率更低,”他说。“考虑到对法规/最佳实践办法的重视,这点来看使用它就很有吸引力。”

另外,随着技术人员越发希望增加自己在银行业务方面的曝光度,Python也变得更受欢迎。Butler说,它让程序员能在项目上和量化分析师、研究员和分析师更好地协作。

在招聘Python开发员方面,领跑的依旧是美银/美林和摩根大通。“美银和摩根大通的交易系统大部分是用Python来建的,两家公司在华尔街上招聘很活跃,总是Python开发员的目标求职公司,但其他银行和金融公司,特别是金融科技公司,也开始在越来越多地招聘懂Python编程的程序员了,” Pencom Systems公司高级技术招聘官Nick Vermeire说。

C++/C#

“C++继续成为高量/高频交易的主导编程语言,原因很简单,它是建立强优化回溯测试器和下单系统用以处理大量数据、效率最高的工具,” Butler说。

Schiller表示同意,补充说C++也经常用来开发用于很多银行老系统里的应用程序。“由于换新技术的成本很高,对那些能够用跟老系统兼容的语言来编程的人将持续会有较大需求,”她说。

和Java一样,C#可以用于各类项目,特别是数据模拟和建模。在我们数据库中,它的职位空缺和候选人比例第二低,让合格的求职者在薪酬方面有较大的议价空间。Reed说C#开发员比起会其他语言技术的同事能够要求9%到10%的涨薪。SQL是让人能具备较大薪酬议价能力的第三种语言,他说。

“C#仍在使用,但主要仅用于量化分析和低延时方面,” Tigerspike公司技术和战略副总裁Christian Glover Wilson说。

其他

其他比较热门的语言包括SQL、PHP和ETL。

“我们发现,对于具备从较老的ETL技术,比如Informatica,到更现代的大数据相关工具,比如Hadoop、HBase、HDFS、MapReduce、Pig、Hive、Impala、Flume和Cloud等一系列技能的人才会有经理到执行董事级别的战略性招聘动作,” Butler说。“ETL技术对于成功的数据仓储以及投资银行全球交易部门给金融数据瘦身依旧很重要。”

另一方面,对微软Windows Presentation Foundation(WPF)的需求在减少,但对HTML5的需求在上升,另外还有Hadoop、Cassandra和Scala。

“对大数据和数据处理技术大量需求,比如Hadoop、Cassandra和Scala,而且我们发现越来越多的银行也在采用,” Vermeire说。“C++和C#是主要的开发语言,但对前端微软开发程序WPF的需求在减少,同时对HTML5技能的需求在增加。”

Vermeire对此表示赞成。

“我们还发现对大数据技术的需求有激增,因为各家公司日常处理海量数据,而且这些数据在不断增加,”他说。“在Java和Python这样的核心编程数据以外,这些常常作为补充技术也有需求。需求量最大的大数据技术有Cassandra、Cassandra、Spark和Hadoop。”