Senior Engineer - FICC Credit Technology
Job Description:
At Bank of America, we are guided by a common purpose to help make financial lives better through the power of every connection. We do this by driving Responsible Growth and delivering for our clients, teammates, communities and shareholders every day.
Being a Great Place to Work is core to how we drive Responsible Growth. This includes our commitment to being an inclusive workplace, attracting and developing exceptional talent, supporting our teammates’ physical, emotional, and financial wellness, recognizing and rewarding performance, and how we make an impact in the communities we serve.
Bank of America is committed to an in-office culture with specific requirements for office-based attendance and which allows for an appropriate level of flexibility for our teammates and businesses based on role-specific considerations.
At Bank of America, you can build a successful career with opportunities to learn, grow, and make an impact. Join us!
Job Description:
This job is responsible for defining and leading the engineering approach for complex features to deliver significant business outcomes. Key responsibilities of the job include delivering complex features and technology, enabling development efficiencies, providing technical thought leadership based on conducting multiple software implementations, and applying both depth and breadth in a number of technical competencies. Additionally, this job is accountable for end-to-end solution design and delivery.
Job Profile Summary:
FICC Electronic Trading supports eTrading businesses across Fixed Income, Currencies & Commodities. Credit eTrading sits within FICC eTrading and is focused on the electronic trading of corporate bonds and credit derivatives.
The team is global, across Bromley, London, New York, Hong Kong, Tokyo, Chennai & Mumbai.
This Lead Software Engineer role sits within the FICC Electronic Trading technology team, focused on Systematic Credit eTrading. Alongside supporting the continued existing Credit eTrading technology stack, you will lead the buildout of shared services for eTrading across FICC. You will have extensive experience overseeing the build of eTrading solutions – leading design discussions and build of eTrading software used in market connectivity, price distribution or RFQ engines, ideally with exposure across all three. You will have special interest in, or experience of, low latency systematic trading in Rates or Credit.
Responsibilities:
Ensures that the design and engineering approach for complex features are consistent with the larger portfolio solution
Define the technology tool stack for the solution and evaluate and adapt new testing tool/framework/practices for team(s)
Enables team(s)/applications with Continuous Integration/Continuous Development (CI/CD) capabilities and engages with other technical stakeholders pertaining to efficient functioning of CI-CD pipeline
Guides and influences team(s) on design and best practices for high code performance –e.g. pairing, code reviews
Provides end-to-end delivery of complex features, including automation, for either a single team or multiple teams, at the program level
Conducts research, design prototyping and other exploration activities such as evaluating new toolsets and components for release management, CI/CD, and features
Works with stakeholders to establish high-level solution needs and with architects for technical requirements
Required Qualifications
Experience as a Lead software engineer building eTrading solutions – software used in market connectivity, price distribution or RFQ engines.
Must understand and have experience building out D2D, D2C and bilateral eTrading connectivity.
Highly proficient in Java/Spring with expertise in developing FIX trading solutions.
Experience working with trading desks, strategists & quants for L3 support on production trading systems as well as requirements gathering/solution design for new build.
Experience supervising and growing eTrading engineering talent
In-depth knowledge of Credit or Rates eTrading workflows and market structure
Proficiency in debugging/profiling JDK based languages (Java/Scala/Kotlin/Clojure)
Advanced work with JDK CI/CD and build toolchains including Maven, Gradle, SBT, Jenkins
Experience with modern RPC microservices, specifically GraphQL and gRPC
Proficiency in developing for Unix/Linux based environments including shell basics as well as process and network diagnostics.
Exposure to monitoring, metrics and tracing tooling - ELK stack, Splunk, Prometheus, Grafana, Graphite, OpenTSDB, OpenTrace, Jaeger
Exposure to message-oriented architecture - ZeroMQ, JMS, AMPS, RabbitMQ, Kafka, Google pub/sub
Exposure to process/container orchestration technologies - Mesos, Kubernetes, OpenShift, docker
High proficiency in data architecture in both SQL and NoSQL data stores such as MongoDB, Cassandra, CouchDB, HBase
Experience with reactive streams implementations and observables - ReactiveX (RXJava, RXJS, etc), Akka Streams, Monix, Spring Reactor
Desired Qualifications
Understanding of machine architecture and natively compiled languages such as C++ and Rust
Experience with CQRS architecture.
Experience with Scala functional and/or concurrency libraries such as ZIO, C
Skills:
Automation
Influence
Result Orientation
Stakeholder Management
Technical Strategy Development
Application Development
Architecture
Business Acumen
Risk Management
Solution Design
Agile Practices
Analytical Thinking
Collaboration
Data Management
Solution Delivery Process
Minimum Education Requirements: Bachelor Degree or Equivalent Professional Experience
Shift:
1st shift (United States of America)Hours Per Week:
40Learn more about this role
[Music in background throughout]
On screen copy:
Bank of America® logo
Software Engineer
Software Engineer: At Bank of America, the code I write every day helps keep our systems running for millions of people.
[Software Engineer writing code at his desk]
As a Software Engineer, I feel like I’m on the front lines of creating what the enterprise needs to compete in the digital space – from trading apps to market systems to backend services.
[Mobile banking app screens shown]
That means writing code, working with the team and solving problems together.
[Software Engineer working with colleagues in a meeting room]
I'm part of Strategic Data Initiatives, using modern development practices, state-of-the-art frameworks, and cloud-native services to build what the business needs. The key is collaboration; whether I’m working with product managers, quality assurance, or teaming up with other designers.
[Software Engineer moving sticky notes on a kanban board]
From legacy systems to performance tuning, it’s like our team is tackling a jigsaw puzzle, and I can take real ownership of my pieces, even when there’s more than one way forward. I’ve got full support from mentors and leadership, which helps me develop as an engineer while gaining expertise in new tech.
On screen copy:
Skill Growth
Career Mobility
Best of all, as my skills grow, so do the opportunities to move to new teams and take on bigger responsibilities.
[Software Engineer shakes hands with supervisor]
And through our day-to-day practices and retrospectives, I have a chance to be part of a group that becomes more collaborative and impactful with each shared win. Plus, I’m given what I need to feel valued, with flexible work schedules, learning stipends, and programs that let me prioritize my health and wellness.
On screen copy:
Build relationships
Build communities
Build careers
We all have goals.
Pursue yours at Bank of America.
I’m proud to be part of a team that’s building the future of banking – one line of code at a time. We all have goals. Pursue yours at Bank of America.
Narrator: What would you like the power to do? Bank of America.
On screen copy:
What would you like the power to do?®
Bank of America® logo
Learn more at careers.bankofamerica.com
On screen disclosure:
EOE disability/veteran. ©2025 Bank of America Corporation. All rights reserved.
MAP 8651837 Expiration Date: 06/05/2027
[End of transcript]