Scroll To View More
Chris Greenaway

Chris Greenaway

Cambridge, United Kingdom
Member since April 18, 2016
Chris has been writing software for over 30 years. He has two degrees: one in Mathematics and one in Physics. Primarily working in Java stack, with technologies such as JMS, JPA, JSP, Spring, Coherence, JXTA, and OSGi; he also has experience with other languages such as C, C++, C#, Perl, Clojure, Rust, and JavaScript.
Chris is now available for hire
Portfolio
  • 1Spatial
    Java, REST, JavaScript, C, Oracle
  • Worldpay
    Java, XML, Oracle, Sybase, JavaServer Pages, JavaScript
  • BNP Paribas
    Java, WebWork, FreeMarker, JavaScript, Sybase, Oracle, Selenium
Experience
  • Java, 19 years
  • Unix, 18 years
  • SQL, 18 years
  • Object-oriented Design (OOD), 18 years
  • Application Architecture, 16 years
  • Automated Testing, 16 years
  • Security, 16 years
  • Concurrent Programming, 10 years
Cambridge, United Kingdom
Availability
Part-time
Preferred Environment
IntelliJ and Git.
The most amazing...
...algorithm I developed used graph-partitioning to amalgamate small related jobs for effective load balancing.
Employment
  • Software Developer
    2014 - 2015
    1Spatial
    • Delivered a system to produce simplified maps from complex survey data.
    • Developed many GIS algorithms including promontory removal, labeling, workload partitioning, short edge removal and dead-end removal.
    • Reviewed code and coached team members on good design practices.
    • Communicated closely with customers to help with requirements definition and system configuration.
    Technologies: Java, REST, JavaScript, C, Oracle
  • Principal Software Developer
    2012 - 2013
    Worldpay
    • Integrated the Austrian EPS payment system into the payment gateway.
    • Made extensive use of digital certificates and XML signing to make payments.
    • Found, triaged, and fixed security flaws.
    • Coached junior developers and reviewed code.
    • Led the technical implementation of a multi-day server upgrade process.
    • Improved performance and robustness in the high-volume Internet-facing payments gateway.
    Technologies: Java, XML, Oracle, Sybase, JavaServer Pages, JavaScript
  • Lead Software Developer
    2010 - 2011
    BNP Paribas
    • Led the technical delivery of three development teams.
    • Worked with other technical leads to introduce consistent practices across the organisation.
    • Fixed hundreds of failures in the Selenium test suite, many due to the mishandling of multi-threading.
    Technologies: Java, WebWork, FreeMarker, JavaScript, Sybase, Oracle, Selenium
  • Software Developer
    2010 - 2010
    Royal Bank of Scotland
    • Created a distributed, cache-based data store for centralized trade data.
    • Created a custom ClassLoader to prevent Java library version conflicts.
    • Mentored remote developers in good design practice and TDD.
    Technologies: Java, JMS, Coherence, Oracle, GWT
  • Software Developer
    2008 - 2010
    Swiss Re
    • Created a risk management system covering both issuer and the counterparty risk for every financial instrument traded by Swiss Re.
    • Used bi-temporal database structure to provide fully historized data.
    • Used multi-threading and a clever sharding of data into huge JVMs to achieve full risk calculations in seconds rather than hours.
    • Created complex a front-end that allowed power users to create their own reports and define their own risk calculations.
    Technologies: Java, SWT, RMI, JEXL, Groovy, TopLink JPA, Sybase, Perl
  • Software Developer
    2005 - 2008
    Barclays Global Investors
    • Implemented a liability driven investments system generating analytics across liabilities, bonds, swaps, and credit derivatives.
    • Worked in a fully Agile team with daily pair programming.
    • Communicated and worked closely with the business to generate and refine requirements.
    • Architected and implemented an event-based fund management system.
    • Created an extensive automated test suite covering unit tests, acceptance tests and regression tests.
    Technologies: Java, JMS, Spring, Hibernate, Sybase, Swing, C#, .NET
  • Software Developer
    2004 - 2004
    Royal Bank of Scotland
    • Implemented a real-time swaps pricing system.
    • Created a network of price calculations that could handle concurrent changes to input prices.
    • Created an adaptive graph widget that would show more or less detail depending on how much screen real-estate it had available.
    • Integrated publishing prices to Bloomberg.
    • Added limit based trader alerting.
    • Upgraded the GUI so that it automatically restored to the last state.
    Technologies: Java, C#, .NET, SOAP, XML, SQL, Oracle
  • Senior Software Developer
    2003 - 2004
    Rolfe and Nolan
    • Led the development of a derivatives trading system.
    • Created a clever mechanism to handle incoming messages so that new types of messages were automatically parsed, validated, and persisted.
    Technologies: Java, XML, EJB, JMS, Oracle
  • Software Developer
    2003 - 2003
    Abbey
    • Integrated a trading system using an XML messaging architecture.
    • Contributed several patches to the open source project OpenAdaptor.
    Technologies: Java, XML, XSLT, JMS, MDB, SQL, JBoss, WebLogic, Windows, Unix
  • Software Developer
    2001 - 2003
    WestLB Panmure
    • Led the design and implementation of a back office static data management system.
    • Trained and mentored others in Java and Object-Oriented design.
    • Coordinated with the architecture group.
    • Solved the problem of maintaining consistent data whilst allowing potentially conflicting changes to move through a workflow for approval.
    • Introduced semi-automated smoke testing for the web-based front end.
    Technologies: Java, XML, JavaScript, CSS, SQL, Sybase
  • Senior Software Developer
    2000 - 2001
    Citria
    • Led a team of seven software engineers to build a web app for financial intermediaries.
    • Defined technology and architecture for a news publishing website.
    • Participated in the security group - sharing knowledge and ideas relating to software security.
    • Organized a series of lectures on technical topics.
    • Conducted annual appraisals for a group of fifteen people.
    • Heavily involved in recruitment of software developers.
    Technologies: Java, EJB, JSP, Servlets, XML, RMI, WebLogic, SQL, Sybase
  • Software Developer
    1998 - 2000
    Anvil Software
    • Created the core mathematical components of a cross-product trading system.
    • Developed and supported custom enhancements to a front and middle office repo trading system.
    • Worked on client site providing front line support in a front office trading environment.
    • Fixed a huge number of bugs from the backlog.
    Technologies: C++, CORBA, Perl, UNIX, SQL, Sybase
  • Researcher
    1996 - 1998
    GCHQ
    • Worked as a research mathematician.
    • Defined new algorithms and evaluated their performance.
    Technologies: C, C++, Java
