Software Engineer - Java
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 and providing a culture of caring is core to how we drive Responsible Growth. We are intentional about fostering an inclusive workplace where every teammate has the opportunity to succeed, build a career and contribute to our shared success. This includes attracting and developing exceptional talent, recognizing and rewarding performance, and supporting our teammates’ physical, emotional, and financial wellness through affordable, competitive and flexible benefits.
We value the unique perspectives individuals bring from all backgrounds and career paths - whether shaped by military service, community college education, or a wide range of work and life experiences. These journeys foster resilience, leadership and innovation, strengthening our workforce and positively impact the communities we serve.
Bank of America is committed to an in-office culture that supports collaboration, engagement, and career development. Our approach includes clear in-office expectations, while providing an appropriate level of flexibility based on role-specific responsibilities and business needs.
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, and solutions are well designed with maintainability/ease of integration and testing built-in from the outset. Job expectations include a strong knowledge of development and testing practices common to the industry and design and architectural patterns.
Looking for a hands‑on Software Engineer with a strong Java/Spring Boot background who can operate as a systems engineer across distributed platforms and integration layers. You’ll design, build, and operate middleware solutions (e.g., WebMethods, Mule, Spring Boot microservices, API gateways), automate CI/CD with Bitbucket, Jenkins, Maven, Ansible, JFrog Artifactory, and scale services on Kubernetes/OpenShift. You’re fluent in Linux shell scripting, comfortable with Python (nice to have), and well‑versed in Agile with hands‑on Jira. Experience with Angular or React is a plus.
Responsibilities:
Codes solutions and unit test to deliver a requirement/story per the defined acceptance criteria and compliance requirements
Designs, develops, and modifies architecture components, application interfaces, and solution enablers while ensuring principal architecture integrity is maintained
Mentors other software engineers and coach team on Continuous Integration and Continuous Development (CI-CD) practices and automating tool stack
Executes story refinement, definition of requirements, and estimating work necessary to realize a story through the delivery lifecycle
Performs spike/proof of concept as necessary to mitigate risk or implement new ideas
Automates manual release activities
Designs, develops, and maintains automated test suites (integration, regression, performance)
Required Qualifications:
8–12+ years of software/ systems engineering experience, including 5+ years hands‑on with Java and Spring Boot (microservices).
Strong experience with middleware/integration tools: webMethods, Mule, and API gateway patterns.
Proficiency with Linux, shell scripting, Git (Bitbucket), Jenkins, Maven, Ansible, and JFrog Artifactory.
Practical experience with containers and Kubernetes or OpenShift in production.
Solid grasp of networking (TCP/IP, DNS, TLS), observability (logs/metrics/traces), and performance tuning.
Proven Agile practitioner; daily user of Jira; strong communication and documentation skills.
Roles & Responsibilities
Systems Engineering & Architecture
Design, implement, and operate scalable, resilient platforms for Java/Spring Boot microservices and middleware integrations.
Lead system sizing, capacity planning, observability (metrics, logs, traces), and performance tuning for high‑throughput workloads.
Define and enforce non‑functional requirements (security, reliability, performance, DR/BCP, compliance).
Middleware & Integration
Build and maintain integrations using webMethods, Mule, and API gateways (e.g., Apigee/Kong/WSO2/Layer7 — as applicable).
Modernize and decompose legacy integration patterns to RESTful and event‑driven architectures (Kafka/AMQP where relevant).
Establish API standards (versioning, error contracts, security, rate limits) and governance.
Backend Engineering (Java/Spring Boot)
Develop high‑quality, testable Spring Boot services (data access, caching, resilience, security).
Implement automated tests (unit/integration/contract) and quality gates.
Optimize JVM performance, GC tuning, and troubleshoot memory/latency issues.
Automation, CI/CD & DevOps
Own the end‑to‑end build and release pipeline: Bitbucket (Git), Jenkins, Maven, JFrog Artifactory, Ansible.
Create reusable pipelines, shared libraries, and deployment templates with robust promotion strategies.
Implement artifact versioning, SBOMs, and supply‑chain controls; enforce policy via quality gates.
Containers & Platform
Containerize services with Docker; deploy and run on Kubernetes/OpenShift using best practices (probes, HPA, ConfigMaps/Secrets, RBAC).
Define Helm/Kustomize manifests; manage namespaces, network policies, and ingress/ingress‑gateway configuration.
Drive cost efficiency and right‑sizing; enable autoscaling and progressive delivery (blue/green, canary).
Desired Qualifications:
Python for automation/tooling.
Front‑end familiarity with Angular or React (for full‑stack collaboration or admin consoles).
Event streaming (Kafka), messaging (RabbitMQ), and CDC/ETL experience.
Experience with API security (OAuth2/OIDC), service mesh (Istio/Linkerd), and policy engines (OPA/Gatekeeper).
Exposure to cloud (AWS/Azure/GCP), IaC (Terraform), and GitOps (Argo CD/Flux).
WebMethods/Mule certifications; Kubernetes/CKA/CKAD; Red Hat OpenShift certs.
Skills:
Application Development
Automation
Influence
Solution Design
Technical Strategy Development
Architecture
Business Acumen
DevOps Practices
Result Orientation
Solution Delivery Process
Analytical Thinking
Collaboration
Data Management
Risk Management
Test Engineering
Minimum Education Requirement: Bachelor’s degree or equivalent work 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]