#JR-24048498
responsibilities of the job include ensuring that software is developed to meet functional, non-functional and compliance requirements, and solutions are well designed with maintainability/ease of integration and testing built-in from the outset. Job expectations include a strong knowledge of development and testing practices common to the industry and design and architectural patterns.
Quartz has for over a decade revolutionized the way Global Markets does business at Bank of America Merrill Lynch. Quartz has been the primary platform for pricing trades, managing positions, and computing risk exposure. Thousands of developers are using the highly-agile platform to deliver applications to tens of thousands of end users. As a part of the Quartz team, you will contribute to the technology that will re define the future of our business.
The Quartz Platform team is now starting a core refresh of the platform to modernize with capabilities required to meet our user's future needs. We are looking to add an experienced software engineers with solid CS knowledge and a track record of delivery on at least one large project in a relevant area (in a PhD or prior job). This person needs to be able to own and independently implement one part of a complex project, while collaborating effectively with the owners of the other parts.
The qualified applicant will become part of Quartz Core Platform's database team building and re-architecting a globally eventually consistent object/data store with ~20 Petabytes of data, ~30 Billion Transactions written daily and ~6 Million concurrent connections world-wide.
Responsibilities:
Codes solutions and unit test to deliver a requirement/story per the defined acceptance criteria and compliance requirements
Designs, develops, and modifies architecture components, application interfaces, and solution enablers while ensuring principal architecture integrity is maintained
Mentors other software engineers and coach team on Continuous Integration and Continuous Development (CI-CD) practices and automating tool stack
Executes story refinement, definition of requirements, and estimating work necessary to realize a story through the delivery lifecycle
Performs spike/proof of concept as necessary to mitigate risk or implement new ideas
Automates manual release activities
Designs, develops, and maintains automated test suites (integration, regression, performance)
Skills:
Application Development
Automation
Influence
Solution Design
Technical Strategy Development
Architecture
Business Acumen
DevOps Practices
Result Orientation
Solution Delivery Process
Analytical Thinking
Collaboration
Data Management
Risk Management
Test Engineering
Required Qualifications:
Must already have development experience designing and implementing database servers or large distributed caching systems.
C++
Python
B-tree implementation details
core database design concepts (transactionality, journaling, etc.)
Distributed Database technologies
Contributed to Database projects (such as mysql, postgress, couchDB, Hadoop, Apache Hive, etc.)
Desired Qualifications:
Networking
Security & RBAC
Linux Kernal Internals
Object vs Structured Data serialization (ProtoBuff/Pickle, etc.)
Shift:
1st shift (United States of America)
Hours Per Week:
40
Learn more about this role