Python Developer in Playa del Carmen, Mexico
Meteor Developer2018 - 2019Toptal Client
Technologies: Node.js, React, Meteor
- Migrated client profile and client enrollment management to React.
- Helped to create a new GraphQL API instead of an elder REST API.
- Modified a surveying app to the new external API version.
- Implemented a separate feature to extract data from uploaded files and send it to an external API.
- Supported existing production application as well as fixed bugs and issues.
Full-stack Developer2017 - 2019Palco, Inc. (via Toptal)
Technologies: React, Elixir, Phoenix, SQL
- Created an application to enroll new workers or participants using React and Phoenix framework.
- Created a timesheet management application using React and Phoenix framework.
- Created a dashboard application for internal managers to process data from other applications.
- Integrated a document management system into the enrollment application to support e-doc to paper conversion.
- Optimized SQL data storage and querying to get around five times faster response from complex data requests.
- Automated data validation and reports.
Elixir Developer2016 - 2017BettyBlocks (via Toptal)
Technologies: Elixir, Ruby, PostgreSQL, OTP
- Implemented major parts of the new back-end. Included core features and external service integrations.
- Helped to rewrite a custom language parser from Ruby to Elixir implementation (complete feature compatibility).
- Optimized data processing to simulate object mutations using functional paradigm using ETS cache.
- Supported implementing and testing full-feature parity between new and old back-end applications.
Senior Engineer2015 - 2017Urban Capital, Ltd.
Technologies: Node.js, Python, Meteor, HTML, CSS, Selenium, MongoDB
- Developed a search engine website using Meteor (Node.js + Blaze) and Google Maps for the front-end.
- Made web crawlers to scrape and parse real estate sites using Python's ScraPy and NTLK (natural language processing).
- Optimized a single-page application for search engines (SEO).
- Created a tool to analyze properties and estimate prices. This tool also allows for price predictions based on multiple parameters and statistics.
- Made a web crawler to parse popular Facebook posts and see the engagement on a selected theme (Selenium and Python's Newspaper).
- Created a dashboard to manage users and data including geolocation data.
Meteor Developer2015 - 2016Fujikon Industrial Holdings, Ltd.
Technologies: Node.js, React, MongoDB, Meteor, Nginx, LDAP
- Optimized the Meteor+React-based chat app for 2000+ simultaneous connections.
- Implemented email notifications for the above app.
- Added an integrated TODO module.
- Added a file-uploading module.
Senior Engineer2015 - 2015Sliday
Technologies: Ruby on Rails, PostgreSQL, jQuery
- Added back-end logic to designs provided.
- Set up the server with an automatic deployment.
- Consulted a team of developers on architecture, DevOps, and development.
- Set up the JS front-end to manage REST API appointments.
- Implemented an email notification system.
Web Developer2014 - 2015CTM, Ltd.
Technologies: Python, PostgreSQL, IBM WebSphere, C++, SVN
- Made a solution for high-load server-server queues communications with , ~10,000 daily users, up to 3GB per file.
- Integrated the solution with Russian customs.
- Set up a remote server machine to host the application and queue.
- Created a notification system to check project availability with SMS notification on Python.
- Added a load balancer daemon to manage old SMTP- and new WebSphere-based services.
Senior Developer, Co-founder2014 - 2015Fcuking Easy CRM
Technologies: Ruby on Rails, Ruby, EventMachine, GMail API, HTML, CSS, Angular JS, PostgreSQL
- Created a sales CRM system from the ground up. Currently, over 100 companies are using it.
- Developed an online mail client to integrate deals with email threads using Gmail API.
- Led a team of five, managing the tasks for both designers and developers.
- Optimized project APIs to be ten times faster than using a basic Ruby on Rails solution using Rake, Grape, and EventMachine.
- Created scripts for automatic deployment, backup, tests, and automated availability reports.
Senior Assistant Engineer2011 - 2014Scientific Research Institute of Blood Circulation Pathology
Technologies: C++, GEANT4, DICOM
- Created verification software to estimate the precision of a 3D 'effective dose' distribution in the human body using computer modeling.
- Created a tool to recreate chemical data from computer tomography (DICOM) and insert it into modeling software.
- Created a computer model of a medical linear particle accelerator with rotation and moving collimators (filters).
- Simulated a real treatment process based on CERN's data of the passage of particles through matter. GEANT4.
- Created a disturbed calculations system for treatment simulation.
- Conducted experiments on the real device to calibrate the computer model.
Senior Assistant2010 - 2011Budker Institute of Nuclear Physics
Technologies: C++, GEANT4
- Created an “effective dose” calculation software for different human exposure inspection projections on X-ray inspection devices.
- Analyzed estimated data for different projections to improve the inspection device. One such device is used at Tolmachevo International Airport.
- Migrated the Linux-based calculation software to Windows.
- Conducted experiments on the real device to calibrate the computer model.
- Published a paper based on estimations and data analysis.
- Urban Search (Development)
An Australian data-driven real estate search engine. I've been working in a team of three on both back-end and front-end development.
Every building was rated and scored depending on various data sources like geolocation data, historical significance, etc. NLP also works on the front-end part of the project, making free text search possible (e.g., You can simply type: "I want a two-bedder with high ceilings and water views in Bondi" and the results will appear).
- Fcuking Easy CRM (Development)https://feasy.me/
A featherlight weight CRM system concentrated on sales productivity and built with 4 core principles in mind:
- Touch-move rule (like in Chess but for communications)
- You need to write down everything (memory is the key)
- Woodpecker sales (write-call-meet till you make it)
- Time only priority
Based on those principles, a salesperson can proceed with several hundred deals simultaneously.
From the technical side:
- AngularJS front-end
- Ruby EventMachine REST API back-end
- PostgreSQL as a database
- Redis for background tasks
- TimeWalla (Development)
A Ruby on Rails project to schedule appointments.
Originally for USA barbershops network. The point is to adjust schedule dynamically, depending on client's, if somebody's running late or otherwise want to move earlier. and keep both customers and workers updated.
Libraries/APIsGmail API, Node.js, React, EventMachine, Facebook API, Ractive.js
ParadigmsModel View Controller (MVC), REST, Data Science, Test-driven Development (TDD), Object-oriented Programming (OOP), Search Engine Optimization (SEO), Functional Programming
PlatformsMeteor, Amazon Web Services (AWS), WebSphere MQ, OTP
OtherCreative Problem Solving, Customer Relationship Management (CRM), Self-starter, Single-page Applications (SPA), Data Analysis, Minimum Viable Product (MVP), OAuth, Startups, Data Scraping, Natural Language Processing (NLP)
FrameworksBootstrap 3+, Phoenix, Ruby on Rails (RoR), Machine Learning, AngularJS, Scrapy
ToolsGit, Adobe Photoshop, Sketch, Sublime Text
StorageMongoDB, PostgreSQL, NoSQL
- Master's degree in Physics and Technology2011 - 2013Novosibirsk State University - Russia, Novosibirsk
- Bachelor's degree in Physics and Technology2007 - 2011Novosibirsk State University - Russia, Novosibirsk