Scroll To View More
Mikhail Angelov, JavaScript Developer in Nizhny Novgorod, Nizhny Novgorod Oblast, Russia
Mikhail Angelov

JavaScript Developer in Nizhny Novgorod, Nizhny Novgorod Oblast, Russia

Member since May 12, 2015
Mikhail is a software engineer looking for challenging projects. He has completed several web-based projects with Node.js/Go (back-end) and JavaScript SPA (front-end). He has experience working with React.js, RIOT.js AngularJS UI frameworks, Flux/Redux architecture, and back-end development (architecture, testing, deployment, monitoring, reporting, etc.). He's mostly looking for front-end development gigs, but can help with back-end as well.
Mikhail is now available for hire

Portfolio

Experience

  • JavaScript, 4 years
  • Node.js, 4 years
  • AngularJS, 3 years
  • Unit Testing, 3 years
  • Docker, 2 years
  • React, 2 years
  • AWS ECS, 2 years
  • Riot.js, 1 year
Nizhny Novgorod, Nizhny Novgorod Oblast, Russia

Availability

Full-time

Preferred Environment

Mac, IntelliJ IDEA, Git

The most amazing...

...thing I've coded is a text/voice chat based on a WebRTC solution.

Employment

  • Full-stack React Developer

    2017 - 2018
    Web Chat Project (via Toptal)
    • Designed and developed the UI for an app with React/Redux.
    • Designed and developed the back-end for an app with Node.js/Express/Mongo/web sockets.
    Technologies: React, Node.js, Mongo, Web Sockets, AWS, AWS Lambda
  • Full-stack Developer

    2017 - 2017
    Worldcovr (via Toptal)
    • Created and supported two applications on MERN stack.
    Technologies: Node.js, React, Redux, Mongo, Docker, Azure
  • MEAN Stack JavaScript Developer

    2016 - 2017
    Kemvi (via Toptal)
    • Created several microservices.
    Technologies: Node.js, Chrome extensions, AngularJS 1, Docker, AWS
  • Front-end Angular Expert

    2015 - 2016
    AlternaScript (via Toptal)
    • Refactored a web application based on AngularJS.
    • Made a flow diagram editor based on www.jsplumbtoolkit.com.
    • Created a mobile application photo based on www.appgyver.com.
    • Applied Flux architecture to the Angular app.
    • Added E2E and unit tests for Angular applications.
    Technologies: Angularjs 1.x, Flux, JavaScript
  • Team Lead and Senior Developer

    2013 - 2016
    Smartbics
    • Created the front-end portion of several small enterprise projects for company security and product information management as well as a self-service kiosk.
    • Wrote more than 15,000 line of code in JavaScript.
    • Utilized Protractor framework for the self-service kiosk, which was the first project with 100% acceptance test coverage on the front-end side.
    • Automated package management, test, and build procedure using Gulp, NPM, and Bower.
    • Gained great experience with AngularJS.
    Technologies: JavaScript, Java
  • Project Manager

    2012 - 2013
    Auriga
    • Managed staff members in a distributed team (Boston, Moscow, Vilnius, N.Novgord).
    • Gained my first experience with web technology in the form of a time tracking application on Node.js.
    Technologies: Java, JavaScript
  • Team Lead and Software Engineer

    2009 - 2012
    Mera
    • Contributed to the development of a mobile navigation application.
    • Followed Scrum dev processes.
    • Created the skeleton of a BlackBerry map application for BB10 platform.
    • Supported the mobile navigation application on the Brew platform.
    Technologies: C, C++, C#, QML
  • Software Developer and Team Lead

    2002 - 2009
    Teleca
    • Contributed to firmware development for Motorola and Kyocera phones.
    • Conducted QA for a game console based on Qualcomm SoC.
    Technologies: C, C++, ARM

Experience

  • German-Estonia History Map (Development)
    http://saksa-eesti.ee

    German-Estonia history map project
    BE: java 1.7/Spring/MySQL
    FE: AngularJS 1.x, leaflet, OSM

  • Self Service Kiosk (Development)

    Self service kiosk for check-in operations on a ferry.

  • Product Information Management (Development)

    A web application for management product attributes, clients, suppliers, agreement, etc. (about 100 tables).

  • Web-based Game (Personal Project) (Other amazing things)
    http://mikhail-angelov.github.io/shooter/

    A 3D game based on WebGL (three.js lib) web shaders.

  • Whiteboard App (Development)
    https://mikhail-angelov.github.io/react-whiteboard

    Pure client app on React and Immutable.js
    code: https://github.com/mikhail-angelov/react-whiteboard

  • Integration and End-to-end Tests Made Easy with Node.js and MongoDB (Publication)
    Dealing with a real database for integration and end-to-end testing can pose some challenges. One way of working around them is to use an in-memory database that integrates well with the testing framework and provides APIs to manipulate its state from test code. In this article, Toptal Freelance Software Engineer Mikhail Angelov shows how you can write integration and end-to-end tests easily for your Node.js and MongoDB application without having to write complicated setup/teardown code.
  • Gulp Under the Hood: Building a Stream-based Task Automation Tool (Publication)
    Streams are a powerful construct in Node.js and in I/O driven programming in general. Gulp, a tool for task automation, leverages streams in elegant ways to allow developers to enhance their build workflow. In this article, Toptal engineer Mikhail Angelov gives us some insight into how Gulp works with streams by showing us step-by-step how to build a Gulp-like build automation tool.

Skills

  • Languages

    JavaScript, Java, Go, C, SQL
  • Frameworks

    Redux, AngularJS, Protractor, Flux, Angular, Ext JS, Spring, Spring MVC
  • Libraries/APIs

    Node.js, Riot.js, React
  • Platforms

    Docker, Azure, Linux
  • Tools

    AWS ECS, Mocha, Karma, Rollup, Webpack, Amazon Virtual Private Cloud (VPC), AppGyver, jsPlumb
  • Paradigms

    Unit Testing, Agile Software Development
  • Storage

    MongoDB, MySQL
  • Other

    Porter

Education

  • Master's degree in Radio Physics
    1992 - 1998
    Nizhegorodsky State University - Nizhniy Novgorod, Russia
I really like this profile
Share it with others