Senior Java Developer
What you'll do:
- Understand and translate business requirements into technical design specifications
- Identify technology solutions for enhancements or new initiatives
- Develop technical and software solutions using test-driven and agile software development methodologies
- Participate in identifying new technologies and methodologies to continuously improve software systems.
- Implementing unit and integration test cases with industry standard test automation frameworks.
- Implement DevOps practices within the team and projects.
Skills - Understanding of portfolio accounting, fixed income products, equity trading, and compliance regulations.
We are building a team to run technology, innovation and support for a world-class investment management institution. The scope of the applications and business areas covers applications and infrastructure support, trading, risk management and reporting, market data processing, market surveillance and intelligence, books keeping, reporting and more.
We are establishing a star team capable of facing the challenges of modern highly paced environments, lots of data, demand for top-class performance, availability and reliability. We utilize a wide stack of technologies and keep innovating and adopting new architectures and ways to retain leadership in the marketplace.
We are looking for bright people with engineering talent and highly proficient in their technological area, ready to continue learning and challenging the status quo as they work, willing to learn from mistakes and continue excelling.
This position is a software engineer to support primary equities portfolio management platform.
The role will engineer new business activity enhancements and initiatives related to trade execution, compliance, position keeping, and portfolio profit and loss.
The platform is a high volume, transaction processing engine based on Java / Linux and the Coherence in-memory database.
The role is responsible for developing software enhancements and delivering projects supporting core trade processing and portfolio management system.
Responsible for delivering system upgrades and features supporting resiliency and capacity improvements, new trading capabilities, position management automation, and integration with internal and external trade execution platforms.
Delivery releases with minimal defects, automated testing strategies, and within project timelines using Agile practices.
Assist production operations with escalated troubleshooting needs to resolve production system incidents.
Who we're looking for?
- Extensive hands-on experience with Java programming, messaging systems (e.g. ActiveMQ, Solace, JMS)
- 10+ years of professional programming and architecture experience with distributed systems, service architectures, and high throughput transaction processing systems.
- Experience with Oracle Coherence in-memory data management software.
- Expert experience with relational database technologies and SQL.
- Expert practitioner of object-oriented techniques including inheritance, polymorphism, etc.
- Understanding of the challenges of working with distributed and multi-threaded systems along with experience monitoring those systems and troubleshooting problems
- Experience developing trade execution, trade processing, and position management platforms.
- Experience utilizing and enhancing Jenkins, Ansible, Maven and other DevOps tools
- Experience utilizing common industry unit testing frameworks.
- Exceptional verbal and written communication skills
- Commitment to the highest ethical standards while working with sensitive data
- Bachelor's degree in Computer Science, other technical field, or equivalent work experience
Apache NiFi, Tableau, ETL Pentaho, Elasticsearch, Docker, ETL, OpenShift, Amazon Web Services (AWS), AWS DevOps