I'm Sam, a software engineer based in the UK with a focus on UI and tooling.
I'm passionate about delivering high quality software. I have broad industry experience across a range of types of organisations, most recently at global investment banks.
During my career I have worked across the stack with various technologies and have a particular interest in all things web and JavaScript. I have a focus on UI development and tooling, often working with TypeScript, React, Node.js and GraphQL.
One of my interests is static code analysis (I have published my own open source static analysis tool on GitHub). I also enjoy learning about personal finance and build SavingTool.co.uk in my spare time.
Role: Software Engineer (VP, UI Engineering)
Building tooling and services to enable and enhance UI engineering across the CIB, with a focus on developer experience. Contributions to Modular (open source) and redevelopment of a key strategic CLI tool.
Key tech: TypeScript, React, Node.js, GraphQL, Micro Frontends, Modular, Monorepos
Role: Senior UI Developer (VP), UI Team Lead (VP)
Leading & managing a development team of 7 to drive UI development of a React/TypeScript/GraphQL UI platform for cross-asset risk systems (Markets Technology, ICG)
Key tech: React, TypeScript, GraphQL, Micro Frontends
Role: React JavaScript Developer (contract)
Worked in the core OrgVue team to deliver the 3.4 milestone. Major new features including new charts and data fetching reimplementation. I also gained experience working with the new React concurrent mode and statecharts for state management.
Key tech: React, TypeScript, Concurrent Mode, Highcharts
Role: React JavaScript Developer (contract)
Delivering new capabilities on SMARTYs marketing site and user webapp. New features and improved experiences for many thousands of users.
Key tech: React, Redux, Jest, Flow, Gatsby
Role: React JavaScript Developer (contract)
Core member of a team delivering an internal greenfield financial analysis webapp from day 1. Primary member of a 6-strong frontend dev team iteratively delivering a high-value product. My primary highlight on this project has been introducing the team to Flow and using it extensively throughout our code, plus leading the charge in testing.
Key tech: React, Redux, Jest, Flow
Role: React JavaScript Developer (contract)
I worked on an embedded agile team delivering substantial upgrades to racingpost.com. By the end of this project, racingpost.com went from only single bets, to a fully featured betslip supporting multiples and accumulators accross 6 bookmaker partners, with a brand new user experience. The stand-out feature of this project was the quality of the betslip component we delivered, including 99.96% test coverage.
Key tech: React, Redux, Jest
Role: Senior Front-End Developer
I helped the team at Circus Street advance their online learning product by working accross their offering including the marketing website, the learning web application, the hybrid app and several internal management tools. This ranged from several greenfield React/Redux projects with 80%+ test coverage to maintaining an older Angular 1.X project. During this role I learned a great deal about Redux and had the pleasure of implementing several apps using it.
Key tech: React, Redux, Jest, Angular
Role: Senior Full-Stack Developer
I was a significant contributor to the new (as-yet unreleased) British Museum website. Our team delivered a large project that enables the museum to deliver a vast range of dynamic content to over 500,000 global visitors per month. We implemented a fully component-ized responsive website with a containerized backend that involved multiple levels of caching and used microservices-like patterns. This project really exposed the challenges of a content-heavy organization.
Key tech: Node, Laravel, Vue
Role: Lead Developer & Partner
I led a team of 2 from iterating prototypes, to MVP, to a product delivering record growth month-on-month. Our product was a Laravel/Symfony PHP monolith with a Angular 1.X front-end, with many more technologies and challenges hidden away - including message queues, cacheing mechanisms, a database migration, AWS deployment and a hybrid Ionic app.
Key tech: Angular, PHP, AWS
Role: Tech Lead
I led the technical side of Google's showcase site for the Nexus 5 phone that launched in 2013. A responsive, retina-compatible & parallax project with interactive 'moments', this site was visited by millions during the annoucement week. A challenging but rewarding project including integration with some internal Google systems.
Key tech: Angular, GSAP/TweenMax