Denis Zhbankov

Chief Tech Officer

profile picture

Last update: Aug 11, 2024

Status: Collecting myself. Will start looking for a new job in a month or two.

Responsible, self-directed, passionate and open-minded person, who pioneers infinite improvement.

Strongly adhers to the principles of transparency, honesty, justice, keeping your word – and demands reciprocation! Teal organizations ♡.

Always jumping into whichever role that brings the most value for the project at the given moment.

Summary

Education

Experience

  • Engineering: 13 years
  • Management: 6 years
  • Learning: 36 years

Interests

  • TypeScript
  • BE: NodeJS, Lambda, DynamoDB
  • DevOps: Cloud Native, CDK
  • FE: MVVM, React, MobX, Inversify
  • QA: automation

Languages

  • Russian: C2
  • English: C1 @ IELTS
  • Spanish: B2 @ UBA

Location

  • Time: UTC-3
  • Space: Buenos Aires, Argentina. Actually, my goal is to eventually move to the US, so I'm mostly interested in US-based jobs, even while remote.

Education

Master in General and Strategic Management

Oct 2018 Feb 2021 2.3 years

GPA 4.89 from a 5.0 scale

Russian Presidential Academy of National Economy and Public Administration

Institute of Business Studies

Entrepreneurship and Corporate Management

Master of Business Administration

Oct 2018 Jul 2020 1.8 years

GPA 4.94 from a 5.0 scale

Russian Presidential Academy of National Economy and Public Administration

Institute of Business Studies

Entrepreneurship and Corporate Management

Specialist in Mathematics and System Programming

Sep 2005 Jul 2011 5.8 years

GPA 4.47 from a 5.0 scale

Lomonosov Moscow State University

Faculty of Computational Mathematics and Cybernetics

Specialist in Information Security

Sep 2007 Jul 2010 2.8 years

Lomonosov Moscow State University

Military Training Faculty

Courses

  • SAA-C03: AWS Certified Solutions Architect - Associate @ cantrill.io, IN PROGRESS
  • EDU-IBM-R08: Writing effective use cases @ interface.ru, 2012
  • EDU-SS-01: Domain modelling for creating business regulation documents and technical requirements @ interface.ru, 2012

Assessments

  • Spanish B2 @ UBA, 2024
  • English C1 @ IELTS, 2018. On a scale from 1.0 to 9.0:
    • Reading: 9.0
    • Listening: 8.5
    • Speaking: 7.0
    • Writing: 6.0
  • Top percentiles in frontend tech @ stackoverflow.com, 2017. StackOverflow Developer Story was shut down in 2022, the percentiles were:
    • HTML5: 99th
    • JavaScript: 98th
    • React: 97th
    • CSS: 97th

Publications

  • AWS CDK / API Gateways / multiple privates behind one public @ medium.com, 2023
  • MVVM в React приложении: отделяем мух от котлет @ medium.com, 2021
  • gRPC-Web via HTTP2 @ medium.com, 2020
  • Maintaining a fork of create-react-app as an alternative to ejecting @ medium.com, 2017
  • Scenario-Based Approach to Backtesting Trading Systems @ World Finance Conference, Viana do Castelo, Portugal, 2010 @ researchgate.net, 2010

Roles

Senior Manager, CTO

Sep 2019 Jul 2024 4.9 years

Interviews, investor relations, long term planning, mentorship, project management, risks management, team management

Tech Lead, Architect

Jun 2017 Apr 2021 3.8 years

Sep 2023 Jul 2024 0.8 years

Best practices, cloud native, design patterns, micro frontends, micro services, monorepos, performance testing, security threats

Team Lead

Jun 2017 Apr 2021 3.8 years

Estimations, groomings, kickoffs, plannings, reports, retrospectives, reviews, statuses, tracking

DevOps Engineer

Sep 2023 Jul 2024 0.9 years

Automations, AWS, CDK, CI/CD, GitHub, Serverless, Shell

Frontend Engineer

