Ben Stopford

Ben Stopford

Engineering Lead & Architect specialising in Distributed Data

Location
Twickenham, United Kingdom
Industry
Computer Software

As a LinkedIn member, you'll join 300 million other professionals who are sharing connections, ideas, and opportunities.

  • See who you and Ben Stopford know in common
  • Get introduced to Ben Stopford
  • Contact Ben Stopford directly

View Ben's full profile

Ben Stopford's Overview

Current
Past
Connections

500+ connections

Websites

Ben Stopford's Summary

I work as a senior staff engineer at RBS switching between engineering, architecture and leadership roles. I focus on distributed systems and data storage with my current project being a cross-system, shared database for the bank's key facts.

I am one of RBS's Distinguished Engineers and have Masters degrees in Information Systems and in Physics.

I've written and collaborated on a number of academic publications and speak frequently at industry and academic conferences, mostly on low latency and big data. I keep a blog at http://www.benstopford.com.

Specialties: Oracle Coherence, Distributed Data Storage, Distributed Computing, Test Driven Development, Agile Software Processes

Ben Stopford's Experience

Senior Staff Engineer

RBS Global Banking & Markets

Public Company; 10,001+ employees; Investment Banking industry

June 2009Present (5 years 4 months) london, united kingdom

Led the design and build of a distributed data platform, which mixes relational and non-relational concepts to form the banks main trade store.

HPC / Coherence Architect

RBS Global Banking & Markets

Public Company; 10,001+ employees; Investment Banking industry

July 2007June 2009 (2 years)

Bank-wide Coherence Architect working in the High Performance Computing Team

Consultant

Thoughtworks

Privately Held; 1001-5000 employees; Information Technology and Services industry

April 2006June 2007 (1 year 3 months)

Worked on a variety of agile development projects, architectural engagements and quick-starts.

Technical Lead

Barclays Capital

Public Company; 10,001+ employees; BARC; Financial Services industry

September 1999March 2006 (6 years 7 months)

Built the Prime Brokerage section of the BARX online trading platform. I lead the Java development team from POC to three years in. Had fun with Agile, TDD and Barcap politics! I also worked as a developer in Front Office Equity Finance and the Development Tools Team

Ben Stopford's Projects

  • Operational Data Cache (ODC)

    • January 2010 to Present

    ODC is a highly distributed in-memory, normalized data store designed for scalable data access and processing. The data includes trades, cash flows, mark-to-market and reference data; ODC is built entirely on the oracle coherence technology and utilizing its different patterns.

Ben Stopford's Skills & Expertise

  1. Oracle Coherence
  2. Agile
  3. TDD
  4. Distributed Systems
  5. Grid Computing
  6. High Performance Computing
  7. Java
  8. Agile Methodologies
  9. Continuous Integration
  10. Test Driven Development
  11. Low Latency
  12. SOA
  13. Multithreading
  14. Agile Project Management
  15. Databases
  16. Object Oriented Design
  17. Architecture
  18. Architectures
  19. JMS
  20. System Architecture
  21. Spring
  22. JUnit
  23. Java Enterprise Edition
  24. Design Patterns
  25. Scala
  26. Big Data
  27. Shell Scripting
  28. Scalability
  29. Software Development
  30. Ant
  31. Maven
  32. Perl
  33. Hadoop
  34. REST
  35. Unix

View All (35) Skills View Fewer Skills

