Senior Software Engineer - Test Driven Development
We are building the #1 Asset Management Technology platform in the world and we need exceptional, motivated, and world-class talent to join the Portfolio Core Technology team at JP Morgan Asset Management. You must have a passion for writing and testing high quality code. Job Description:
- You will be responsible for designing and implementing microservices in Java leveraging a framework like Lagom Framework.
- You will write test cases using TDD/BDD approach with emphasis on high maintainability.
- You will participate in code review sessions - peer reviews and group reviews. You will provide code review sign-off for your peer's code.
- You will demonstrate scalability of your services using mock testing frameworks and other tools.
- Participate in the API design sessions and selection of design patterns that are selected for use by the team.
- Technical documentation of service API (using Swagger)
- Implementing logging, auditability, security, and monitoring features.
- You should be able to build lightweight user interface using Angular or React.
Our Asset and Wealth Management division is driven by innovators like you who are driven to create technology solutions that make us work more efficiently and help our businesses grow. It's our mission to efficiently take care of our clients' wealth, helping them get, and remain properly invested. Across 27 cities, our team of 4,600 agile technologists thrive in a cloud-native environment that values continuous learning using a data-centric approach in developing innovative technology solutions.
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. Requirements/Qualification:
- MUST: At least a BSdegree in Computer Science from a reputed university/college. MS or PhD inComputer Science preferred. Can consider non-CS degrees if there is strongrelevant experience.
- MUST: Deep knowledge andexpertise in Java programming - you should rate yourself 8 out of 10 or higherand be able to demonstrate during the hiring process. Any experience with .NETFramework/C# is a plus but not required.
- MUST: Experience workingthrough entire lifecycle of at least one large complex application build-outand delivery for either a large financial organization or a top-classtechnology product team.
- 2-5 years of experiencein the role of software engineer. Experience building a truly distributedarchitecture based system, especially involving large data volumes andreal-time distribution will be huge plus.
- Knowledge of CI/CD,DevOps tool chain, and a test-driven approach to agile delivery is expected.
- Experience withimplementing middle-tier data caching solutions (e.g. Gemfire or Apache Ignite)and/or designing/delivering messaging-based solutions (e.g. Kafka) is a plus.
- Knowledge of modernarchitectures based on microservices, REST APIs, NoSQL stores (e.g. Cassandra),and event-based architecture will be key.