Senior TypeScript/React Software Engineer
Web timkendrick.co.uk / LinkedIn timrbkendrick / Github timkendrick
Bright, enthusiastic hard‑worker with over ten years’ experience across multiple industries. Frequent open source contributor with high standards of documentation and testing. Excellent problem‑solving skills, fast learner, and a keen eye for detail and aesthetics. I’m highly self-motivated and a very strong team member who knows how to design and ship quality products.
Equally comfortable building large-scale UI-driven applications, robust frameworks and libraries, in-house tools, or time-saving automation utilities, I love to tackle big problems and take pride in writing clean code built around elegant user-focused APIs.
Frameworks / Technologies
Strong expertise in TypeScript, ES2015+, React/React Native, GraphQL/Apollo, Redux, Node.js, Jest, RxJS, lodash, Webpack/Babel, Electron, and various other buzzwords. I particulary enjoy functional coding, reactive/stream programming, and anything involving AST transformation/analysis. I like to learn new concepts from first principles, and have written lots of my own libraries for streams, transducers, virtual DOM, etc., to explore how these approaches work at a fine-grained level.
My hobby projects tend to focus on creating more efficient ways to program computers, often via new takes on existing editor paradigms. Lately I’ve been exploring compiler/interpreter design: current side-project is an innovative stream-based language implemented in Racket (cross-compiling to JS with additional JVM target planned), which I’m using to build a visual IDE.
Selected Work History
- April 2019 - December 2019: 11:FS, Senior Software Engineer (freelance)
- September 2018 - March 2019: Canvas Composer, Founder
- August 2016 - August 2018: Deutsche Bank / DWS, Lead Open-Source Developer (freelance)
- September 2015 - April 2016: Filecanvas, Founder
- September 2013 - April 2015: Fathom, Lead Developer
- February 2013 - August 2013: R/GA London, Senior Front‑End Developer (freelance)
- August 2011 - January 2013: Burberry, Senior Front‑End Developer (freelance)
- February 2010 - July 2011: Mohu, Lead Developer
- Summer 2006 - February 2010: Ralph, ActionScript Developer
Selected Open Source Projects
Popular utility libraries
Larger standalone projects
- Muster (2018) – Reactive streaming data language for real-time client/server apps
- Skivvy (2015) – Modular task runner for reusable build systems
- T‑Bone (2013) – Backbone.js view/binding component framework
Selected Job Roles and Responsibilities
11:FS (March 2019 - December 2019)
Lead React Native developer building a greenfield mobile app for a US retail bank’s new challenger offering. Responsibilities include front-end architecture design, development of in-house testing framework and cross-platform styling tools, presenting technology-related talks, and interviewing potential new hires. Singlehandedly developed a fully-functioning prototype app within three weeks of arrival, with entire polished V1 release in users’ hands within less than three months.
Primary technologies include TypeScript, React Native, Apollo/GraphQL.
Canvas Composer (September 2018 - March 2019)
Singlehandledly built a large-scale IDE for rapid development of React applications (canvascomposer.com, currently in alpha). Intuitive UI builder allows toggling between visual drag-and-drop workspace and source code editor. Component library plugins and integrated zero-config build tools and allow rapid application prototyping within a graphical interface. Extensive static JSX source analysis of existing code allows prototypes to be seamlessly integrated within a real codebase.
Currently packaged as an Electron app written in React/Redux/Node.js, easily repurposable to be a hosted web service due to client/server application architecture and modular plugin system.
Deutsche Bank / DWS (August 2016 - August 2018)
Lead architect/developer on a graph-based streaming data framework (Muster, now open-source), used to power data-driven front-end applications across Deutsche Asset Management (now DWS).
Muster combines all an application’s data – whether local or remote, synchronous or asynchronous – into a single unified virtual graph that seamlessly spans client and server, allowing client applications to manipulate remote data sources as easily as in-app data. Extensive library allows smart queries, live mutations, and limitless transformations on real-time data streams (mapping/filtering/combining/etc). Production users reported large productivity gains and vastly decreased bug count.
Project responsibilities included product direction, API/architecture design, core library implementation, development of bespoke unit-testing framework and browser plugin for developer tools.
Fathom (September 2013 - April 2015)
Lead front‑end developer for a highly interactive real‑time corporate bond trading platform for Tradeweb and accompanying component suite. Responsibilities included application architecture, development of in‑house component library, performance tuning/profiling, internal build tools, technical leadership, teaching and supervising other developers, hiring new developers.
Burberry (August 2011 - January 2013)
Development of all interactive experiences on burberry.com, creation of in-house JS/CSS Framework (used across all campaign sites, live streamed fashion shows, press kits and in‑house tools), development of in-house internationalization tools, automation / build process improvements, technical research, hiring and supervising new developers.
- 2005 - 2008: Trinity College, University of Cambridge (BA degree in Philosophy, 2:2)
- 2003 - 2005: Sevenoaks School (International Baccalaureate Diploma, 45 out of 45)