
Software Engineer III - Java Developer
Bank of America
Job description
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.
As a Java Developer, you will play a key role in designing, developing, and implementing high-performance enterprise applications that support the bank’s critical liquidity, risk management, forecasting, analytics, and operational processes. You will collaborate closely with cross-functional technology teams, business stakeholders, and architects to deliver scalable, reliable, and innovative solutions. This role offers opportunities to influence technical direction, mentor junior developers, evaluate emerging technologies, and contribute to continuous improvement initiatives across the organization.
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)
-
Design, develop, test, and support scalable Java-based applications and services.
-
Lead technical design discussions and contribute to architecture decisions.
-
Develop secure, high-performance, and maintainable software solutions.
-
Optimize application performance through code improvements, profiling, and tuning.
-
Collaborate with business analysts, architects, QA teams, and other developers to deliver solutions.
-
Conduct code reviews and ensure adherence to coding standards and best practices.
-
Mentor junior developers and promote knowledge sharing across teams.
-
Evaluate emerging technologies and recommend innovative solutions to address business needs.
-
Support production environments, troubleshoot complex issues, and drive root-cause resolution.
Required Qualifications:
-
10+ years of relevant work experience, hands-on experience in Java/J2EE application development with strong object-oriented design and programming expertise.
-
Proficiency in programming language(s) required for the role
-
Extensive experience with Core Java, including:
-
Multithreading and concurrency
-
Collections Framework
-
JDBC
-
Java Memory Management
-
-
Strong proficiency with Spring Framework, including Spring Boot and related technologies.
-
Experience designing and developing large-scale, high-volume enterprise applications.
-
Strong understanding of software design principles, design patterns, and best practices.
-
Expertise in application performance tuning, profiling, and memory optimization.
-
Experience using performance analysis and profiling tools to identify bottlenecks and improve application efficiency.
-
Strong coding, debugging, troubleshooting, and analytical skills.
-
Experience working with RESTful services, APIs, and distributed systems.
-
Ability to lead technical discussions, perform code reviews, and mentor junior developers.
-
Proven track record of delivering innovative technology solutions in complex enterprise environments.
-
Excellent verbal and written communication skills with the ability to collaborate across teams.
Desired Qualifications
-
Experience with in-memory data grids and distributed caching technologies.
-
Experience with event-driven architectures and messaging platforms such as Kafka.
-
Knowledge of cloud-native application development and cloud platforms (AWS, Azure, or GCP).
-
Experience with distributed computing and microservices-based architectures.
-
Familiarity with CI/CD pipelines, DevOps practices, and container technologies such as Docker and Kubernetes.
-
Experience working in Agile/Scrum development environments.
-
Knowledge of financial services, capital markets, treasury, liquidity, or risk management domains.
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:
40