J.P. Morgan is a global leader in asset and wealth management services. The Asset Management line of business serves institutional, ultra high net worth, high net worth and retail clients through its Global Investment Management and Global Wealth Management businesses. With client assets of $2.4 trillion and assets under management of $1.7 trillion, we are one of the largest asset and wealth managers in the world.
J.P. Morgan Asset Management (Investment Management) is a leading investment manager of choice for institutions, financial intermediaries and individual investors, worldwide. With a heritage of more than two centuries, a broad range of core and alternative strategies, and investment professionals operating in every major world market, we offer investment experience and insight that few other firms can match.
The Core Components and Architecture (CCA) group within the Technology division of J.P. Morgan Asset Management serves all aspectsof the business, providing best in class architecture and enterprise data solutions and services used as the foundation for technology development.
This is a unique and exciting opportunity to join a growing department within JP Morgan Asset Management. The Core Components and Architecture team has been formed to design, develop and deliver common services and user interfaces maintaining and distributing core data such as stock and pricing information across all of Asset Management. The team has the remit to re-write the entire product suite over the next three years, and is looking for top development talent that can bring fresh ideas and passion to the area to create truly innovative solutions.
We are 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.
· Responsible for the technical integrity of our team's delivery.
· 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.
· 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.
· Bachelor’s degree in Computer Science, Computer Engineering or a related field or the foreign equivalent.
· Extensive knowledge and experience working in an Agile environment (both SCRUM and KANBAN).
· 3 – 5 years experience working as a hands-on (actively coding) Application Development Lead or related role.
· Java – Expert-level implementation skills with Java includingRESTfulWeb Services.
· Spring – Expert-level implementation skills with the Core Spring Framework and including other sub-projects like Spring Boot 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.
· Web – Expert-level implementation skills with building modern web applications using frameworks like Angular JS, Bootstrap and Responsive Design techniques.
· Application Servers – Broad and deep understanding of multiple application server platforms including Apache Tomcat and Jetty.
· 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.
· 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.
· Continuous Delivery – Experience with automated deployment pipelines.
· 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).