Ben Stopford's Publications

  • Beyond The Data Grid: Coherence, Normalisation, Joins and Linear Scalability

    • QCon (InfoQ)
    • March 9, 2011
    Authors: Ben Stopford

    In 2009 RBS set out to build a single store of trade and risk data that all applications in the bank could use. This talk discusses a number of novel techniques that were developed as part of this work. Based on Oracle Coherence the ODC departs from the trend set by most caching solutions by holding its data in a normalised form making it both memory efficient and easy to change. However it does this in a novel way that supports most arbitrary queries without the usual problems associated with distributed joins. We'll be discussing these patterns as well as others that allow linear scalability, fault tolerance and millisecond latencies.

  • Test Oriented Languages: Is it Time for a new Era?

    • IEEE International Conference on Testing, Verification and Validation (ICST), Berlin, Germany
    • March 25, 2011
    Authors: Ben Stopford

    This paper presents a thought experiment to explore improvements to the testability of current imperative languages. We use the guise of a hypothetical language, Quilt, to present one path that such a language might take. For brevity we retain the language constructs of current imperative languages like Java and C# and explore alterations in the compiler operation that make the language more test-oriented.

  • Enabling Testing, Design and Refactoring Practices in Remote Locations

    • IEEE International Conference on Testing, Verification and Validation (ICST), Berlin, Germany
    • March 25, 2011

    Learning is a process of successive steps; we learn, we practice, the process cycles. It requires dedication from both teacher and student and it requires constant reinforcement [13]. It is our contention that the best method for transferring skills like testing, refactoring and software design is through contextual learning: An ongoing program of enablement in which practices are shared in the context of the programmer’’s work in response to the challenges they face. The code base forms the basis for contextual learning providing an information conduit that is location, language and culturally agnostic.
    We discuss some of the problems faced by our team: A greenfield, test-driven project with twenty developers split between London and India. We discuss the methods employed to better enable testing and refactoring practices across this geographical divide. We found that different practices better- suited different phases of the project and different stages of learning within the team. As such these practices are mapped to the Shuhari learning model [16].
    We conclude that there is no substitute for colocation. However we found that the team’’s motivation is crucial to the success of learning endeavors. Intensive one-on-one practices worked well at the start of the project, when motivation was high and there was lots of ground to cover. As the project continued, the distribution of skills became more even and more collaborative practices were better suited to promoting learning.

  • Test Driven Development: Has Mocking Gone Wrong?

    • 1st REFTEST Network Workshop – Brunel University, London
    • January 28, 2010
    Authors: Ben Stopford

    This talk explores whether there is a compulsive argument for mock-driven development as well the issues arising from coupling between source code and their tests.

  • Simulating the Structural Evolution of Software

    • SOFTWARE PROCESS CHANGE Lecture Notes in Computer Science, 2006, Volume 3966/2006, 294-301, DOI: 10.1007/11754305_32
    • June 14, 2006
    Authors: Ben Stopford, Steve Counsell

    As functionality is added to an aging piece of software, its original design and structure will tend to erode. This can lead to high coupling, low cohesion and other undesirable effects associated with spaghetti architectures. The underlying forces that cause such degradation have been the subject of much research. However, progress in this field is slow, as its complexity makes it difficult to isolate the causal flows leading to these effects. This is further complicated by the difficulty of generating enough empirical data, in sufficient quantity, and attributing such data to specific points in the causal chain. This article describes a framework for simulating the structural evolution of software. A complete simulation model is built by incrementally adding modules to the framework, each of which contributes an individual evolutionary effect. These effects are then combined to form a multifaceted simulation that evolves a fictitious code base in a manner approximating real-world behavior. We describe the underlying principles and structures of our framework from a theoretical and user perspective; a validation of a simple set of evolutionary parameters is then provided and three empirical software studies generated from open-source software (OSS) are used to support claims and generated results. The research illustrates how simulation can be used to investigate a complex and under-researched area of the development cycle. It also shows the value of incorporating certain human traits into a simulation—factors that, in real-world system development, can significantly influence evolutionary structures.

  • Balancing Replication and Partitioning in a Distributed Java Database

    • JavaOne
    • September 8, 2011
    Authors: Ben Stopford

    This session describes the ODC, a distributed, in-memory database built in Java that holds objects in a normalized form in a way that alleviates the traditional degradation in performance associated with joins in shared-nothing architectures. The presentation describes the two patterns that lie at the core of this model. The first is an adaptation of the Star Schema model used to hold data either replicated or partitioned data, depending on whether the data is a fact or a dimension. In the second pattern, the data store tracks arcs on the object graph to ensure that only the minimum amount of data is replicated. Through these mechanisms, almost any join can be performed across the various entities stored in the grid, without the need for key shipping or iterative wire calls.

Ben Stopford's Additional Information

Websites:
Groups and Associations:

Member of the IEEE, Member of BCS

View Ben Stopford’s full profile to...

  • See who you and Ben Stopford know in common
  • Get introduced to Ben Stopford
  • Contact Ben Stopford directly

View Ben's full profile

Viewers of this profile also viewed...