Software Engineer II
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 developing and delivering complex requirements to accomplish business goals. Key responsibilities of the job include ensuring that software is developed to meet functional, non-functional and compliance requirements, coding solutions, unit testing, and ensuring the solution can be integrated successfully into the overall application/system with clear, robust, and well-tested interfaces. Job expectations include an awareness of development and testing practices in the industry.
LOB Position Summary:
G10 FXCASH Post Trade Platform at Bank of America offers a dynamic and competitive environment with exciting career opportunities around FX Trading. We are an organization with deep technical and industry experience that specializes in designing and developing highly distributed, integrated trading solutions in an environment where performance and scalability are critical to success. Our goals are strategic; to help our business partners improve and sustain business – driving revenue while mitigating risks and improving operational efficiencies. In a revolutionary capital markets landscape driven by far reaching regulatory reform and cross-industry initiatives our teams leverage their deep business knowledge and technical expertise to build and integrate platforms that offer front to back electronic processing and risk management capabilities in a highly motivated and competitive work environment.
Objective of the group is to:
- FX Cash Trade Booking for G10 FX Currencies
- Design, build, deploy and manage low latency, high availability, high volume trade processing systems with complex lifecycles.
- Build and migrate trade processing to a new FX Platform from existing legacy platform
- Facilitate accurate trade and lifecycle data for regulatory requirements & operational processing
- Improve operational efficiency and reduce operational risk as a result of architecture and codebase simplification
When you’re with FX Trade management group, you’re part of a dynamic, cross-functional organization with business analysts, developers and systems engineers, testing professionals and business/technical support professionals
The candidate will be working on Python based applications within a cross-business capital markets platform
Responsibilities:
- Codes solutions and unit test 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
- Performs Continuous Integration and Continuous Development (CI-CD) activities
- Contributes to story refinement and definition of requirements
- Participates in estimating work necessary to realize a story/requirement through the delivery lifecycle
- Contributes to existing test suites (integration, regression, performance), analyze test reports, identify any test issues/errors, and triage the underlying cause
- Performs spike/proof of concept as necessary to mitigate risk or implement new ideas
- Provide common tools for UI, Services and the overall governance.
- Development of Services Registry, Routing Layer, Booking Service, Communication Layer and core Workflow Management.
- Development of complex trade lifecycle flows for FX products.
Required Qualifications:
- 2-3 years of applicable experience
- Experience in any programming language (Python, Java, C#)
- Experience in Industry Financial data models such as FIX, XML.
- Very good knowledge in capital markets products and trade lifecycle.
- Experience in communication protocols such as HTTP, HTTPS, RESTFul, gRPC, P2P, RPC, and Sockets etc.
- Strong in basic data structures and algorithms
- Ability to work with agile methodology.
- Strong problem solving and analytical skills.
- Knowledge of electronic/post trade workflows (Clearing, Client Affirmation, Broker/SEF, Netting/Compression/Weekly Clearing)
- Experience in Finance Domain. Capital markets business knowledge, including FX, Bonds and Derivatives
- Experience building tools for Dev Ops roles.
Skills:
- Application Development
- Automation
- Collaboration
- DevOps Practices
- Solution Design
- Agile Practices
- Architecture
- Result Orientation
- Solution Delivery Process
- User Experience Design
- Analytical Thinking
- Data Management
- Risk Management
- Technical Strategy Development
- Test Engineering
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]