Software Engineer II
About this role
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, 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.
Provide leadership and deep technical expertise in all aspects of solution design and application development for specific business environments. Focus on setting technical direction on groups of applications and similar technologies as well as taking responsibility for technically robust solutions encompassing all business, architecture, and technology constraints. Possesses strong technical skills; provides tech knowledge and capabilities and coaches team members. Will not have direct reports but will direct activities of a team for execution of projects. May be responsible for coordinating teams to accomplish development in a matrixed organization.
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
Required Qualifications:
5+ years of relevant work experience with hands-on software development experience.
Proficiency in programming language(s) required for the role
Experience working on high volume applications· Experience in server side frameworks like Spring MVC
Experienced with the Spring Framework, including Spring Boot, Spring Security, Spring Integration, Spring MVC, Spring Data JPA
Good understanding of SOAP web services and related standards like REST/JSON
Experience building restful web services
Working knowledge for front end technologies like handlebars, foundation, and reactJS
XML and JSON binding libraries (jaxb, Jackson, gson, etc)
Unit Tests – Junit
Experience with GIT, Maven, Nexus, Eclipse (or equivalent IDE)
Experience with GIT distributed version control, branching/merge strategies, and Bitbucket
Experience with monitoring toolsets like Splunk, Dynatrace
Familiarity with MQ (Websphere MQ or ActiveMQ) Experience in performance tuning with good understanding JVM internals
Experience with groovy
Experience in Object-oriented programming and concepts
Experienced in Distributed System development using Java/J2EE/Web Technologies
Conversant in Java design patterns
Desired Qualifications:
Exposure to Agile Methodologies
Ability to communicate complex technology solutions to diverse teams namely, technical, business and management
Good interpersonal communication skills for tech and business conversations – ability to work in a collaborative/team environment
Good analytical skills to break down requirements, solve complex problems
Provide feedback in code reviews for improvements
Bring improvement ideas to the team and be capable of driving the execution/implementation
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
Minimum Education Requirement: Bachelor’s degree or equivalent work experience.
Shift:
1st shift (United States of America)Hours Per Week:
40