我正在开发一个交易和风险管理应用程序,虽然我有C#背景,但我被要求处理SSIS软件包。现在我可以忍受了。痛苦之处在于,人们过于强调商业理解。交易(准确地说,是能源交易)是一个巨大的领域,理解它的每一点都是势不可挡的。但是在过去的两个月里,我一直致力于理解商业术语--市场标记,风险度量,头寸,PnL,希腊人,仪器,图书结构.每一个小细节(你都明白重点)。现在IMHO,这是一个BA的工作。当然,对于开发人员来说,理解业务是非常重要的,但是您在哪里划定了界限呢?
当我和我的经理谈论这件事时,他几乎嘲笑我说,任何人都可以在一周内学会一项技术。更难的是生意。我的长期愿望是留在技术方面,可能成为一名架构师(如果可能的话)。如果我想把这么多精力放在商务上,我就会攻读MBA!
我想知道我在理解商业重要性方面是错了还是太天真了,还是我的沮丧是正当的呢?
发布于 2011-02-24 05:54:47
程序员的工作是将自然语言需求转化为机器语言实现。如果你在一边或另一边流利的话,你就不能有效地做到这一点。除非您正在编写编译器或版本控制软件,否则几乎每个编程工作都需要大量的非编程知识。
发布于 2011-02-24 07:25:36
有句话来自我们大学的计算机科学系:
如果你想为地质学家构建软件,你必须首先了解地质。如果你想为物理学家建造软件,你必须首先涉足物理。如果你想了解商业,那么你首先必须学会谈生意。
我经常听到这里的人说软件开发是一个创造性的领域。我相信这在一定程度上是正确的。它涉及创造力,因为一个人必须能够看到外面的盒子,以解决一系列的问题。
但这并不意味着你可以坐下来,然后创造性地构建你想要的任何东西。这不是艺术课,它是工程,你的客户和利益相关者会期望你创造一些东西来解决他们的问题,而不是仅仅是“酷”的东西。
为了解决一个问题,你必须首先了解问题。你需要进入你的用户的头脑,了解他们的想法。
不管你是在为金融、营销、销售、地质学、物理或者软件支持的任何领域开发软件,你都必须成为该领域的一部分。
正是因为这个原因,除了我的计算机科学学位,我还获得了商业学位;它对我交流潜在的解决方案和提供成功产品的能力产生了巨大的影响。
如果您想了解更多关于我在雇用商业软件工程师时会寻找什么的知识,请查看我为回答另一个问题而写的这个商业工程师招聘广告样本。
发布于 2011-02-24 07:34:46
作为一个低级别的程序员,您可能在没有太多领域知识或客户联系的情况下生存下来,但是软件架构师是非常熟悉该领域并积极与所有涉众进行交流的人。
https://softwareengineering.stackexchange.com/questions/51268
复制相似问题