An experienced Senior Software Engineer is sought to support the delivery of the strategic Run-Time Metadata Repository and associated Application Development Tools & Metadata Services. The individual must have excellent Java Application Development skills coupled with a detailed understanding of model driven development, metadata management and information architecture.
The primary function of the role is to work as part of the Global Banking Information Architecture team to provide development support in order to deliver and maintain components and tools that support the wider function of Data Management.
This role will function across Global Banking and will collaborate across the firm-wide Information Architecture team in order to create and instill Information Architecture engineering best practice design patterns, standards and methods.
The Senior Software Engineer will work closely with Information Architects, Software Developers, Data Management Owners and Stewards.
The successful candidate will be required to interchange between operating independently and in conjunction with other team members as required, whilst working on a number of assignments simultaneously.
- Creation and maintenance of Metadata Management tools and components to ensure conformance of UML Models against the defined Meta-Model
- Creation and maintenance of Software Tools for forward engineering software source code from UML Models
- Creation of Data Distributions Services to deliver a wide range of Metadata into run-time applications on demand.
- Producing documentation, guidance & training materials for all of the above.
An understanding of (in no particular order):
- Forward engineering approaches to software production
- Eclipse (5.x and above) Macro & Plug-In development
- Development of decoupled Software Architectures such as Component-Based Architecture, Service-Oriented Architecture, Model-View-Controller, N-Layer Architecture, Aspect Oriented Development etc. (The more, the better)
- Java API design with Passive Data Objects
- Meta-Object Frameworks (OMG MOF, Eclipse ECORE) and Factory Classes
- UML and UML Customizations as source models for software specifications
- Schema-less Messaging i.e. Java serialization / deserialization to/from a range of data transfer formats e.g. JSON, XML using @Annotations, XMI
- Data Driven Applications (where we avoid hard-coding as much as possible and drive configuration and behavior from rules & configuration metadata)
- Creation of Data Access Layers using standard Java libraries such as JPA
Experienced Java Developer with specific knowledge of:
- Ideally plus knowledge of at least one non-Java language e.g. C#, C++, Smalltalk, Python
- Agile Architecture and Software Development
- Continuous Integration & Testing (CIT) environments
- Automated Build and Release environments
- Design for Change approaches i.e. designing non-breaking solutions to continually evolving requirements.
- Ability to identify software implementation patterns common across multiple programing languages and technology stacks
- Abstraction and generalization of solutions into design patterns
- Able to envisage and compare potential solutions prior to implementation.
- Construction of Domain Specific Languages and mapping into Target Specific Languages.
- Effective communication and facilitation with Technical stakeholders to translate requirements into software that represent progress towards a target state of best engineering practice, simplification and standardization
- Ability to unambiguously communicate through multiple channels such as Presentations, Word Documents , Workshops and Agile Development Meetings
- Collaborate with the business technical teams, exchanging and transferring technical knowledge, and developing and evolving standards, guidelines, etc..
Our Corporate & Investment Bank relies on innovators like you to build and maintain the technology that helps us safely service the world’s important corporations, governments and institutions. You’ll develop solutions for a bank entrusted with holding $18 trillion of assets and $393 billion in deposits. CIB provides strategic advice, raises capital, manages risk, and extends liquidity in markets spanning over 100 countries around the world.
When you work at JPMorgan Chase & Co., you’re not just working at a global financial institution. You’re an integral part of one of the world’s biggest tech companies. In 14 technology hubs worldwide, our team of 40,000+ technologists design, build and deploy everything from enterprise technology initiatives to big data and mobile solutions, as well as innovations in electronic payments, cybersecurity, machine learning, and cloud development. Our $9.5B+ annual investment in technology enables us to hire people to create innovative solutions that will not only transform the financial services industry, but also change the world.
At JPMorgan Chase & Co. we value the unique skills of every employee, and we’re building a technology organization that thrives on diversity. We encourage professional growth and career development, and offer competitive benefits and compensation. If you’re looking to build your career as part of a global technology team tackling big challenges that impact the lives of people and companies all around the world, we want to meet you.
@2017 JPMorgan Chase & Co. JPMorgan Chase is an equal opportunity and affirmative action employer Disability/Veteran