@tdeekens avatar
tdeekens / curriculum-vitae

Profile

I work at the intersection of software architecture, technical leadership, and cross-team execution, scaling products, engineering practices, and teams without losing delivery autonomy.

My work spans software architecture, technical leadership, and cross-team delivery across frontend platforms, APIs, and supporting infrastructure. I am most effective working with teams to make technical decisions, make tradeoffs explicit, and build the alignment needed for execution without needing formal authority in the process. I care about building products end to end, mentoring engineers, and scaling systems and practices with clarity, autonomy, and technical quality.
I care deeply about Open Source and support it through code, issue triage, and funding. That includes contributions to msw and DOMPurify, creating flopflip and promster, and additional libraries and projects on GitHub. I also initiated and led a democratic funding program that supported 20+ projects financially over four years.

Beyond work: retired, lanky basketball player, self-taught and lousy guitarist, and avid home cook for the household who enjoys getting frustrated about his latte art.

Work experience

Remote Principal Engineer at commercetools from Vienna, Austria March 2022 - present

Selected as the first Principal Engineer within the engineering department, helping commercetools define a structured Tech Leadership discipline as part of the Individual Contributor track. Together with the Director of Tech Leadership, I expanded the role to cover Service Architecture, API Design, Performance, Security, and Reliability. My focus was the architecture of Business User Tooling across teams, enabling teams to develop and deploy services and frontend applications autonomously at scale.

Responsibilities

  • Technical direction setting: Drove key parts of the tech strategy and aligned them with product strategy across the product development department. Guided technical direction across teams and unblocked delivery on critical initiatives.
  • Hiring & onboarding: Defined interview processes and onboarding plans for Principal Engineers, Engineering Managers and Chapter Leads joining or transitioning within the engineering department.
  • Technical excellence: Defined engineering practices and associated knowledge sharing mechanisms to sustain technical quality over 8+ years within my discipline.
  • Public visibility: Built internal and external technical visibility through blog posts, conference talks, and partnerships with other companies. Managed an Open Source donation program for three years supporting 20+ projects financially.

Initiatives

AI & Agentic Systems

  • Defined the architectural direction for Commerce Agents across three product teams by establishing and leading an 12 people strong Agentic Commerce Working Group, aligning individual RFCs into a unified design and transitioning the work into the autonomous Agent Platform Team.
  • Led architectural guidance for AI integration across Business User Tooling surfaces including a chat assistant, Order Summary, Cora, MCP Essentials, the Smart Product Data Modeller, and AI Hub.
  • Authored Architectural Guidelines for AI projects and contributed to the company-wide Tech Radar, including the contribution process and integration into the engineering department's way of working.
  • Defined and led the evaluation and rollout of GitHub Copilot, Cursor, Claude Code, Codex and OpenCode across engineering. Scaled Claude Code to 100+ seats and GitHub Copilot and Cursor to 80+ users, backed by vendor contracts and an updated IT Security policy for AI usage.

Reliability, Security & Resilience

  • Introduced and owned an on-call rotation for frontend and APIs, integrated it with support workflows, and used postmortems to drive improvements that reduced incidents from two per month to zero over six months, met the company's highest SLA, and enabled 10-minute response times for high-priority tickets.
  • Drove multi-cloud resilience for Business User Tooling, eliminating single points of failure and enabling availability in China alongside cross-cloud failover.
  • Led a credential rotation programme, including automated Postgres rotation, rotation runbooks for manual credentials, and migration to auto-rotated, highly-privileged API clients.

Cross-Team Architecture & Delivery

  • Owned cross-team product, architecture, design, and UX improvements across eight teams, creating a repeatable model for multi-team delivery through tech leadership and improving the product's positioning in the Gartner Magic Quadrant.
  • Defined and led technical working groups spanning multiple teams and disciplines, shaping architecture for 5+ teams through RFCs and design documents.
  • Facilitated PR/FAQ processes for 5+ Business User Tooling initiatives, including a new Design System and Filters & Navigation improvements, aligning engineering, product management, and UX around shared discovery and execution plans.

Organizational Design

  • Set up and strengthened Chapters as a cross-team collaboration model driving technical initiatives across teams. Planned and implemented chapter rotation to sustain technical investment in operability and maintenance and used Chapters to organise eight onsites spanning 100+ individual contributors.
  • Authored the Chapter of Chapters ways-of-working and ran interviews with Chapter Leads to align practice across product and engineering disciplines.
  • Contributed to the transition from Chapters to Foundation Teams, including communication strategy, rotation guardrails, and Staff Engineer role definitions.
  • Introduced Service Quality for service tiering paired with production readiness checks, helping teams apply consistent operability standards across services.

