Kirill Novikov

Fullstack web developer



About

I have more than 10 years experience, working in both startup and big enterprise projects. During this time I have understood that being a good developer is not only writing code. A good developer should solve tasks in conditions of uncertainty, decompose requirements, search for a balance between technologies and business, thinking first about business value, and should have the ability to support the created solution with tests and environment. He should also have good communication skills and be able to quickly learn new things.


Skills

Common

  • OOP and FP paradigms
  • Algorithms and data structures
  • Design patterns and architecture patterns like microservices
  • Team leading, agile, scrum, code review

JS

  • Languages: JS (ES5, ES6, ESNext), TypeScript, Ramda
  • Web: React(Redux, Router, Styled, PostCSS, SSR, etc.), MobX, VueJS, JQuery etc.
  • Frontend: HTML5, CSS3, SaSS, WebAPI
  • Backend: NodeJS, Express, PM2, PhantomJS
  • Environment: Webpack, Babel, Gulp
  • Test: Jest, Sinon, Mocha, Chai, Selenium, Webdriver

Data storage

  • Postgress, IBM DB2, MySQL
  • MongoDB, Redis
  • Kafka

Java

  • Languages: Java, Groovy
  • Frameworks: Spring, Hibernate, Apache Lucene
  • Environment: Maven, Apache Tomcat, Jenkins
  • Test: JUnit, Selenium

Other

  • AWS (EC2, Serverless, S3, etc.), Docker, Nginx, HAProxy
  • GIT, Github, CircleCI
  • Ruby, Clojure

Employment History

Purepoint UK / Fullstack developer (2018-2019) / Remote work

  • As a consultant for this 6-month contract I had 2 goals: connect Electrolux smart appliances with Google smart speakers and develop a universal solution for quickly connecting IoT and smart devices to smart assistants Alexa, Google and etc.
  • The first goal was reached in 1 month as a serverless solution based on NodeJS application and IBM cloud infrastructure.
  • The second solution is serverless application and framework with a common API which allows connecting smart devices to Alexa and Google smart speakers. Based on AWS lambda. For demo was connected with LIFX bulb.
  • CI and CD pipelines and E2E tests and were created for both solutions.

Hippo LLC / Fullstack developer (2017-2018) / Remote work

  • In Hippo I worked on a unique application for USA medication market. In our solution, we connected together all players such as pharmacies, insurance companies and etc. and provided simple interface for users to calculate final medication cost and find the best place with the best price.
  • Mostly I worked around these projects: main mobile application and customer experience portal.
  • As a react native developer I created different functionality: notifications, refer a friend system, buy screens, a/b testing and featuring functionality, created wrappers for native libs.
  • As a web developer, I worked on a customer experience portal where support service can solve users problems. I worked on creating both frontend(React/Redux/Blueprint) and backend(Ruby/NodeJS) parts.
  • Was involved in creating the first version of a web application(React/MobX) with the same functionality as in mobile application.
  • All infrastructure in AWS with Terraform management around

Solidopinion / Fullstack web developer (2016-2017) / Remote work

  • As part of R&D team I had to create a new tech stack for the main company product - commenting widget. The main goals were to reduce complexity, improve performance and stability and create a modern development environment with CI and CD processes and good test coverage in all levels unit tests, e2e and etc.
  • First we created a boilerplate starter based on React with server side rendering support and protocol for communicating between widgets on the page.
  • Server Side Rendering application on NodeJS supported communication with Kafka for receiving updates about new comments from backend and Redis for caching.
  • As a result, we refactored most of widgets to a new stack, created a lot of documentation for main team and migrate them to this new stack.

Wiley / Fullstack web developer (2014-2016) / Office work

  • Our team worked on a education platform and our goal was to create a new version of webpart of this Efficientlearning.
  • As a developer I worked on creating a new architecture and implementation for web application with modern JS support and build system instead of manual building and deploying.
  • Create an e2e testing platform based on Webdriver I/O and Selenium
  • Build integration with external LTI systems like Imsglobal

DaSystems / Team lead, Web developer (2012-2014) / Office work

  • Lead team of 4 people with agile and scrum, hire developers
  • Design and develop EDM system, complex system for creating digital environment for communicating and signing a digital document inside pension fund. Near 1000 users, millions of documents.
  • Design and develop ESB system, a universal system for integration different corporate information system together with common business protocol.
  • Working on new UI version based on AngularJS, migrating from JQuery approach.

NPFE / Java developer (2010-2012) / Office work

  • Design and development for Accounting system using ZK Framework. I developed both the backend and frontend with Java tech stack.
  • Integrating this system with existing company infrastructure.

LASP / Team lead, Java developer (2010-2012) / Office work

  • Led team of 6 people, hire developers.
  • Supporting and creating new modules and functionality for AIS Pegas.
  • Migrating data from other systems.

IT Sfera / Software Developer (2007-2009) / Office work

  • Management systems for internet banners, design and develop the management systems for internet banners
  • Game 100 to 1, creating the analog of the game 100 to 1
  • Management system for a dogs nursery, design and development the management system for a dogs nursery

Freelance projects

UpWork / Lymba / Web developer, Team lead (2016) / Remote work

  • Led project from scratch. This is an application which could extract information form books and prepare tests based in this information. On client side you could manage those tests and results from pupils.
  • Design and develop SPA based on React



AutoMosGroup / Web developer (2016) / Remote work


UpWork / Carsumo / Web developer (2015) / Remote work

  • Create frontend for vehicle adverts aggregation website
  • Create scrapers for popular vehicle adverts websites such as: cars.com, ebay.com with NodeJS and PhantomJS

UpWork / MagicForms / Senior Java and Web developer (2014-2015) / Remote work

  • Application for building and managing forms (analogue Google Forms)
  • Implement server and client side
  • Create REST API for IOS and Android clients

Active speaker of biggest JS community in Nizhny Novgorod

Styled components - another way to style React (JSNN#7)

NodeJS Unit testing (JSNN#6)


Open source

React-avatar - drag&drop crop avatar React component based on Canvas

Education

Vladimir State University / Engineer degree (2004-2009)

Languages

  • Russian native
  • English Upper-Intermediate

Hobby

  • Skiing
  • Tourism