Experience
Skills
  • Languages
    XML, Java, SQL, HTML5, JavaScript, HTML, Rust, CSS, Clojure, XSLT, C#, Bash, Lisp, Regex, Stored Procedure, Assembly, C, C++, Java 8
  • Frameworks
    Spring, Hibernate, JPA, OSGi, Mockito, JUnit, Swing, JXTA, Spring JDBC, JSP, Selenium, JavaServer Pages (JSP), JSON Web Tokens (JWT)
  • Paradigms
    Agile, Object-oriented Design (OOD), Application Architecture, Test-driven Development (TDD), Automated Testing, Distributed Programming, Concurrent Programming, REST, Database Schema Design
  • Platforms
    Java EE, Unix, Linux, JVM, Windows, JBoss, Solaris, HP-UX, Oracle, JSE
  • Storage
    Databases, Sybase, Database Transactions, PostgreSQL
  • Other
    Web Services, Requirements & Specifications, Mathematics, Computer Science, Cryptography, Bitemporality, Application security, Security, Servlets, Perfomance Tuning, Dynamic Load Balancing, Finance, SSL certificates, OWASP, SOAP, WebLogic, EJB, AJAX, User Interface (UI), Documentation, Cryptocurrency, Asymmetric Encryption, Peer-to-Peer networking, Network Protocols, Neural Networks, Localization, Internationalization, Trading
  • Libraries/APIs
    JDBC, JMS, Dom4j, JDOM, Java RMI, Eclipse SWT, Handlebars, jMock, EasyMock, JAX-RS, jQuery, JNDI, Java Security, Java Collections, Java Servlets, SAX
  • Tools
    IntelliJ, Eclipse IDE, LaTeX, Apache Tomcat, Git, GIS, Javadoc, Java VisualVM, CVS, TortoiseSVN, Apache, Apache Ant, Maven, Subversion (SVN), Java Concurrency, Java Application Servers
Education
  • BSc. Hons First Class Degree in Mathematics
    1992 - 1996
    Southampton University - Southampton, England
  • BSc. Hons 2:1 Degree in Physics
    1992 - 1996
    Southampton University - Southampton, England
I really like this profile
Share it with others