We are seeking a hands on architect and principal developer to join and help on a team of experienced architects and developers (~40 people) working on a mission critical data delivery platform. The platform is a consolidation of legacy systems that handle the distribution of financial data (reference data, market data, pricing, corporate actions) to thousands of clients via bulk files daily. The system will support highly configurable, performant and robust distribution of critical data to major buy side, sell side and redistribution partners.
The position is for an architect to act as the principal developer for the platform. The expectation is the candidate will code 50-60% of the time. The candidate will be a master level expert on Java, Spring Framework (especially Spring Boot, Spring Core and Spring Batch), and on ingesting and retrieve data into Oracle databases. The candidate should have used Kafka and a current UI framework (Angular or React) in a production project.
The candidate should be able to work independently, handle multiple simultaneous tasks and be adept at prioritizing their work. The candidate will be able to focus on the project priorities in order to deliver the required product at the scheduled time. They should be comfortable collaborating with business analysts, product managers, quality assurance groups and client services to refine requirements and plan implementation strategies.
The candidate will be expected to be involved in the full life cycle of the systems development from requirement gathering through development and testing to on-going support and maintenance. The position will involve some on-call support outside of regular business hours, nights and weekends.
Develop with master level proficiency using Java and Spring Framework
Design and implement highly performant data access patterns using Oracle Exadata
Set up patterns, core framework, build reusable infrastructure components that can be re-used across the application
Design and implement high throughput ingestion components using Kafka
Act as subject matter expert on Java, Spring Framework, Kafka, as well as database and data access patterns for the team. Work closely with DBAs on any design or performance optimizations
Lead the design of the system working closely with senior technology leaders and product teams. This includes developing technical specifications, designing, coding, and testing new features
Clearly communicate design patterns and best practices to track leads and senior developers. Act as a mentor and coach to cultivate talent on the team. Review work to ensure compliance and positive outcomes
Provide accurate estimates for project components. Ensure efficient development and testing processes which minimize operational risk and ensure on-time delivery
Provide on-call support as part of a team rotation. Triage, diagnose and remediate production issues that impact client file deliveries
Knowledge and Experience
Currently in a development role using Java, Spring and Oracle in a production environment
Master level, hands-on Expertise in Java development in a Linux based environment
Deeply experienced Oracle development (Java data access patterns, SQL Loader, PL/SQL)
Deeply experienced with Spring Boot, Spring Core and other Spring based projects
Experience with Kafka in a production environment
Ability to devise patterns, set up blue prints for the rest of the team to use
Ability to create POC level code on new technologies or patterns as a template for other team members
Strong understanding of JVM performance characteristics, expertise in tuning, garbage collection etc
Experience with either Angular, Angular 2, or ReactJS
Experience with Python is a plus
Experience with financial data (Reference Data, Pricing, Market Data) is a plus
Bachelor's or Master's degree in Software/Computer Engineering or Computer/Information Sciences or equivalent experience