Python/Java Software Engineer
Glasgow Technology Centre
The Rates business serves the investment and risk management needs of institutional clients across the world (such as pension funds, insurance companies and banks ) as a dealer in government bonds and interest rate derivatives. It also supports most governments need to raise money for public services and investment by acting as a primary dealer and market maker in government debt.
Athena is J.P. Morgan's cross-market risk management and trading system. It is used in our foreign exchange, fixed income and commodities businesses. Athena includes a globally replicated object-oriented database, a powerful dependency graph and a fully integrated stack across pricing, risk and trading tools. Python is used for flexibility and rapid but controlled releases. Athena is designed to pull developers close to the business to help increase revenues while improving operational processes and controls to reduce costs.
The Rates Athena team is extending the firm’s strategic Athena platform for Fixed Income businesses globally - from New York, London and Tokyo to Sydney and Lima - to provide intraday real time risk & position management, transaction management, and back office integration. The team follows agile practices, adapted to intra-day Continuous Deployment, and supported by regular retrospectives.
The components built by this team range from front end trading GUIs to server side components written in reactive programming paradigm, with responsibilities include pricing, trade capture, sales workflows, position & risk management, profit and loss calculation, trade lifecycle management and integration with internal systems responsible for settlement, financing, risk aggregation and regulatory reporting.
Become proficient in Python, and the Athena platform’s NoSql OO database, graph-oriented development model and developer toolset
Model, design, develop, code, test, debug, document and push components to production
Work closely with customers and analysts to identify and specify complex business requirements and processes, research, evaluate & recommend alternative solutions.
Conduct design & code reviews in a Continuous Deployment environment
Write supporting documentation and executable specifications.
Plan delivery of work, including creating story plans, and being an active member of team stand-ups, retrospectives and sprint planning
Support system testing, user testing and production implementation.
Ensure compliance across the team with project methodology and Information Risk policies
Incorporate team and firm-wide architectural standards into design.
Care as much about code quality, test coverage and domain modelling as we do
- Developers proud of their code and ability to get things done needed to build global risk & transaction management system for fixed income securities on a Python with a NoSql database platform using a fully automatic test and continuous deployment tool-chain. If you want to put your Python skills to great use, or move on from Java/C++/C#/Perl/Ruby, then this could be the role for you.
- Object oriented analysis and development
- Interpersonal skills for effective working in a globally distributed team
- Automated unit testing, refactoring
- Continuous Integration
Useful / Learn on the Job
- NoSql databases, e.g. Cassandra, BigTable
- SQL and relational databases, preferably PostgreSQL
- XML and related technologies ( XML Schema, XPath )
- Message oriented middleware ( e.g. MQSeries )
- Socket programming
- Automated Acceptance Testing / Specification By Example / BDD
- Graph-oriented programming
- Memory and CPU profiling
- Reactive Programming / Complex Event Processing