Auckland, New Zealand
Professional profile
A front-end developer with a good understanding of agile processes.
I love all things web. Constantly keep my finger on the pulse of technology and strive to understand and apply current and emerging best practices.
Objective
Looking to apply my skills in a suitably challenging role.
The role that enables further personal growth and professional development.
Jan 2017–Present
Front-End Developer
Pixel Fusion Ltd., Auckland
Involved in various projects with key clients.
A member of a self-organising and cross-functional team working within the Scrum and Kanban frameworks.
Involved in standing up and implementing three highly performant SPA websites powered by Node back ends and React/Redux front ends with the support for server-side rendering using the latest versions of the libraries and build tooling. As part of this project, I have been implementing the logic and configuration of the websites using JavaScript in a way that allows the code to be executed in both server- and client-side environments and be easily testable.
Lead the development of a base package for those three websites responsible for housing the shared dependencies, configuration, and build scripts.
Using web accessibility best practices for writing HTML markup.
Lead the successful migration of a jQuery/Blade front end of a Laravel-based content management system to React. The challenges faced include: large number of views that had to be merged into highly configurable components to allow for further improvements including the support for interactive components; the initial lack of modern build tooling that needed to be set up; tight schedule. As part of this work, I developed a bespoke asynchronous front-end form validation solution.
Using Atomic design methodologies for building responsive layouts and components.
Lead the enhancement of the React/Redux front end of a CRUD application. Due to the challenge of the back-end and QA teams having been based in a different city, in addition to just writing self-explanatory code, I had to put extra effort into delivering high-quality documentation.
On numerous occasions, I have faced the challenge of wrapping React components around third-party libraries such as Google Tag Manager and CKEditor in order to integrate them into the SPA framework.
Was put on the delivery track within a week of the commencement of my employment.
Single-page apps
Scrum, Kanban, Dual-track agile
JIRA, BitBucket, Confluence
Git workflow
Linters
invision
Design thinking
React 15, Redux
React Router 4
Webpack 2
Server-side rendering
Unit testing (Jest), dependency injection and mocking
Polyfills
ES6, JSX
TDD
Redux Observable
Redux Ducks Architecture
SEO (Google Structured Data)
Web accessibility
postCSS
Atomic Design
Draft.js, CKEditor
Blade
Node.js
Docker
React Redux Form
NPM scripts
Support for Shopify templates, Vue.js, Flux
Aug–Nov 2016
Front-End Developer
Goodfolk Ltd., Auckland
Whilst in this role, I built UI components and patterns that support various browsers, devices, and resolutions.
Was involved in developing production websites and responsive email templates for a range of projects with key clients including McLennan, Auckland Council, Auckland Libraries, Orion Health, and Spark NZ.
Responsive styling with Bootstrap 4 using SASS preprocessor and Gulp/Grunt build pipelines.
Creating atomic design systems with Pattern Lab.
Exporting and optimising Adobe Illustrator assets for the web.
Implementing custom form elements (date picker, drop-down list) using jQuery focusing on field/form validation states and accessibility.
Implementing custom email templates for the Marketo marketing platform.
Building Angular.js apps with client-side routing.
Trello
2015–Jan 2016
English Language Instructor
Say Yes! English School, Moscow
Instructed groups and individual students in all aspects of the English language.
Built online English references and tools for the students.
Public speaking
Mentoring
JavaScript, HTML, CSS
PHP, MySQL
2011–2016
Student Researcher
A.N. Belozersky IPCB, Moscow
Worked on improving the algorithms for computational modelling of protein–DNA interactions with ROSETTA macromolecular modelling tool.
Implemented tools for facilitating and visualising research.
Document creation with TeX/LaTeX
ROSETTA macromolecular modelling tool, C++, Python, bash, MPI, cluster jobs, Linux/Unix
Feb–Dec 2016
Computer & Information Sciences
Graduate Diploma (B.Sci.)
Auckland University of Technology, Auckland
Distributed and mobile systems: Using RMI, JSP, EJB, JMS with Java EE.
Network Security: CCNA Security (passed with distinction).
Worked part-time during the final semester.
Sep 2010–June 2015
Bioengineering & Bioinformatics
Specialist Diploma (M.Sci.)
Moscow State University, Moscow
Final year project: meganucleases (passed with distinction)
Diploma with merit
2 publications in peer reviewed journals
Strong analytical and practical background
2016–Present
Ligand
Ligand is a React library for building interactive chemical diagrams including chemical structural/skeletal formulas and reaction mechanisms.
2D web graphics with Canvas and SVG
Building UMD modules with Rollup.js
Developing touch-based UIs
Containing the presentation and logic with Custom elements and Shadow DOM
Combining JS with WebAssembly for running computationally intensive tasks
File import and export with JS
Accelerated Mobile Pages
Google Trends
Amazon Polly
Writing bots using puppeteer / headless Chrome to boost the website traffic and get Twitter followers 😁
Generating social media platform-dependent PNG images on the backend on the fly with headless Chrome that act as preview images for link shares. The images are served from the same URL but the response is user-agent-dependent.
Open Graph data.
G Suite for Business
GitHub Pages
2014–Present
Dictiome
Dictiome is a Node.js-powered website utilising an in-memory storage and serving the data through the React/Redux-based front end. The database maps words, names and common expressions to YouTube video timestamps. Each timestamp marks the moment in a video the phrase of interest is used in the specified form and sense.
JavaScript, HTML, SVG, CSS
React, Redux, Server-side rendering, React Router
Webpack 2
Node.js
Amazon EC2, nginx, upstart
Configuring and running MongoDB
TypeScript, Angular 2, Angular Universal, Angular Observables
PHP, MySQL
cPanel, cron
python, webapp2
Google App Engine
Google Custom Search
YouTube API
Wikidata API and Wordnet
PocketSphinx, sox, ffmpeg, python, bash
Languages
English, Russian. Elementary Arabic.
IELTS 8.0.
Fascinated with calligraphy.
Interests and activities
Line art, flat icons, analytical philosophy. Jogging, chin-ups.
Also enjoy learning the science of nutrition and mastering the art of cooking 😄
Publications
Vasetenkov AE, Koksharova OA. (2013) Comparative and evolutionary aspects of cyanobacteria and plant plastid division study. Russian Journal of Plant Physiology 60(4):453–464.
Kravtsova TR, Lazebnaya IV, Lazebny OE, Volkova EY, Fedorenko TA, Gorelova OA, Baulina OI, Lobakova ES, Vasetenkov AE, Koksharova OA. (2013) Molecular phylogeny of a green microalga isolated from White Sea sponge Halichondria panicea (Pallas, 1766). Russian Journal of Plant Physiology 60(4):536–540.
Conference and meeting presentations
Investigation of cyanobacterial cell division by means of comparative genomics. V International Conference "Advances in Modern Phycology" (May 2012).
Evolution of cyanobacterial cell division factors during the establishment of eukaryotic plastids. XIX International student, postgraduate and young scientist conference "Lomonosov-2012" (Apr 2012).