Hiring, Vendors & Enablement

  • Managed and negotiated SaaS contracts with Anthropic, CircleCI, GitHub and other vendors. Managed asset compliance through OneTrust, including user lifecycle management for leavers across the Business User Tooling.
  • Defined transparent hiring processes for Engineering Managers and for dedicated high profile roles such as Frontend Chapter Lead. Contributed to hiring processes for Head of Product, Head of Engineering and Vice President of Engineering.
  • Organised SaaS tool trainings on LaunchDarkly, CircleCI and GitHub Copilot to deepen tool usage across the engineering department.
  • Established Agent Anonymous as a recurring knowledge-sharing format with 50+ participants and co-owned the Try-AI-Thon initiative, staffing 15+ teams and culminating in a company-wide hackathon to upskill AI adoption across departments.

Remote Frontend Tech Lead at commercetools from Vienna, Austria January 2020 - February 2022

Transitioned into being a fully remote Tech Lead of all frontend related topics for six teams across Europe and the United States. Involved in defining hiring and staffing plans, quarterly planning and cross-team engineering efforts. During execution mentors engineers across teams in different areas of the tech stack. Sets long-term vision and goals collaboratively with engineers and product managers while guiding and communicating their execution.

During this period, I helped scale frontend engineering across six teams while supporting a rapidly growing company and product. The work included enabling independent frontend delivery, improving engineering quality, and supporting enterprise-grade product development for large global brands including LEGO, Volkswagen, Yamaha, AT&T, Bang & Olufsen, Qantas, and Universal.

Responsibilities

  • Hiring: setting and communicating long-term staffing and hiring plans for the engineering department growing the group from four to sixteen engineers.
  • Onboarding: defining organization wide onboarding goals for frontend engineers in all teams. Enabling and easing the continuous growth of the department.
  • Planning: contributed to quarterly roadmap planning for six development teams. Aiming to help to make delivery as predictable and calm as possible.
  • Technology: setting technical visions for the department enabling long-term stability of delivery.

Initiatives

  • Defined and rolled out a testing strategy that enabled continuous deployment across ten independent frontends owned by multiple teams, increasing deployment velocity from a weekly cadence to multiple times a day.
  • Set up a recurring democratic Open Source donation model for projects used inside the company and enabled commercetools to financially support various projects.
  • Managed a budget for all external services such as Sentry, CircleCI and Percy used by various teams.
  • Set up and steered a frontend chapter consisting of six members that drove execution of cross-cutting technical concerns across teams with product managers.
  • Shaped the long-term engineering organization, from team responsibilities to roles within and across teams.

Senior Software Engineer at commercetools from Berlin, Germany and Vienna, Austria April 2017 - January 2020

Working as a Software Engineer focusing on JavaScript across the stack within a cross-functional team building an internationalized, customizable web application for e-commerce merchants allowing administration of complex and large scale product, category, order, discount and customer data.

Working on the frontend and nearby REST & GraphQL APIs of the Merchant Center built with React, Apollo and Redux while being tested with Jest, react-testing-library and Cypress. Additional infrastructure includes but is not limited to webpack, prettier and react-storybook. The application follows a sub-application architecture allowing easy extensions and parallel development and deployments by multiple teams in a test-driven and pull request based development environment on GitHub. Continuous Integration is performed via CircleCI with development branches being automatically pushed to a Kubernetes cluster. Additionally supporting the Node.js and JavaScript SDK team.

Responsibilities

  • Onboarding: onboarding frontend engineers across 3 cross-functional teams.
  • Hiring: defining code challenges and interviewing potential hires.
  • Code Reviewer: being responsible for reviews of both internal and external developers.
  • Collaboration: defining processes and tooling for style guides to support seamless design and development collaboration.

Initiatives

  • Introduced feature toggling via LaunchDarkly with the self-written flopflip library, enabling more frequent deployments and beta testing of features with selected customers and product managers.
  • Migrated frontend and Node.js monitoring from Influx to Prometheus and Grafana using promster, increasing observability of the platform, improving its health, and enabling auto scaling.
  • Introduced and advocated prettier for automatic code formatting, simplifying and speeding up code changes while removing discussions around code formatting.
  • Migrated the JavaScript SDK to a Rollup based build via CircleCI, speeding up Continuous Integration and enabling an automated release process without needing a local machine.
  • Added a dual deployment workflow to AWS and GCP onto a Kubernetes cluster with Helm into six production environments.

Tech Lead & JavaScript Developer at Brandwatch from Berlin, Germany March 2016 - March 2017

Working as a JavaScript developer within an agile team building great web-based software for comprehensive social network data monitoring and analysis.

