Core Java Software Engineer III - Fixed Income Technology
Job Description
Bank of America eRates technology group is responsible for designing and supporting a large high performance real-time trading platform. The e-Trading platform supports marketdata, trading, orders, and real-time algos across multiple business lines including Rates, MBS, and Emerging Markets. Our platform connects to 40+ exchanges, serves over 2000+ clients internally and externally. As an E-Trading software developer, you'll have an opportunity to work closely with technology-focused engineers, quantitative analysts, and traders to modernize and build upon an existing trading platform using a mixture of existing and new technology frameworks.
The key initiatives funded for the next few years include Platform modernization, Global Markets growth, connectivity to new trading venues, Central Risk Book (algos to internalize trading flow), and Stability. We are looking forward to growing and transitioning our existing trading system to a next generation system.
Responsible for designing and developing complex requirements to accomplish business goals. Ensures that software is developed to meet functional, non-functional, and compliance requirements. Ensures solutions are well designed with maintainability/ease of integration and testing built-in from the outset. Possess strong proficiency in development and testing practices common to the industry, and have extensive experience of using design and architectural patterns. At this level, specializations start to form in either Architecture, Test Engineering or DevOp. Contributes to story refinement/defining requirements. Participates and guides team in estimating work necessary to realize a story/requirement through the delivery lifecycle. Performs spike/proof of concept as necessary to mitigate risk or implement new ideas. Codes solutions and unit tests to deliver a requirement/story per the defined acceptance criteria and compliance requirements. Utilizes multiple architectural components (across data, application, business) in design and development of client requirements. Assists team with resolving technical complexities involved in realizing story work. Designs/develops/modifies architecture components, application interfaces, and solution enablers while ensuring principal architecture integrity is maintained. Designs/develops/maintains automated test suites (integration, regression, performance). Sets up and develops a continuous integration/continuous delivery pipeline. Automates manual release activities. Mentors other Software Engineers and coaches team on CI-CD practices and automating tool stack. Individual contributor.
Key Role Requirements
- Clear articulate communication skills - Ability to communicate ideas and designs. We collaborate often and look for developers that are able to break problems down analytically and explain the pros/cons of why and alternatives.
- Ability to work in a team-oriented setting - we offer a Hybrid working style - remote and in-office flexibility.
- Core Java 8 or higher programming language experience is a must-have with demonstrated ability to design, develop, deploy software.
- Experienced with agile and modern software development/DevOps practices. Ability to describe previous projects they've participated in using iterative development, continuous deployment, CI/CD, automated testing and why those disciplines are useful and important.
- Eagerness to design extensible modules and ensure that code is cleanly written, testable and maintainable by others
- Developing frameworks and core services to enable real-time order execution, auto-quoting. Promoting disciplines and principles to standardize and re-use.
- Proven experience with electronic trading systems design and markets (Equities, FX, Fixed Income), preferably FI (Treasuries, Government bonds, Swaps, Futures)
- Experience refactoring existing code and working on performance or design issues
- Experience migrating projects to a CI/CD automated build and testing approach.
- Strong experience with real-time trading system design principles
- message-driven architecture
- low latency performance and scaling
- multithreaded models
- service oriented architecture
- object oriented design
- enterprise patterns that separate functionality from implementations
Required Skills:
- Linux, Core Java, Spring Framework, Concurrent scalable development, Automation with tools like Ansible, Jenkins, Git/Bitbucket, Artifactory, Unit testing, Unix scripting, Database SQL queries (e.g Oracle)
- Experience with industry standard protocols like FIX, FpML
- Experience with the Request For Quote (RFQ) negotiation workflow
- Experience integrating with APIs from market venues like Bloomberg, Tradeweb, MarketAxess, Brokertec, CME, Nasdaq, Dealerweb, BGC, Valantic, Fluent
- Comfortable with 3rd line support to assist in investigating production issues, detects, and performance issues.
Desired Skills:
- Knowledge of fixed income products such as government bonds, interest rate swaps, futures is a strong plus but not required if you've worked on other traded products/systems like Equities or FX
- Ability to interact with traders, quantitative analysts, support staff in front-office development and to respond to and address production situations
- Experience with UI development is a plus but not required- Java Swing UI and migrating to a modern OpenFin based platform, HTML5, ReactJS, UX
- Experience in trading system re-design migration projects - e.g. migrating capabilities from old to new trading systems is a big plus
Bank of America's Global Banking and Markets Technology Organization..
- Believes diversity makes us stronger so we can reflect, connect and meet the diverse needs of our clients and employees around the world.
- Is committed to building a workplace where every employee is welcomed and given the support and resources to perform their jobs successfully.
- Wants to be a great place for people to work and strives to create an environment where all employees have the opportunity to achieve their goals.
- Provides continuous training and development opportunities to help employees achieve their career goals, whatever their background or experience.
- Is committed to advancing our tools, technology, and ways of working to better serve our clients and their evolving business needs.
- Believes in responsible growth and is dedicated to supporting our communities by connecting them to the lending, investing and giving them what they need to remain vibrant and vital.
Shift:
1st shift (United States of America)
Hours Per Week:
40
Learn more about this role
Date Posted
10/15/2022
Views
8
Similar Jobs
Software Engineer - Python - Vatic Investments
Views in the last 30 days - 7
Vatic Investments is looking for a Python Software Engineer to work on algorithmic trading systems The role requires expertise in C Python and Linux a...
View DetailsSoftware Engineer - Viam
Views in the last 30 days - 14
Viam is a robotics platform that makes it easy to turn great ideas into productionready robots It offers a modern architecture easy developer APIs clo...
View DetailsSoftware Engineer, SDK/NetCode - Viam
Views in the last 30 days - 11
Viam is a robotics platform that makes it easy to turn great ideas into productionready robots The company is looking for engineers to build software ...
View DetailsSenior DevOps Engineer - 3Red Partners
Views in the last 30 days - 0
3Red Partners LLC is seeking a Senior DevOps Engineer to join their team The company offers competitive benefits excellent worklife balance and opport...
View DetailsSenior Mobile Engineer - Viam
Views in the last 30 days - 13
Viam is a robotics platform that makes it easy to turn great ideas into productionready robots The company is looking for a Mobile Engineer to build c...
View DetailsSr. Manager/Associate Director, Program Management - Volastra Therapeutics
Views in the last 30 days - 11
Volastra Therapeutics is a biotechnology company dedicated to discovering and developing treatments for patients with cancer They have raised funding ...
View Details