JPMorgan Chase & Co. (NYSE: JPM) is a leading global financial services firm with assets of $2.6 trillion and operations worldwide. The firm is a leader in investment banking, financial services for consumers and small business, commercial banking, financial transaction processing, and asset management. A component of the Dow Jones Industrial Average, JPMorgan Chase & Co. serves millions of consumers in the United States and many of the worlds most prominent corporate, institutional and government clients under its J.P. Morgan and Chase brands. Information about JPMorgan Chase & Co. is available at www.jpmorganchase.com.
Chase Consumer & Community Banking serves nearly 66 million consumers and 4 million small businesses with a broad range of financial services, including personal banking, small business banking and lending, mortgages, credit cards, payments, auto finance and investment advice. Our 129,000 employees serve our customers in 57.5 million households by following Chase's Five Keys to a Great Customer Experience.
Seeking a passionate result-oriented technologist to drive better, faster, simpler solutions and technology direction. Someone that is highly motivated, hands-on and cross-functional with the capability of driving high quality solutions to difficult problems.
The position is to lead the development and maintenance of the CCB middleware services and platform using JPMC approved open/closed sourced and CCB services framework like Fusion. The lead provides technical leadership in translating unique business problems into technical solutions on a case to case basis and evolves the application by maintaining its integrity.
· Single Point of Responsibility for the overall technical integrity of our team's delivery.
· Partner with the Application Development Manager in the analysis and estimation of future work impacting our team.
· Partner with the Scrum Master to lead our team in breaking down complex Features/Stories into well understood and achievable tasks.
· Partner with Architects on the design and architecture for our team's deliverables.
· Be an active developer and contributor to the team’s delivery. Take the lead on solving and implementing difficult technology challenges and drive our team to successful delivery.
· Work closely with BA/QA team members to create test plans and ensure that issues are properly identified, fixed, and tested.
· Ensure development quality is being tracked and improved using techniques like Unit Testing and Peer Review.
· Cultivate and introduce (where appropriate) Agile engineering practices including: Pair Programming, Continuous Integration and Test Driven Development.
· Strengthen the presence of our team as a Technical center of excellence. Actively work with other leads to align to a consistent technology vision and keep the rest of the organization aware of our activities.
· Mentor team members to progress their technical and professional skills.
· Minimum Bachelor’s degree in Computer Science, Computer Engineering or a related field or the foreign equivalent, with Masters degree preferred.
· Extensive knowledge and experience working in an Agile environment.
· Java – Expert-level implementation skills with Java and J2EE.
· Spring – Expert-level implementation skills with the Core Spring Framework and including other sub-projects like Spring JMS, Spring Security, Spring Data and Spring Integration.
· Database – Expert-level implementation skills with ORM frameworks like Hibernate/JPA or MyBatis. Must be highly proficient in SQL preferably across multiple databases.
· Messaging – Expert-level implementation skills with messaging platforms like MQ and JMS.
· Services – Expert-level implementation skills in building highly scalable services (SOAP and REST)
· Web – comfortable with building modern web applications using frameworks like jQuery, jQuery UI, and Bootstrap.
· Application Servers – Broad and deep understanding of multiple application server platforms including Apache Tomcat and IBM WebSphere.
· General – Comfortable in more than one programming language and have a firm grasp of fundamental web/internet technologies.
· Engineering Practices
· TDD – Must have practical experience with unit testing including deep understanding of Mock Testing Frameworks like EasyMock or Mockito.
· ATDD – Experience with Acceptance Test Driven Development including the use of tools like Cucumber and Selenium.
· Continuous Integration – Experience automating builds with Maven using CI Servers like Jenkins/Hudson.
· Continuous Delivery – Experience with automated deployments using a tool like Rundeck.
· Experienced mentor with the ability to work in a collaborative environment and coach other team members on coding practices, design principles, and implementation patterns that lead to high-quality maintainable solutions.
· Excellent communication skills in English (both written and spoken forms)