Alexander Kurganov's photo

Alexander Kurganov

Engineering Team Lead

15+ years building for the web · leading engineering teams since 2018

Valencia, Spain · me@akurganow.ru · linkedin.com/in/akurganow · github.com/Akurganow

Details

Location
Valencia, Spain
Email
me@akurganow.ru
Born
28 February 1986
Languages
Russian (native), English (professional working proficiency)

Summary

I have been building for the web since 2011 — full-time since 2013, and leading engineering teams since 2018. I prefer product work: the more expertise a developer has in the product, the deeper the involvement and the better the result.

I consider design and engineering inseparable — code and API design are design too. Beyond prototypes and MVPs, interface decisions should be driven by sufficient, correct data. I rely on automated testing focused on critical paths and the places where problems actually appear, rather than on TDD for its own sake.

I organized the St. Petersburg frontend community spb.frontend() from its founding and hosted its podcast, and later co-hosted Ponaehali, a podcast unrelated to programming. Outside of work: snowboarding and go-karting.

Skills

Leadership
Engineering management, hiring and interviewing, mentorship and growth planning, release management, planning and code review, cross-team coordination, distributed teams across time zones
Engineering
JavaScript, TypeScript, React, Redux, Node.js, Nest.js, RxJS, Express.js, Webpack, PostCSS, Gatsby.js, Cordova, WebSockets
Testing & AI
Playwright end-to-end testing, autonomous AI agents, LLM-judge benchmarking, CI/CD

Experience

Engineering Team Lead at RingCentral

February 2020 — present

RingCentral is a leading provider of cloud-based communications and collaboration solutions. I lead an engineering team of up to eight people working on RingCentral Video (RCV), the company’s video conferencing product.

I hire and grow engineers — interviewing, mentorship and growth planning; own the team’s processes and delivery, from planning and code reviews to release coordination across multiple time zones; provide technical leadership on complex projects while still writing code myself; and drive cross-team initiatives with stakeholders across the company.

AI agents

My current focus is building our own harness for AI agents working autonomously on our tasks, offloading the routine work of developers and QA engineers — mostly test automation — to AI. Our agents successfully write end-to-end Playwright tests, reproduce bugs with our fixtures, and fix bugs. To develop and improve this I built a benchmark around the system: it replays a fixed corpus of real tickets already closed by humans, and a separate AI judge scores how close the agent came to the human solution and the actual code. Everything the agents can do — bug fixes and tests alike — is measured by the same benchmark, which is how we track and compare different versions of agents, plugins, skills and so on.

Alongside this I maintain our team’s marketplace of plugins for different agent systems — both our own harness and local ones — kept cross-platform on the open Agent Plugins 1.0.0 standard.

Technologies: React, TypeScript, Node.js, Playwright, AI agents, CI/CD, Agile methodologies.

UX Engineer, Team Lead JavaScript Developer at Freewallet.org

March 2018 — February 2020

The company developed its own solutions for the cryptocurrency market. I joined one of its long-running projects after launch and eventually led two teams — mobile and web. I prepared releases, decomposed and distributed tasks among developers, and wrote code myself, stepping into other developers’ tasks when something didn’t go according to plan. Releases shipped every week, alternating between the web and mobile applications, giving each a two-week development cycle.

Mobile applications

I participated in the design and developed two mobile applications. In the first one users could interact with more than 300 currencies and tokens (receive, send, buy, view statistics); it was translated into 14 languages, supported 15 fiat currencies, interacted with native APIs (camera, push notifications, clipboard, in-app browser), communicated with the server over WebSockets, and used JWT authentication with authorization through the most popular providers (e.g. Facebook and Google). It was built for iOS and Android and available in the App Store and Google Play. The Redux state was persisted in IndexedDB, encrypted with a key kept in the device’s secret storage. The second application worked with a single currency: from the same sources, 22 separate apps were built with different configs and feature sets, largely repeating the functionality of the main one.

Technologies: Cordova, Webpack, TypeScript, PostCSS, React, Redux, Reselect, react-intl, OneSky, bignumber.js.

Web application

Fully repeated the functionality of the main mobile application, written with the same technologies and sharing pieces of code where it made development easier. Unlike the mobile apps it had its own design and routing, was responsive, and the code was split into vendor chunks and by routes.

Technologies: Webpack, TypeScript, PostCSS, React, Redux, Reselect, react-intl, OneSky, bignumber.js.

Website

I designed and developed the marketing website on my own, later handing it over to another team and returning to mobile development. The site was built into static files from its own API, separate from the main product (app pages, blog, landing pages); everything was edited in a dedicated admin panel, stored in a database on the company’s own servers and distributed via CDN. The site was translated into 14 languages, had more than 20 app pages, landing pages and a multilingual blog; every page had an AMP version, and some hid easter eggs — I consider such things mandatory for marketing. For example, instead of a static screenshot, app pages showed a dynamic SVG with the real time, date and live currency rates.

Technologies: Gatsby.js, React, PostCSS, react-intl, OneSky, bignumber.js, Nest.js, RxJS.

Senior Frontend Developer at Uploadcare

August 2016 — February 2018

The company was engaged in file storage, processing and distribution. I was involved in designing and developing a new company website. The old one was a Django monolith heavily tied to the backend — frontend fixes couldn’t be released without a backend release. I developed the new frontend with a new design: it ran on React and talked to the backend via JSON API, working as an SPA with SSR on Express.js. The product documentation was built into static files from Markdown in a separate repository and injected into React on both server and client, saving on bundle size and data transfer. More details in the article about the company’s stack.

Senior Frontend Developer at Mikhail Kechinov Web Development Studio

July 2015 — August 2016

The studio did full-cycle outsourced development and project management for companies and startups. I came to work on a large educational project built with Ruby on Rails and PostgreSQL on the backend and React with Redux on the frontend; client and server communicated over WebSockets using the Faye library. I worked on the architecture of more than 20 different types of course exercises, each persisting its state in localStorage. The exercises used a wide range of technologies and APIs: audio and text exercises with error checking and several kinds of teacher comments and highlights, audio and video with the current phrase marked in the text, video with classic subtitles, drag-and-drop, canvas. There was also a personal account with customizable dynamic widgets and a built-in messenger for teacher dialogues and study-group chats.

Alongside the main work, I taught JavaScript at St. Petersburg Polytechnic University as a studio specialist and trained two interns at the studio. After I finished teaching, I took up mentorship: the person I helped learn frontend went on to build a career at one of the largest banks in Russia and became an organizer of PiterJS meetups and conferences.

Frontend Developer at Amplifr

July 2013 — July 2015

Amplifr started as a SaaS platform for musicians, actors, politicians and other media personalities; after a pivot it became a publishing and analytics application for social networks. I worked in a globally distributed team on both the main application and client sites built on our own SaaS platform. I collaborated with many client designers to improve UX, and acted in part as an account manager — collecting feedback from platform users and aggregating it into recommendations for further product development.

Some achievements:

Web Developer — Freelance

September 2012 — July 2013

I developed websites and online stores — for example, the official website of performer L-Tune, the website of Anton “Scut36” Volkov’s book with pre-orders and payment, and the official website and online store of performer Assai. I also developed modules for WordPress and WooCommerce, for example a payment gateway for Robokassa.