Anton Vasetenkov

Auckland, New Zealand

anton@cofactor.io

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.

Work experience

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

Education

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

Personal projects

2016–Present

Ligand

ligand.io

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

 
 

Nov 2017–Present

Cofactor Ora

https://cofactor.io/ora

Modern online pronunciation dictionary.

 

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.

 
 

2017–Present

Cofactor

https://cofactor.io

Personal project aggregator.

 

G Suite for Business

GitHub Pages

 
 

2014–Present

Dictiome

http://en.dictiome.com

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

General

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 😄

More

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).