Responsibilities:Codes solutions and unit test to deliver a requirement/story per the defined acceptance criteria and compliance requirementsUtilizes multiple architectural components (across data, application, business) in design and development of client requirementsPerforms Continuous Integration and Continuous Development (CI-CD) activitiesContributes to story refinement and definition of requirementsParticipates in estimating work necessary to realize a story/requirement through the delivery lifecycleContributes to existing test suites (integration, regression, performance), analyze test reports, identify any test issues/errors, and triage the underlying causePerforms spike/proof of concept as necessary to mitigate risk or implement new ideasRequired Qualifications:5+ years of hands on software development experience using Java / J2EE technologiesGood interpersonal communication skills for tech and business conversationsGood analytical skills to break down requirements, solve complex problems Desired Qualifications:Experience working on high volume applicationsExperience in server side frameworks like Spring MVCExperience building restful web servicesExperience in performance tuning with good understanding of JVM internalsExperience with NoSQL databases like CassandraExperience in distributed caching frameworks like hazelcast, ignite, redisExperience in modern JVM languages like groovy, scalaExperience with open source search engines like SOLR, elasticsearchExperience working with NLP and Machine learningPrior open source contributionsProven task management and leadership skillsExperience working in agile teamsSkills:Application DevelopmentAutomationCollaborationDevOps PracticesSolution DesignAgile PracticesArchitectureResult OrientationSolution Delivery ProcessUser Experience DesignAnalytical ThinkingData ManagementRisk ManagementTechnical Strategy DevelopmentTest EngineeringBachelors or Master's Degree in Computer Science or related field Shift:1st shift (United States of America)Hours Per Week: 40 Learn more about this role View transcript Close transcript [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. 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.