Application Developer / Software Engineer
Job ID : 23194
Location : New York, NY
Company Name : Bank of America
Job Type : Full-Time, contract
Industry : Information Technology
Salary : $42014 - $107323 per year
No. of Positions : 1
Required Skills : Java or C, with object oriented and concurrent programming.
Benefits : None of These
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 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.
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