Senior Full-stack Engineer
2020 - 2022Cruise- Maintained application front and back end to produce maps directly used by autonomous vehicles. Developed features, fixed bugs, wrote research papers and documentation using TypeScript, React/Redux, NestJS, Node.js, and PostgreSQL.
- Set up environment and workflow for Storybook-based screenshot testing with React.
- Configured end-to-end testing with Cypress.io. Wrote utilities and created first tests.
- Developed self-contained, private npm module test framework for testing database queries using Jest, TypeScript, Node.js, PostgreSQL, Docker, CircleCI, and Buildkite.
Technologies: React, TypeScript, NestJS, Node.js, PostgreSQL, Docker, Google Cloud Platform (GCP), Amplitude, RxJS, Ramda, Continuous Integration (CI), CircleCI, Buildkite, Storybook, Cypress.io, Jest, Redux, Mapbox, AWS, Containers, Full-stack DevelopmentLead Software Developer
2019 - 2019Zipmex Asia Pte. Ltd.- Consolidated scattered repositories into one monorepo, drastically simplifying the development and build process using Git, Yarn Workspaces, and Webpack.
- Developed a dedicated microservice to execute hybrid distributed transactions using the saga pattern with TypeScript, PostgreSQL, WebSockets, REST, and MQ.
- Integrated a new digital product into an existing cryptocurrency exchange using JavaScript, React, and Redux.
- Worked on the customization of the vast crypto exchange UI. Implemented features and fixed bugs with JavaScript, React, and Redux.
Technologies: ESLint, Continuous Integration (CI), Google APIs, REST, Styled-components, HTML5, Jest, Express.js, SQL, WebSockets, PostgreSQL, React, Node.js, TypeScript, JavaScript, ReduxSenior Software Engineer
2018 - 2019Myvideo- Developed smart TV (Samsung Tizen, LG, Hisense) client for online streaming service Myvideo using React, MobX, MST, and Sass.
- Designed and implemented a keyboard-controlled focus and navigation management system using JavaScript and React.
- Designed and implemented multi-runtime HLS player component, capable of playing live and recorded streams on various platforms with Web, Tizen, WebOS, NetCast, Hisense, JavaScript, and React.
Technologies: ESLint, JSS, Continuous Integration (CI), REST, Styled-components, HTML5, Jest, Sass, SQL, MSTest, MobX, React, JavaScript, ReduxSenior Software Developer
2016 - 2018Ephox- Maintained RCE TinyMCE, an integral part of WordPress and many other CMSs, used by millions of people every day. Wrote documentation, fulfilled support requests, fixed bugs, and implemented new features and plugins.
- Worked on improving internal unit testing API agar and its TinyMCE specific extension mcagar (both open-source now).
- Contributed to improving the imagetools library, which directly depends on image manipulation functionality in both TinyMCE and EditLive!.
- Maintained PowerPaste, a premium solution for pasting Microsoft Word/Excel documents into TinyMCE, optimized Flash shim for importing images in legacy browsers and implemented an experimental and more performant alternative to copy/paste flow.
- Implemented TinyMCE Configurator PoC, a user-friendly way of building configuration for the RCE TinyMCE, using JavaScipt and React.
Technologies: ESLint, Functional Programming, Continuous Integration (CI), MySQL, HTML5, Jest, SQL, React, ActionScript 3, TypeScript, JavaScriptSenior Front-end Developer
2014 - 2016Silknet- Maintained the front end for internal corporate CRM.
- Developed the front end of the information portal for the corporate call center 11818.
- Initiated department-wide switch from SVN to Git as the source control system, designed new dev workflow, configured test environment on a barebone server, wrote deployment scripts in bash, and recorded CBT series explaining the new workflow.
Technologies: Subversion (SVN), Continuous Integration (CI), HTML5, Sass, jQuery, SQL, Oracle, PHP, Ext JS, JavaScriptLead Software Developer
2010 - 2016Moxiecode- Developed and maintained multi-runtime file uploading API, Plupload, which is part of WordPress, is included in Joomla and Drupal via plugins, and is part of many other CMS-es around the world, literally used by millions of people on daily basis.
- Developed a playground for fiddling with different Plupload configurations, similar to CodeSandbox, JSBin or jsFiddle, but specific to Plupload needs.
- Developed and maintained Plupload website, plupload.com; the back-end in PHP/CodeIgniter, and the front-end in HTML/CSS/JavaScript/jQuery.
Technologies: Continuous Integration (CI), WordPress Plugins, HTML5, Sass, jQuery, SQL, PHP, Java, MS Silverlight, C#, ActionScript 3, TypeScript, JavaScriptPart-time Full-stack Developer
2009 - 2012Freelancer (former ScriptLance)- Developed i8, a framework for creating WordPress plugins and themes, which was successfully used to create 30+ modules for WordPress.
- Created exhibition catalog generator for PLMA (the Private Label Manufacturers Association) that was successfully used by a company for several years - the requirement was that the app should launch from USB drive on any browser, including IE6.
- Developed a website for Celebration Town Center Florida.
- Developed a website for GIAC: Georgian International Arbitration Centre.
Technologies: Bitbucket, Mocha, Google APIs, LAMP, MySQL, WordPress Plugins, HTML5, Express.js, Sass, jQuery, SQL, WordPress, HTML, CSS, PHP, JavaScriptAuthor
2004 - 2010Navigator- Wrote more than 750 articles on various IT topics, including software, hardware, training series, and scientific accomplishments.
- Regularly tested, benchmarked, and reviewed different hardware devices such as computers, laptops, gadgets, accessories, etc.
- Tracked several scientific magazines and wrote about hi-tech innovations, actual research, and promising breakthroughs.
- Prepared a series of guide-trough articles about interesting and useful software.
Technologies: SQL, Innovation, Science, Telecommunications, Software, HardwareDevOps Administrator
2007 - 2009ITDC- Single handily administered infrastructure for MyVideo.ge, the biggest video sharing website in the region, which started as a small site on a single virtual server and under my administration turned into a distributed service with several load-balancers, database cluster and a couple of powerful file-servers..
- Configured and compiled customized versions of software required by MyVideo, including Apache, MySQL, and video conversion and manipulation tool.
- Managed several hosting and billing servers both for the company's own needs and those of clients.
- Regularly wrote automation scripts in Perl, bash, and some PHP.
Technologies: Web Host Manager (WHM), Plesk, cPanel, MariaDB, Subversion (SVN), Mercurial, WHMCS, CentOS, Memcached, LAMP, MySQL, SQL, Security, Data, Load Balancers, Clustering, Linux