Jan 2014 Apr 2021 7.3 years

AngularJS, AntDesign, Bootstrap, Blueprint, Bower, Browserify, Cypress, D3, ES5+, ESBuild, Flux, GRPC, Gulp, I18Next, Jest, Karma, Knockout, Lerna, LESS, LinguiJS, MobX, NativeBase, NPM, PNPM, PostCSS, Protractor, React, React Native, Redux, Redux Saga, Redux Thunk, REST, Rollup, SASS, Selenium, SSE, SVG, Tailwind, ThreeJS, TypeScript, Vite, Webpack, WebSockets, Yarn

Backend Engineer

Feb 2013 Jan 2017 3.9 years

Sep 2023 Jul 2024 0.8 years

AWS, Chai, DynamoDB, ExpressJS, Git, Heroku, Java, JavaScript, Jest, JUnit, Kubernetes, Lambda, Mocha, MongoDB, Neo4j, NestJS, OracleSQL, PostgreSQL, RabbitMQ, Redis, Spring, Supertest, SVN, TypeScript

Business Analyst

Oct 2011 Feb 2013 1.3 years

BPMN, IDEF, PLSQL, SQL, UML

Computer Science Student

Sep 2005 Jul 2011 5.8 years

Automated trading software, C, C++, C#, machine graphics, neural networks, Python

Projects

Chief Tech Officer

Sep 2023 Jul 2024 0.9 years

MoreAI | Startup

Existing alternative investments fund expands its business by presenting an AI-centered wealth management solution for wealthy individuals and home offices and at the end of the day plans to open its doors to retail clients.

Roles

  • Employee #1
  • Lord Shiva with 6 arms

Highlights

  • Have risen the project from 0 to 1, now I wish it all the best on a journey from 1 to ∞. Established the 3 pillars of a successful tech company.
  • Tech: Architected and led fully serverless, infinitely scalable, modern and cheap AWS-cloud system from zero to production in half a year. 100% TypeScript highly modular micro service based monorepo with Backend, DevOps, Frontend and QA.
  • Team: Gathered 100% cross functional T-shaped team of around 10 bright engineers. Everyone could help everyone else because of the same tools and best practices. People started to create pull requests which covered everything from DevOps deployment, through Backend API and QA autotests, to Frontend forms and pages, all created by one person. Embraced continuous learning and teaching within the team. Attracted extra high skilled contributors in part time to save on development costs. Countless times received "best team ever" feedbacks from the colleagues.
  • Process: Organized all operations in IT and most of HR. Established cycles of planning, estimation, work, feedback and improvement. Which actually proved continuous improvement to be not only existing but also measurable.
  • Extremely sadly, but unfortunately this organization lost its initial tealness the hard and abrupt way. As a result of some political intrigues behind our backs, within a week after we launched prod, our main investor, Arseniy Zibarev, suddenly fired the whole team in one day without warning. On top of that he stole the whole team's salary for the last fully worked month. It was the first time in my life when I was fired by someone else's initiative.

Chief Tech Officer

Nov 2021 Sep 2023 1.8 years

CoreTechs | Startup

An ambitious local startup in an international retail betting, aimed to revolutionize the market and outperform its competitors with bleeding edge technological solutions.

Roles

  • Member of management board
  • Department head

Highlights

  • Last quarter we've successfully risen up to 0.5M unique visitors with 5 figures in total count of sport bets and casino spins.
  • My upcoming goals are long term technical vision and roadmaps, systematization of possibilities and risks, operational improvements.
  • Our next goal as a company is to reach break-even point in sales and make it to next round of funding fully prepared.

Head of Engineering

Apr 2021 Nov 2021 0.6 years

CoreTechs | Startup

An ambitious local startup in an international retail betting, aimed to revolutionize the market and outperform its competitors with bleeding edge technological solutions.

Roles

  • Member of management board
  • Department head

