Software Engineer II

Bank of AmericaNewark, NJ
Onsite

About The Position

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.

Requirements

  • 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

Nice To Haves

  • 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

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

Benefits

  • affordable, competitive and flexible benefits
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service