Working on frontend and related backends powering browser-based data visualizations of social media data from various sources. Activities include the implementation of performant and reusable visualization components using Backbone.js as well as maintaining a large, highly interactive and customizable dashboard UI. All with a focus on Continuous Integration and Continuous Delivery in a test-driven and pull request based development environment using GitHub and TravisCI.

Responsibilities

  • Tech Lead: aligning architectural decisions with remote teams.
  • Teacher: giving small internal tech talks to share knowledge.
  • Code Reviewer: being responsible for reviews and all code merged to production.
  • Backlog: interim Product Owner defining the backlog and leading grooming and reviews.

Initiatives

  • Migrating a ~100k SLOC project from RequireJS to webpack.
  • Replacing bower with npm in the main product's code base.
  • Helping code modding from underscore to lodash.
  • Implementing an Instagram OAuth2 integration allowing to build visualizations with Instagram data.

After the layoff of the whole Berlin engineering team I had to unexpectedly move on to new opportunities.

Frontend Engineer at E-Post Development GmbH from Berlin, Germany September 2014 - March 2016

Working as a frontend developer within a cross-functional team developing Single Page Applications. Furthermore focusing on frontend architecture, tooling and testing to increase developer experience.

Duties include architecting and implementing the next version of the E-POST Portal which has been successfully launched. An application built of multiple separate frontends, interacting with several backend services. Furthermore, helped simplifying and rebuilding registration processes while being heavily engaged in UX discussions. A heavy focus on developer experience led to building multiple mostly open sourced build-tasks while also maintaining modern development stacks across projects.

Responsibilities

  • DX: project setup and developer tool management.
  • Workshops: giving frontend workshops to mitigate the gap between frontend and backend.
  • Hiring: defining code challenges and interviewing potential hires.

Initiatives

  • Improving frontend performance in a legacy UI.
  • Setup of frontend verticals tied to backend (BFF).
  • Managing rollout of new frontends from beta to live.

After the successful launch of the next generation E-POST portal I went on to seek working in a more international environment with a larger scale product.

Thesis work at Ericsson AB in Gothenburg, Sweden February 2014 - June 2014

Investigating Ericsson’s adoption of organisational structure in regards to communication flow and blockages relating to the empowerment of cross-functional teams. A full version can be found on GitHub.

Summer job at Scandio GmbH from Munich, Germany July 2013 - September 2013

Scandio GmbH is a medium sized web consultancy firm. Working as a PHP and JavaScript developer mainly extending and maintaining Scandio’s Open Source portfolioin scandiojs,lmvc andlmvc-modules. Also engaged in daily development working with Drupal and Solr.

Internship at zweitwerk GmbH from Hamburg, Germany April 2012 - October 2012

Continuation of work after finishing bachelor’s thesis. Evolving the previously designed prototype developing a data administration application. Gaining more experience with modern web development using HTML5/CSS3, JavaScript and related frameworks such as Backbone.js, Marionette.js and jQuery. Also partly worked on daily development of other products.

Thesis work at zweitwerk GmbH from Hamburg, Germany April 2012 - October 2012

Combined experience in working at zweitwerk while performing research and writing on a bachelor’s thesis. The thesis entailed a systematic comparison of NoSQL (BigTable, Dynamo and MongoDB) and SQL (MySQL and Oracle) databases while performing benchmarks and developing a backend agnostic proof-of-concept prototype of a product database for their media asset management system.

Student Assistant at Universität Bamberg May 2009 - April 2010

Working on project Cadena in designing and implementing a Software as a Service supporting elderly care services built upon Adobe Flex®, ActionScript, Flash Media Server and PHP (Zend backed). The application’s features included video conferences between care service and a retiree and administration of clinical records. My duties included implementation and testing of a PHP-based backend as well as working on every part of the frontend.

Technology experiences

Programming languages

  • JavaScript (advanced)
  • PHP (advanced)
  • Scala (intermediate)
  • Java (intermediate)
  • ActionScript & MXML (intermediate)
  • Objective-C (basic)
  • Gleam (beginner)
  • Go (beginner)
  • Python (beginner)
  • Elixir & Rust (goof-off)

Technology stacks

  • biome, Oxc, React, Redux & Apollo, AngularJS, Node.js, Backbone.js, Express and Hapi.js: (JavaScript)
  • Kubernetes, Prometheus, LogScale, Vault, Kibana and Grafana: (Operations)
  • Styled Components, emotion, CSS3, PostCSS, Stylus, SASS and LESS (CSS & Preprocessors)
  • MySQL, SQLite, PostgreSQL, MongoDB, Solr and Redis (Databases)
  • Rolldown, tsup, turborepo, webpack, Next.js, Rollup, Gulp, Grunt, SBT and ANT (Build Tools)
  • vitest, Jest, Cypress, Jasmine, Mocha, Sinon, GitHub Actions, CircleCI, TeamCity, Jenkins, Sentry, Checkly and Coveralls (Testing & CI)