Highlights

  • In 2020 we opened business based on crypto currencies in South America, got first real clients and grew to nearly 50 employees, 3 full stack feature based development teams (17 engineers).
  • Now I focus on organizational tasks, internal climate, strategic planning and hiring new people.
  • Next goal is to further increase our customer base and improve operational effectiveness via measurable metrics.

Head of Frontend

Sep 2019 Apr 2021 1.6 years

CoreTechs | Startup

A recent investment of SoftPro into a proximate business area: an ambitious local startup in an international retail betting, aimed to revolutionize the market and outperform its competitors with bleeding edge technological solutions. Plans to go live in 2020.

Roles

  • Member of management board
  • Member of architecture board
  • Team leader in multiple teams
  • Division head
  • Chief frontend engineer

Highlights

  • After my few months working in SoftPro itself, our best backend colleague and I were invited to lead backend and frontend development respectively in this new company with ~20 employees so far, and we plan to hire more. I will continuosly apply my knowledge from the ongoing MBA courses to develop the skills of our frontend team while at the same time I will ensure the best frontend practices to be followed.
  • Technologically speaking, I plan to extensively apply my new experience with MobX, achieved at SoftPro; use dependency injection via InversifyJS; depend on abstract classes and interfaces instead of concrete implementations; prepare the ground for a substantial share of automated testing; apply strictest linter and Typescript rules; separate the code into a set of loosely coupled modules with strictly defined API and a tiny core to localize changes, achieve predictable cost estimations for new functionality and probably delegate these modules to different people, as I've already done before at SMMplanner. I fully concur with the ideas from "Clean Architecture" by Robert C. Martin.
  • After 3 months of work we have risen up to ~35 employees (6 frontend engineers, mostly seniors), I have implemented my architectural ideas in one project with tens of thousands of legacy code lines and they proved to be extremely valuable for a couple of brand new features.
  • In a span of next quarter we have successfully accomplished a more challenging frontend task of merging with the second big project to share our business entities and logic between them.
  • Next plan is to further improve business processes, use our current experience to create a foundation for an additional internal system, and finally go live.

Frontend Engineer

Apr 2019 Sep 2019 0.4 years

SoftPro | Company

Professional betting tools for VIP clients, including custom trading terminal, market prices aggregator, custom events browser, mobile messenger, etc.

Highlights

  • Although from a technological perspective it was a fairly common stack these days (TypeScript, React, Redux, Storybook, Jest, sometimes MobX and a little of Angular), I had my very first but pleasurable encounter with MobX, because while it takes just a fraction of an effort compared to Redux to implement the same feature, it also gives more incapsulation, modularity and readability, so it brings frontend closer to the proper SOLID principles.
  • Also, our company has significantly endeavoured to improve the overall product delivery process, including phases of focus group interviewing, collecting requirements, thorough analysis, tasks decomposition and assessment, both architectural and UI/UX design, resources planning, automatic and manual testing, CI/CD best practices. The example of managing a fairly large group of people (100+ employees) was especially valuable for me as an MBA student.

Typical tasks

  • Implementation of new features
  • API design
  • Code review
  • Candidate interviews

Head of Frontend

Jun 2017 Apr 2019 1.8 years

SMMplanner | Company

Automated SMM (social media marketing) tools and services: scheduled posting to multiple social media, advertisement campains (audience parsing, targeting), services for technical support.

