Senior Software Engineer at Not-Available
Hounslow, England, United Kingdom
Senior Developer with experience in Investment Banking / Software houses. Involved in all aspects of the software life cycle; analysis, requirements capture, design, build and test with emphasis on server-side Java application development. Strong design skills associated with low latency, high throughput, high volume message based systems and architecture. Strong SQL, relational database design and data analysis...
Senior Developer with experience in Investment Banking / Software houses. Involved in all aspects of the software life cycle; analysis, requirements capture, design, build and test with emphasis on server-side Java application development. Strong design skills associated with low latency, high throughput, high volume message based systems and architecture. Strong SQL, relational database design and data analysis skills.
Language: Java (14 years); core, server-side, low latency, concurrency, memory-barriers, memory model, multi-threading, multiplexors, NIO, sockets, J2SE, JDBC, J2EE
Frameworks: Spring, Sprint Integration, Apache Camel
Messaging: real-time distribution/messaging, TCP/IP, TIBRV, IBM MQ, ActiveMQ (AMQP), JMS, SEDA, 29 West
Message Types: FIX, SWIFT, ISO 87/92, SOAP, XML (JAXB, DOM & SAX Parsing, XPATH)
Application Servers: Tomcat, Weblogic, Websphere (RAD8, RSA 7.3), Jetty
Object Relational Mapping (ORM): Hibernate
Distributed Systems: Oracle Coherence, Terracotta (EhCache), distributed caching
Databases: SQL, Oracle (PL/SQL, analytic SQL & Functions), Sybase (T-SQL), stored procedures, database triggers
Testing: performance analysis, benchmarking, soak, volume, peak load, garbage collection (GC), Yourkit, VisualVM, JUnit, EasyMock, PowerMock, Mockito, JUnit, TestNG, JMock, JFreechart (for graphs / stats)
Build: Maven, Jenkins, SVN(Subversion), Perforce, Nexus, Hudson, CVS, Clearcase
Operating Systems: UNIX, LINUX, Solaris, Windows (NT, XP, DOS)
Development & Tracking Tools: Eclipse, IntelliJ, NetBeans, JDeveloper, JIRA, Greenhopper
Methodologies: OO (Object Oriented), UML, EI patterns, Design Patterns, Agile (SCRUM, SCRUM Master, retrospectives, planning poker, Iterations, Sprints), Waterfall
APIs: Currenex (FX), Reuters (RFA / RMDS)
Scripting: Groovy, BASH, Perl, Autosys (Job Scheduler)
Business Knowledge: Mostly front office, FX (Spot,Outrights & Swaps), Market Risk (underliers), Securities Lending & Funding, Credit Card (ISO Messaging)Senior Java Analyst / Developer @ Develop a new trade bus application to migrate a significant Equities trade flow from a legacy trade event bus to a new trade bus platform. Trade flow originated from an Equities order execution engine.
Involved with:
• Analysis, design and build of new trade bus application, transforming trades into downstream system message format;
• Writing of socket based applications to send messages between trading systems;
• Use multiplexor approach for dealing with socket and application events;
• Use non-GC designed classes and objects to support the fast transformation of trade flows to downstream systems;
• Regex based trade filtering; design of complex filtering expressions implemented using lexical analyser and Reverse Polish Notation;
• Develop ByteBuffer based In-Memory file backed message cache for ACK/NACK cache of trades received from downstream systems;
• Trade replay ability; allow auto replay of in-error trades liaising with trade support once trade fixed;
• Integration with golden source data systems for counterparties, books, instruments etc;
• Responsible for development and production support (2nd line) for legacy trade event bus; From July 2013 to July 2014 (1 year 1 month) Senior Java Analyst / Developer @ Develop enhancements to the core transaction authorisation processing system of Discover Financial (3rd largest credit card brand in the US card). System accommodated up to 1000 TXs / sec.
• All aspects of ISOMessage specification (Diners ISO 92 & Discover ISO 87, PULSE, WorldPay, Generic formats) – Authorisation Processing: acquirer to issuer, request / response, advices, reversals, switch-out and stand-in processing within the main core transaction system;
• Message routing system; performance testing, GC Tuning, memory leak & deadlock identification and re-architecting an Acquirer/Issuer message routing system, including changing the Camel SEDA message queue architecture to improve message flow performance;
• Maintenance of NIO Reactor based socket communications service and Network/Channel availability state machine;
• New processing for Contactless Chip Cards (EMV Enabled) features / 3D Secure Protect Buy processing for Mastercard;
• Design and build Maven release processes/packages and integrate Maven projects with CI, Nexus; From May 2012 to July 2013 (1 year 3 months) Senior Java Analyst / Developer @ Front office FX role, liaising with trader analyst for requirements capture to develop an FX Streaming application for internal and external customers (ECNs). Emphasis on low latency, streamed rates published via FIX to clients. Oracle Coherence used for distributed caching.
• Stream Manager for Spot, Outrights and Fwd Points streams;
• Price tier restructuring, spreading and rounding components for size tiered streamed rates;
• System state machine, reacting to system& business events, closely integrated to stream manager for dynamic change of dealable / indicative rate publication for all client streams plus central management of all system components;
• Deal execution – integration with deal booking system;
• Triangulation for spot & outrights post application of client spreads;
• Involved in design / maintenance of Core API used by ECN interfaces;
• Excel driven system test harness, developed to enhance quality of software delivery to business and QA team defined test packs and to test API / system boundaries;
• Transfer of FX calendar and fundamental pricing knowledge to juniors on pricing team; From May 2011 to February 2012 (10 months) London, United KingdomSenior Java Analyst / Developer @ Population of Oracle Coherence distributed caches to collate market risk underlier information from numerous golden sources within the bank to define a reference data system to support market risk applications.
• Definition of partitioned and replicated caches to support underlier data (read-thru & cache store logic);
• Build golden source bulk loaders: bulk loading of caches via Hibernate annotations;
• Development of query functions using entry-processors and aggregators;
• Issue/Issuer mapping processing;
• Bespoke java annotations to determine types of Underlier source to determine bulk-loading processing logic;
• Idiosyncratic Volatility Application. Java / PLSQL / SQL Analytics performance tuning exercise. Deriving volatility data using STRAT business scoring logic and business rules; adding major performance enhancements by use of caching and reducing emphasis on - reduced from 5hrs down to 40secs From August 2010 to April 2011 (9 months) London, United KingdomSenior Java Analyst / Developer @ Built a real time message based, multi-threaded server-side application, the Valuation Service, to allow the funding traders to assess the value of available stock; the available stock was used by traders to fund cash into the company.
• Large JVMs to support large amount of products, positions & position deltas, funding buckets;
• Real time messaging to ensure trader GUI constantly updated in real time as and when new stock positions are taken;
• Fast derivation and publication of funding trader’s bucket valuations;
• Performance testing, GC and memory monitoring especially during start-up whilst processing large volumes of messages; From November 2009 to July 2010 (9 months) Senior Java Analyst / Developer (FX) @ FX Fixing / BenchMarking System
Designed and implemented a Benchmarking / Fixing system. Orders were accepted from clients and executed on the hour. All services operated within a clustered environment.
• Real time FX Position Service, showing positions for spot and outright trades based on raw market rates received from RMDS; defined business rules for traversing spot and outright pricing trees to establish positions.
• FX Calendar Service; predicts direct & cross, spot & outright dates (pre & post spot) used for the pricing of crosses; captured business rules from spot and forwards traders and BAs;
• FX Pricing Crossing Service component (forward alignment), pricing via the EUR or USD;
• Currency Pair ownership service; ensure traders own ccy pairs associated with orders; management of distributed cache across two nodes of a cluster, using ActiveMQ Advisory messages; capture of order events via topics;
• Credit Risk Service; defined gross and netting rules (ccy limits) for orders placed by legal entities;
• Static data service; integration with bank’s centralized static data system, bridging between JMS and IBM MQ via SSL. Self-managed multi-country project (Singapore & India);
• Notification Service; sending out sales/trader notifications for specific business / system events using Mind-Align Api and Javamail;
• Performance testing of rate/trade latency, rate throttling / loading during non-farm payroll day, for the Eurobase FX software suite, presenting daily reports to business; created test harness using Reuters RMDS, RFA & JFreechart for graphs and stats, Currenex API to place orders;
STP System
• Prototyped STP system using Spring Integration / aspects to process FX and equities based trades. Involved in architecture and design of pipeline based architecture using Spring Integration components. (JMS, MQ, Spring Integration, AspectJ) From July 2007 to November 2009 (2 years 5 months) London, United KingdomSnr Analyst / Developer @ From May 2006 to May 2007 (1 year 1 month) London, United KingdomSnr Analyst / Developer @ From November 2004 to December 2005 (1 year 2 months) London, United KingdomSnr Analyst / Developer @ From August 2003 to September 2004 (1 year 2 months) London, United KingdomAnalyst / Developer @ From June 2000 to June 2001 (1 year 1 month) London, United KingdomAnalyst / Developer @ From March 1999 to April 2000 (1 year 2 months) London, United KingdomAnalyst / Developer @ From December 1997 to April 1998 (5 months) Reading, United KingdomAnalyst / Developer @ From November 1990 to August 1992 (1 year 10 months) United KingdomBachelor of Engineering (B.Eng.), Information Technology @ Cranfield University From 1987 to 1990 Bishop Heber High School, Cheshire Alex Gardner is skilled in: Programming, Equities, Business Analysis, Military, JMS, Agile Methodologies, Hibernate, Java Enterprise Edition, Spring Framework, Java, SQL, XML, Unix
UBS Investment Bank
Senior Java Analyst / Developer
July 2013 to July 2014
Discover Financial Services (Credit Card Auth / Payments)
Senior Java Analyst / Developer
May 2012 to July 2013
RBC Capital Markets ( FX )
Senior Java Analyst / Developer
May 2011 to February 2012
London, United Kingdom
Deutsche Bank
Senior Java Analyst / Developer
August 2010 to April 2011
London, United Kingdom
Morgan Stanley (Funding / Securities)
Senior Java Analyst / Developer
November 2009 to July 2010
Standard Chartered Bank
Senior Java Analyst / Developer (FX)
July 2007 to November 2009
London, United Kingdom
HBOS Treasury Services (FX)
Snr Analyst / Developer
May 2006 to May 2007
London, United Kingdom
Goldman Sachs (Securities)
Snr Analyst / Developer
November 2004 to December 2005
London, United Kingdom
Deutsche Bank ( Derivatives IT - Settlements)
Snr Analyst / Developer
August 2003 to September 2004
London, United Kingdom
Thomson Reuters ( Search Engine)
Analyst / Developer
June 2000 to June 2001
London, United Kingdom
Deutsche Bank
Analyst / Developer
March 1999 to April 2000
London, United Kingdom
Oracle
Analyst / Developer
December 1997 to April 1998
Reading, United Kingdom
Oracle
Analyst / Developer
November 1990 to August 1992
United Kingdom
Develop a new trade bus application to migrate a significant Equities trade flow from a legacy trade event bus to a new trade bus platform. Trade flow originated from an Equities order execution engine. Involved with: • Analysis, design and build of new trade bus application, transforming trades into downstream system message format; • Writing of socket... Develop a new trade bus application to migrate a significant Equities trade flow from a legacy trade event bus to a new trade bus platform. Trade flow originated from an Equities order execution engine. Involved with: • Analysis, design and build of new trade bus application, transforming trades into downstream system message format; • Writing of socket based applications to send messages between trading systems; • Use multiplexor approach for dealing with socket and application events; • Use non-GC designed classes and objects to support the fast transformation of trade flows to downstream systems; • Regex based trade filtering; design of complex filtering expressions implemented using lexical analyser and Reverse Polish Notation; • Develop ByteBuffer based In-Memory file backed message cache for ACK/NACK cache of trades received from downstream systems; • Trade replay ability; allow auto replay of in-error trades liaising with trade support once trade fixed; • Integration with golden source data systems for counterparties, books, instruments etc; • Responsible for development and production support (2nd line) for legacy trade event bus;
What company does Alex Gardner work for?
Alex Gardner works for UBS Investment Bank
What is Alex Gardner's role at UBS Investment Bank?
Alex Gardner is Senior Java Analyst / Developer
What industry does Alex Gardner work in?
Alex Gardner works in the Banking industry.
Who are Alex Gardner's colleagues?
Alex Gardner's colleagues are Helen Lawson, Nava Krishnan, Shahryar Jahangir, Minhaj A., Robert Begbie, Luca Garella, Simon Manwaring, Jennifer AP, Rooney Coleman, and Greg Handelaar
Enjoy unlimited access and discover candidates outside of LinkedIn
One billion email addresses and counting
Everything you need to engage with more prospects.
ContactOut is used by
76% of Fortune 500 companies