Side projects

promster - A Hapi & Express Prometheus exporter

An Express middleware (or Hapi plugin) to easily export request timing metrics from an Express/Hapi application to Prometheus. The library contains few but powerful abilities to configure e.g. labels or to perform normalization on measured values.

flopflip - Real time feature toggling: through LaunchDarkly in React and/or Redux via HoCs

A library with multiple packages in a mono-repo (maintained with Lerna) offering Higher Order Components (HoCs) and other utilities to enable easy feature toggling of React components (supporting single- and multivariate flags). A version for Redux (via a store enhancer) integrates nicely with the Redux DevTools. Another standalone React version using a broadcasting mechanism allows integrating the library within any React application.

DOMPurify - A DOM-only, super-fast, tolerant XSS sanitiser for HTML, MathML and SVG

Contributor for DOMPurify which is written in JavaScript and works in all modern browsers (Safari, Opera (15+), Internet Explorer (10+), Spartan, Firefox and Chrome - as well as almost anything else using Blink or WebKit). It doesn't break on IE6 or other legacy browsers. It simply does nothing there. Helping to ensure code quality for setting up and maintaining continuous integration via TravisCI and BrowserStack in 8 different browsers.

Colloq - A playground: four Node.js services with GraphQL in front

A pet project with the domain model of a conference and its attendees, speakers and organisers. Built with a Node.js service for each entity and with a GraphQL (Apollo Stack) server in front. Technologies included in this project are: GraphQL, Hapi.js, Ava (testing), XO (linting), nodemon, Docker and PM2.

react-memoise - Declaratively memoise a computation in a React component

Expensive computations should be memoised. In React projects memoisation is often performed imperatively whereas it could and likely should also be declarative within the tree of components. React-memoise enables this through a render-prop based API.

tamesy - Tames a set of wild concurrent promises by a concurrency limit

Tamesy exposes a map function to map over a set of Promises or a iterator factory with a given concurrency. It returns a Promise which resolves to an Array whenever all tasks have ben run. The order of items is maintained - same as in the list of factory functions passed. It is built using webpack as a UMD module and runs on Node.js or in the browser as CommonJS, AMD, ESM or as a global.

dactylographsy - A set of tools generating manifests with fingerprinted assets to be injected and cached

Every unit of an application can create a custom manifest listing all assets it consists of. These assets will be injected into the page while their contents will be cached when they are once loaded. After the cache (local storage) is filled it serves all files on any subsequent page load to speed up the initial load time. The caches might be invalidated at runtime by making a comparison between old and eventually new manifest(s).

Blog posts, talks and workshops

Talks & Posts

Courses

  • Shortcut to Tech Leadership: Accelerate Your Journey From Maker to Multiplier (Tech Lead Academy)
  • Time Management for Technical Leaders (Tech Lead Academy)
  • Functional Programming Principles in Scala (Coursera)
  • Introduction to Kubernetes (edX)

Conferences

  • TestJs Summit, JSConf Budapest and KubeCon
  • JSConfEU, GraphQL Conf and PromCon
  • microXchg, zeit.day and GraphQL-Europe
  • Bed-Con and ReactiveConf
  • Reject.js, Beyond Tellerrand and DotJS & DotCSS

Extracurricular activities

Basketball and sports

I have been actively engaged in teams and clubs since the age of nine, playing in various cities and countries. I have helped clubs, taken on coaching roles at times, and enjoyed being part of a team while playing at a competitive level. Recently, I have been focusing more on guitar than basketball.

Guitar and music

I picked up the guitar during my studies in 2007 and have been learning to play ever since. I play for my own enjoyment and for the joy of deciphering songs and music theory as an intellectual challenge. I hope to be able to play songs of my jukebox in a band once I grow old but am far from it.

Cooking and family

I enjoy running the kitchen for the family with two little girls. I secretly watch cooking shows at night to surprise them with new dishes for dinner. I maintain a cooking-diary for the curious.

Reading

I enjoy following newsletters and Podcasts while I strive to read a book a month. I maintain a bookshelf and blogroll for inspiration.

University education

Gothenburg University (Chalmers), Sweden September 2012 - September 2014

Master of Science in Software Engineering

University of Keele, United Kingdom September 2010 - April 2011

Study abroad year

University of Bamberg, Germany October 2007 - March 2012

Bachelor of Science in Information Systems