Education
Master in General and Strategic Management
Oct 2018 → Feb 2021 2 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
IBS-Masters RANEPA
Master of Business Administration
Oct 2018 → Jul 2020 2 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
IBS-MBA RANEPA
Specialist in Mathematics and System Programming
Sep 2005 → Jul 2011 6 years
GPA 4.47 from a 5.0 scale
Lomonosov Moscow State University
Faculty of Computational Mathematics and Cybernetics
CMC MSU
Specialist in Information Security
Sep 2007 → Jul 2010 3 years
Lomonosov Moscow State University
Military Training Faculty
MT MSU
Additional Courses
May 2012 → Jul 2012 0 years
- EDU-IBM-R08: Writing effective use cases
- EDU-SS-01: Domain modelling for creating business regulation documents and technical requirements
Interface Ltd.
IT Training and Consulting Center
interface.ru
Employment
CTO (Chief Technology Officer)
Nov 2021 → today 1 year
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.
coretechs.ru odds96.com
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 Department
Apr 2021 → Nov 2021 0.5 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.
coretechs.ru odds96.com
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 2 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.
coretechs.ru odds96.com
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 1 year
SoftPro | Company
Professional betting tools for VIP clients, including custom trading terminal, market prices aggregator, custom events browser, mobile messenger, etc.
softpro.com
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 2 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.
smmplanner.ru pepper.ninja
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 1 year
Pronto Media | Holding
The holding owned few popular job search and general classified ads websites in Russia. Unfortunately, it went bankrupt.
pronto-media.ru irr.ru job.ru
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
CTO & Full Stack 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.
gigman.com
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 CTO and full stack engineer, I designed and implemented everything by myself.
Backend Engineer
Feb 2013 → Apr 2014 1 year
Trading System Administrator | Corporation
TSA runs the wholesale market of electric power in Russia (roughly similar business to stock exchanges).
atsenergo.ru
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 year
Trading System Administrator | Corporation
TSA runs the wholesale market of electric power in Russia (roughly similar business to stock exchanges).
atsenergo.ru
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
Here are the most notable private projects (among 17 total), which I've managed in my spare time.
Option Toolbox
Sep 2014 → Jan 2017 2 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.
optionpnl.info
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 1 year
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.
private-ads.info[closed]
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
Here are the most notable open source projects (among 34 total), where I've done full or a majority of work.
Kubernator
Jun 2017 → Nov 2017 1 year
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.
kubernator
Highlights
- 450 stars
- 28 forks
- 2 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 1 year
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.
sticky-cluster
Highlights
- 100 stars
- 21 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 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.
angular-evaporate
Highlights
- 27 stars
- 15 forks
- 4 contributors
- AngularJS