Application Developer / Software Engineer

Bank of America - New York, NY3.9

Full-timeEstimated: $140,000 - $210,000 a year
Skills
Job Description:
Responsible for developing, enhancing, modifying and/or maintaining applications in the Global Markets environment. Software developers design, code, test, debug and document programs as well as support activities for the corporate systems architecture. Employees work closely with business partners in defining requirements for system applications. Employees are expected to have in-depth capital markets product knowledge, and manage a high level of risk. Employees typically have in-depth knowledge of development tools and languages. Is clearly recognized as a content expert by peers. Individual contributor role. Typically requires 5-7 years of applicable experience. This job code is only to be used for associates supporting Global Markets.

Overview

Versatile Developer/Front Office

We are hiring an applications programmer to assist a global team of working directly with the Fixed Income Traders and Quantitative Strategists in Global FICC (Fixed Income, Currencies and Commodities). This is a front office IT role with direct interaction with the quant business strategists, front line traders, and trade support as well as the larger IT community that supports the trading desks

The primary languages and technologies we employ are Python, Java, Javascript, OPENFIN, and WPF. Sucessful candidate will be working on multiplatform applications within: Quartz (a platform for rapid financial application development in Python), XASF (a platform for standardized algo development in Java), ATA (a platform for Hadoop, Spark and Cloudera based data workflows in Scala or Java or Python), and OpenFin (a next generation platform for industrialized trading applications). The essential skills give the candidate a foothold in each of these areas and a great chance to grow as well as lead. We do not have business analysts and as such the candidate will need to be able to gather complex requirements directly from the users and support, then implement them independently, and automatically regression test.

Responsibilities

  • Work with the trading desk, support and quants to analyse requirements, maximize personal interactions in a global world.
  • Rapidly turn requirements into high quality applications which are robust enough for a trading desk, and minimize risk.
  • Take responsibility for code personally by understanding the application, while staying focused on development of new code
  • Be prepared to work with minimal supervision and without detailed specifications
  • Contribute to the larger IT community. We operate an “open source” policy and everybody can see everybody else’s code.
  • Be interested in finance and motivated to continually learn on the job
Requirements

We are looking for an experienced programmer with a computer science or related engineering degree. The candidate must also possess excellent business knowledge, ideally in fixed income or index based products, and must have been exposed to working in a demanding user environment such as a trading floor. Our team relies on technical excellence, independent action based leadership, and well defined plans.

Essential

  • 5 years of professional programming experience
  • Exposure to and major development on distributed full stack platforms: UI, View Models, Data Apis, Object Models, Business Logic, Messaging Middleware, Multithreaded servers, Single Threaded Reactors that handle events a synchronously. Streaming Data Processors, Object Databases, Relational Databases, Map Reduce, Columnar Databases. Techniques and patterns are most important.
  • Candidate must have hands on Python, Java, Javascript work experience. Scala or C# are ok substitutes for Java.
  • Understand the agile development process, what is good about it, and apply accordingly.
  • Must be able to communicate effectively with IT colleagues and our quant/business partners
  • Must plan and define work through brief but exact descriptions in order to clearly define intents and commitments
  • Experience with financial products, particularly in at least one area of fixed income: Credit, Bonds, Mortgages, EM or Rates
Desirable

  • 7+ years of professional programming experience
  • Python 3.7, pandas, KDB, AMPS, MQ
  • Java or C#, with object oriented and concurrent programming skills
  • React / Webpack, Websockets, sockjs, Node.js, NPM
  • Win32, OpenFin, Chromium, Electron, WPF
  • Hadoop, Spark, Impala, Hive, Oozie, Nifi, Cloudera
  • Restful techniques, GRPC, protobuf
  • Large scale stress testing and automated testing of advanced features
  • Large independent achievements within Front office technology teams.
  • Experience working with Quantitative partners on integration of models and complex workflows into productions systems.
  • Credit Derivatives, Options, ETF
Shift:
1st shift (United States of America)

Hours Per Week:
40