Ian Cooper

Software Engineer

Coulsdon, England, United Kingdom34 yrs experience
Most Likely To SwitchHighly Stable

Key Highlights

  • Over 20 years of experience in software architecture.
  • Expert in event-driven and microservices architectures.
  • Frequent speaker and contributor to open-source software.
Stackforce AI infers this person is a seasoned architect specializing in ecommerce and event-driven systems.

Contact

Skills

Core Skills

AwsArchitectureIntegrationCollaborationApi DesignEvent-driven ArchitectureService DesignMessagingMicroservicesAgile Project ManagementProject ManagementSoftware Development

Other Skills

Amazon Web Services (AWS)DDDCommunicationApache KafkaC#RESTEDACQRSOOPGitWritten CommunicationTest Driven DevelopmentTDDTechnical Engineering.NET

About

I am a polyglot coding architect with over 20 years of experience delivering solutions in government, healthcare, and finance and ecommerce. During that time I have worked for the DTI, Reuters, Sungard, Misys, Beazley, Huddle and Just Eat Takeaway delivering everything from bespoke enterprise solutions, 'shrink-wrapped' products for thousands of customers, to SaaS applications for hundreds of thousands of customers. I am an experienced systems architect with a strong knowledge of OO, TDD/BDD, DDD, EDA, CQRS/ES, REST, Messaging, Design Patterns, Architectural Styles, ATAM, and Agile Engineering Practices I am frequent contributor to OSS, and I am the owner of: https://github.com/BrighterCommand. I speak regularly at user groups and conferences around the world on architecture and software craftsmanship. I run public workshops teaching messaging, event-driven and reactive architectures. I have a strong background in C#. I spent years in the C++ trenches. I dabble in Go, Java, JavaScript and Python.

Experience

34 yrs
Total Experience
4 yrs 10 mos
Average Tenure
7 yrs 2 mos
Current Experience

Just eat takeaway.com

2 roles

Senior Principal Engineer

Promoted

Nov 2021Present · 4 yrs 5 mos

  • I moved to the position in Strategy and Architecture. Our team reports into the CTO and has responsibility for determining the architectural vision and practice for JET. I lead on many of the architectural initiatives for this team.
  • I am the engineering lead for the One programme which seeks to merge the various Just Eat Takeaway eCommerce stacks into a single system. I advise on architectural constraints, and work with the CTO, engineering and product directors, heads of engineering and principals to define the components that will comprise the One platform.
  • I instituted an architectural advice process to review ADRs, raised by individual teams for work items as part of a programme. The process is based on the paper by Andrew Harmel-Law on "Scaling the Practice of Architecture, Conversationally"; it provide advice to teams on design and implementation. Through this I provided technical advice to varied programmes of work.
  • I led on the creation a set of architectural principles to guide on future software design, engaging technical leaders throughout the organization. I encouraged guilds to support this with practices as "standing advice".
  • I regularly provide ad-hoc advice to stakeholders across engineering, delivery and product on architecture and strategy issues; what Gregor Hohpe would call "riding the architecture elevator."
  • I contributed code to the Just Eat platform to ensure that I remained in touch with the day-to-day developer experience.
Amazon Web Services (AWS)DDDCommunicationApache KafkaC#REST+14

Principal Engineer

Feb 2019Nov 2021 · 2 yrs 9 mos

  • I joined Just Eat as a Principal Engineer in Integrations. In a self-directed role, my job was ensure good practice around inter-process communication. Working with internal guilds, I worked to define standards and best practices for HTTP APIs and Event Driven Architectures and ran architectural design workshops for teams in these areas.
  • I led on the "Goldilocks" initiative to improve our service boundaries by right-sizing them to sub-domains. This work involved identifying sub-domains, beginning with an off-the-shefl model from APQC for retail, and then using techniques such as value stream mapping, event storming and event modelling with teams to refine this model for Just Eat's sector. The result was the identification of a number of sub-domains and a mapping of existing features onto those sub-domains, to allow teams to coalesce and simplify the service estate.
  • I worked to create a plan to improve Event Carried State Transfer, adding Kafka as a protocol for series events alongside the discrete events from SNS.
  • I introduced AsyncAPI to JET and envisioned and prototyped tooling to use it to deploy our messaging infrastructure (queues, topics etc.). I supported the messaging integrations team in taking that from prototype to product.
  • Finally, I was the worksteam lead on a project to determine how Just Eat could integrate its platforms more closely, leading a cross-organizational team looking at how the individual hub-and-spoke broker based platforms could interoperate.
Amazon Web Services (AWS)DDDCommunicationApache KafkaC#REST+14

Huddle

Lead Application Architect

Jan 2011Feb 2019 · 8 yrs 1 mo

  • I joined Huddle as an application architect to help them improve productivity and reliability of the development team.
  • I proposed and oversaw an soa/microservices initiative to decompose the monolithic application into manageable parts.
  • I paid off technical debt slowing down development: moving Huddle away from legacy db schemas; revitalizing software craftsmanship practices (including CI, TDD, SOLID etc.), improving agile processes; and brought the team away from an MS focus to use OSS tools such as Redis.
  • I moved Huddle to an Event Driven Architecture and mentored the team on messaging and other distributed system concepts.
  • I led the development of REST APIs (using HATEOAS) over earlier HTTP+JSON APIs.
  • I worked closely with stakeholders to champion engineering concerns and find the best route to market for new features. I worked with development management to ensure the timely delivery of features.
  • I joined with operations on our AWS transition, mentoring the team on Cloud Native approaches and issues that would have to be resolved beyond an initial 'lift and shift'.
  • I introduced Python to the development team to move Huddle away from a monoglot MS stack and helped Huddle embrace Linux servers.
Amazon Web Services (AWS)DDDAgile MethodologiesCommunicationRabbitMQC#+17

Beazley

Team Lead

Oct 2005Dec 2010 · 5 yrs 2 mos

  • I helped Beazley transition to Agile Engineering and Project Management practices and was the team lead and application architect for a number of key projects including development of a new underwriting platform, BeazleyPro, to support Beazley's US business
DDDAgile Project ManagementAgile MethodologiesCommunicationC#EDA+12

Misys

Team Lead

Mar 2004Oct 2005 · 1 yr 7 mos

  • Lead developer for a rules based compliance engine developed using the .NET framework. The team used an XP methodology for product development.
Agile Project ManagementAgile MethodologiesCommunicationC#OOPWritten Communication+8

Sungard trading and risk systems

Developer

Jan 1999Jan 2004 · 5 yrs

EDAOOPC++Microsoft SQL Server

Reuters health

Senior Developer

Jan 1994Jan 1999 · 5 yrs

OOPC++

Department of trade and industry

Executive Officer

Jan 1992Jan 1994 · 2 yrs

Education

University of Southampton

Bachelor of Arts - BA

Sep 1988Jul 1991

Whitgift School

Jan 1978Jan 1987

The Open University

Postgraduate Certificate in Computing for Commerce and Industry

Stackforce found 100+ more professionals with Aws & Architecture

Explore similar profiles based on matching skills and experience