Bank of America is one of the world's largest financial institutions, serving individual consumers, small- and middle-market businesses and large corporations with a full range of banking, investing, asset management and other financial and risk management products and services. The company provides unmatched convenience in the United States, serving approximately 53 million consumer and small business relationships with 6,000 retail banking offices, more than 18,000 ATMs and award-winning online banking with more than 29 million active users.
Bank of America is among the world's leading wealth management companies and is a global leader in corporate and investment banking and trading across a broad range of asset classes serving corporations, governments, institutions and individuals around the world. Bank of America offers industry-leading support to more than 4 million small business owners through a suite of innovative, easy-to-use online products and services. The company serves clients in more than 150 countries. Bank of America Corporation stock (NYSE: BAC) is a component of the Dow Jones Industrial Average and is listed on the New York Stock Exchange.
The Global Currencies group is a growing ambitious organisation, which is involved in the marketing and trading of a full range of FX instruments. The IT group that supports this multi-region business is part of a global team based in Singapore, London and the U.S. This role is based in London, working in the Institutional eFX technology team.
We are seeking an experienced eFX C++ Developer with extensive experience in front office FX e-trading systems development. The candidate will have exceptional analytical, design and coding skills in C++, experience developing distributed systems and low latency automated algo pricing, execution and risk management systems, FIX and ECN connectivity services, Order Management and STP, to work on projects to enhance and extend the bank’s global institutional electronic FX front office e-trading platform.
- Exceptional development skills in C++ on Linux/UNIX.
- Solid OO design skills with an emphasis on distributed low latency, high availability systems, including trade & order lifecycle management, STP, pricing and risk management.
- Experience working in a front office e-trading platform development team for an investment bank in the FX domain.
- Strong analytical skills and enjoys solving complicated technical problems.
- Must possess a solid degree in Computer Science, Physics, Engineering, Mathematics or relevant analytical degree.
- Advanced multi-threading skills
- Candidate must be able to demonstrate an understanding of threading. Must have applied these skills in a high performance environment
- Candidate must know the pitfalls related to threading
- Demonstrate practical solution to real problems. Textbook knowledge will not be sufficient
- Candidates must have actively used design patterns in past implementations and demonstrate a strong understanding on design patterns of why and where a pattern should be used.
- Strong understanding of Messaging Middleware concepts, usage and application.
- Experience with distributed architecture (caching, topologies, etc) and able to demonstrate strong understanding of latency, concurrency, reconciliation etc.
- Experience in TCP/IP networking and sockets programming.
- Database skills including schema design, reading, writing and tuning SQL.
- Working knowledge of XML and other data representation formats.
- Candidate must be a strong team player with excellent communication skills
- Solid knowledge of contemporary development processes, build environments and testing tools.
- Experience in 3rd line production support.
- Comfortable in communicating with business users
- Java development skills.
- Experience working with global development teams.
- Knowledge of FIX protocol
Bank of America Corporation is a bank holding company. Through its banking subsidiaries (the Banks) and various non-banking subsidiaries...