金融市场开发商困境

时间:2010-05-31 14:42:08

标签: .net database programming-languages financial

在不久的将来,我计划作为软件开发人员为金融行业的公司工作。我现在有几个选择:

  1. 学习并专注于.NET,因为(据推测)它广泛应用于金融行业。

  2. 研究编程概念,学习算法,学习一点C / C ++,C#,JAVA,Objective-C,SQL,ORACLE,COBOL - 换句话说,学习基本原理将所有编程语言捆绑在一起,但不要过于深入任何特定语言。

  3. 我的大学教授告诉我,作为程序员,大多数时候,你不会编写任何代码,而是在你编写之前维护现有代码。这是否意味着我不必掌握任何特定的编程语言,因此只要我有一般的软件开发概念就足够了?

    如果您或您认识的人曾作为软件开发人员在金融行业工作过,请您分享经验,日常工作如何?在我还年轻的时候还在上大学时,我现在应该学习什么呢?我是否必须彻底了解市场和当前经济?那些Oracle或SQL数据库 - 作为程序员,我是否需要了解它们?谢谢,如果你还有其他任何补充,我在这里没有提到,那么请这样做!

    再次感谢大家。你的回答对我有帮助。我甚至不知道选择谁作为正确的答案,因为这里的每个人都提供了非常好的反馈。

4 个答案:

答案 0 :(得分:9)

我在金融行业工作了好几年。我和一位数学家一起工作,他将开发买卖金融工具的理论和策略,我会把他的理论用于软件测试。但是,我要建议的不仅仅局限于金融业。以下是我的意见。我从事软件开发大约22年,并且几乎完成了与软件相关的所有工作。

1)如果您对商业/金融软件开发人员的职业感兴趣,我不会花费两秒钟来处理C / C ++。虽然这些语言仍在使用,但学习.NET(或Java)会更好。我为一家价值25亿美元的太阳能制造商工作,我们95%的.NET / C#。学习OO原则是关键,并学习软件开发最佳实践。

2)学习可靠的数据库基础知识。我不确定你是学习Oracle还是SQL Server,但要学习其中一个。理解数据库规范化,外键,参照完整性,查询优化等。

3)熟悉版本控制系统,如TFS。您使用的大多数代码都将处于某种类型的源代码控制中。学习分支/合并的输入/输出。这非常重要。

4)仅仅在技术上做得还不够。如果您对正在开发的行业有充分的了解,那么您将获得巨大的优势。例如,当我开发财务软件时,我拥有MBA,并且拥有金融专业。这给了我巨大的推动力。如果您对自己所处的业务有充分的了解,那么对您的公司来说,您就更有价值。

5)不要停止学习。不要在下班后回家看电视,而是拿一本关于LINQ(.NET)或SQL Server或OO设计的书或......

答案 1 :(得分:3)

我现在在金融行业工作了3年多。

我的日常生活从去厨房的咖啡因开始。我相信其他行业也是如此。

但是,我离题了......

根据项目的当前状态,大约20-40%的时间将由编码组成。有大量的维护工作要做,或者努力为现有代码添加更多功能。其他时间用于会议,估计,规格和员工培训。

我通常致力于我们正在实施的新系统的架构,但是当更改失败时,我们会接受维护工作。

如果你打算在金融市场工作,一些数学会帮助你。有些工作只需要能够了解复利率,而其他工作,例如Quant jobs可能需要更深入的了解。

如果您擅长,还有第三种选择可以付出相当的代价。那是Brownfield development。如果您可以自学如何将新系统与常见的遗留系统(或遗留系统)相结合,那么您可能会受到热烈的需求。

至于你年轻时还在大学时要学什么,关于这个问题有很多好问题,答案比我能提供的要好。然而,值得注意的是,你在大学里所教的内容只是你需要真正成功的一小部分。此外,按照工作岗位了解市场的变化情况并尝试预测。如果你在大学期间可以与公司一起进行实习或者一些假日演出,那么它也会给你带来很大的推动力。

答案 2 :(得分:1)

从选项2开始。获得广泛的知识和理解。但是不要停止使用c,c ++,c#,java,object-c,sql,oracle,cobol ......做一些其他的事情。为应用商店创建一个应用程序,并了解如何推广它,如何与用户打交道,了解用户想要/需要什么。学习如何做一些图形工作,了解可用性等等。

有多少.NET开发人员正在寻找金融行业(或任何其他行业)的工作?你将如何区分自己?

我强烈推荐Dan Pink的书“A Whole New Mind

答案 3 :(得分:1)

除了你提出的其他好建议之外,我建议你学习:

  1. 金融数学;
  2. 适合的数值方法 实施财务     代码中的数学;
  3. Matlab或R或Mathematica或Maple 或类似的。
  4. 特别是,

    1和2将帮助您在未来证明您的编程语言中的时尚和时尚技能。

    最后,不要假设技术X用于目标领域,找出使用的技术。