Projects [NDA]

  • Legacy frontend for the main application: AngularJS, Gulp, Vanilla JS, jQuery.
  • New frontend for the main application: TypeScript, React, Redux, Sagas, code splitting, full internationalization. The main challenge was to design the new system to be: a) developed and released in little portions; b) highly modular and spread across different programmers with little to no interconnections; c) gradually integrated into the highly coupled and entangled legacy one with dynamic (lazy) loading of code chunks, where every chunk might have custom reducers and sometimes its own middleware.
  • Completely new service written from scratch featuring web and mobile versions: Lerna, TypeScript, React, React Native, React Context with custom Redux Devtools integration, fair amount of abstraction, monorepo approach with shared REST API, business logic, context (data itself and data manipulations), utilities, language features. All logic is separated, so the app can be easily ported to a different UI system, e.g. desktop.
  • HTML5 video editor, which allows to preview, crop, trim, add and free transform image overlays on a video right in browser: Ffmpeg (custom build ported with AsmJS), TypeScript, React, Canvas.
  • Realtime notification service: SSE, Websockets, TypeScript, React, Node, Express, RabbitMQ, Redis.
  • A tool to mimic Instagram stickers and overlays, which uses quite complex and low level text measurement, positioning and aligning calculations: TypeScript, Vanilla JS, Canvas.
  • More libs, e.g. custom UTM management, cookies; more pull requests: Ghost blog, Material colors, Angular intro, etc.

Typical tasks

  • Design a new feature | system | process | logic
  • Implement most complex concepts | integrations | components
  • Help, consultations, architectural decisions, API validation
  • Code review, repo and branch management
  • Choosing and adopting tools, e.g. TSLint, Prettier, pre-commit hooks
  • Team planning, scrum meetings, board management
  • Interviews if any
  • Some UX

Frontend Engineer

Jan 2017 Jun 2017 0.4 years

Pronto Media | Corporation

The holding owned few popular job search and general classified ads websites in Russia. Unfortunately, it went bankrupt.

Highlights

  • Legacy and partially new frontend for the classified ads board: jQuery, Vanilla JS, ExtJS, PHP templates, then we entered React, Redux, Webpack.
  • The legacy code survived few transfers between different teams and contractors, including foreign ones. Discussions were very limited and nobody really cared about quality until the main investor got tired of losing money and decided to give it the last try. They started to hire smart people, but the task of reviving the system was really challenging. Indeed, we had made a decent progress, but the additional investments ran dry nonetheless.

Typical tasks

  • Refactor a little feature
  • Fix some production bugs
  • Code review, mentorship
  • A lot of interviews

Founding Engineer

Jan 2014 Jan 2017 3 years

Gigman | Startup

New way of concert organization which delivers low cost tickets. Instead of usual fixed price customers would get a market exchange-like service. Sadly, the project was postponed a few times in spite of 100% technical readiness, has experienced vast number of organizational issues, and now is freezed.

Highlights

  • Truly realtime market via SocketIO and PostgreSQL notifications.
  • Backend on Heroku, Amazon S3, Godaddy, PostgreSQL, Redis, TypeScript, Node, Express. All business logic is fully covered with tests and implemented via (fairly complex) DB prodecures with transactions, SQL/PLSQL part alone is ~5000 LOC, the rest backend is rather thin and scales mostly to handle concurrent websocket connections.
  • Frontend utilizes AngularJS, Gulp, ESLint and is fully responsive from mobile to large desktops.
  • More then 550 unit and integration tests (including multiple OAuth-autorized users trading assets and communicating through SocketIO), done in several browsers through Mocha, Chai, Superagent, Protractor, Selenium, Karma.
  • Also, everything (migrations, backend, frontend, tests) is decoupled and placed in different packages inside a mono repository.

Typical tasks

  • Being a founding engineer, I designed and implemented everything by myself.

Backend Engineer

Feb 2013 Apr 2014 1.2 years

Trading System Administrator | Corporation

TSA runs the wholesale market of electric power in Russia (roughly similar business to stock exchanges).

Highlights

  • Adapted a primary internal backend framework for a modern Java and Oracle: moved forward few major versions, nobody else wanted to do this.
  • Proposed and started to use frontend frameworks instead of primitive JS or at best jQuery.
  • Complimented for the best UI among new internal projects.
  • Outside of work created for business analysts a friendly wrapper around Jira (which was also extremely outdated) with extra functionality.

Typical tasks

  • Create or modify one of internal proprietary subsystems to align with new government or market regulations.
  • Backend worked on Java and Oracle PLSQL, while frontend was usually written in Vanilla JS or jQuery, later I started using Knockout and then Angular.

Business Analyst

Oct 2011 Feb 2013 1.3 years

Trading System Administrator | Corporation

TSA runs the wholesale market of electric power in Russia (roughly similar business to stock exchanges).

Highlights

  • Pioneered a move forward from the extremely outdated IDEF (Integration DEFinition) notation and tools to UML (Unified Modeling Language) and BPMN (Business Process Model and Notation), which eventually was accepted as a company-wide standard.
  • Refactored from scratch a number of internal systems of business processes.

Hobby

Balkan Taxi

Sep 2022 May 2023 0.7 years

Almost the same functionality as in UBER, but in Telegram bot: drivers, passengers, live locations, live chats, personal settings, support, etc.

Highlights

  • Worked flawlessly for almost a year without any modifications, then I started to sometimes upgrade dependencies.
  • AWS, AWS CDK, AWS Lambda, AWS DynamoDB.

Option Toolbox

Sep 2014 Jan 2017 2.3 years

Online risk assessment and hedging toolbox for options traders on US stock exchanges. Initially created for myself as a much more user-friendly and functional replacement of broker's software, but exposed to the public later. The project was under active development when I was using it almost every day to manage my own portfolio. Also has a blog, where I had occasionally posted some relevant thoughts and ideas.

Highlights

  • Fully interactive mobile-friendly 2D (SVG) and 3D (WebGL) charts.
  • Black-Scholes financial model calculations done with my own open-source AngularJS module.
  • Delayed financial data from Google and Yahoo.
  • Realtime market quotes from the local Interactive Brokers' terminal through SocketIO.
  • AngularJS, NodeJS, Heroku.

Private Ads

Jul 2014 Jan 2015 0.5 years

Classified advertisements' place with additional features, intended to level up the usefulness of service. The project is currently turned off as a consequence of the time and advertisement budget underestimation. I thought it would be possible to run a full service by myself, I was wrong.

Highlights

  • Introduced flexible user-defined tags instead of predefined classification (tag relations and weights are stored in a graph database for handy search and suggesting)
  • Ability to add a desired map area to the search criteria (e.g. to find nearest offers)
  • Full i18n, live FX exchange quotes and UI translation on the fly
  • AngularJS, NodeJS, Neo4j, Heroku, Google Maps

Open Source

Kubernator

Jun 2017 Nov 2017 0.4 years

Kubernator is an alternative Kubernetes UI. In contrast to high-level Kubernetes Dashboard, it provides low level control and clean view on all objects in a cluster with the ability to create new ones, edit and resolve conflicts. As an entirely client-side app (like kubectl), it doesn't require any backend except Kubernetes API server itself, and also respects cluster's access control.

Highlights

  • 479 stars
  • 37 forks
  • 3 contributors
  • React, Redux, Sagas, Kubernetes
  • The tool is being actively used in our company for almost 2 years now without updates and any frontend issues

Sticky Cluster

May 2016 Oct 2016 0.4 years

In cluster environment SocketIO requires you to use sticky sessions, to ensure that a given client hits the same process every time, otherwise its handshake mechanism won't work properly. To accomplish that, manuals suggest the sticky-session module. My module is based on the same principles as sticky-session, but utilizes a more efficient hash function and also works asynchronously out of the box.

Highlights

  • 110 stars
  • 26 fork
  • 2 contributors
  • NodeJS
  • up to 10x faster than sticky-session
  • much better scattering over the worker processes than that of sticky-session
  • asynchronous out of the box, just run a callback when you're done initializing everything else
  • works correctly with IPv6

Angular Evaporate

Sep 2014 Oct 2017 3.1 years

AngularJS module for the EvaporateJS library (uploading files in chunks to Amazon S3 with pause/resume), with a complete example. Reinforces the EvaporateJS library to allow AngularJS-specific usage along with all the native functionality plus additional features.

Highlights

  • 27 stars
  • 15 forks
  • 4 contributors
  • AngularJS