Software Developer2019 - PRESENTYandex
Technologies: Big Data, Map Reduce, C++, C, Python, Linux, Distributed Computing
- Developed MapReduce processes of image processing on trillions of records.
Machine Learning Engineer2017 - 2019Presenso
Technologies: Java, Hadoop, Spark, Weka, Matlab, Python, TensorFlow, Linux
- Wrote a proof-of-concept project with Python, Keras, and TensorFlow to show the capability of deep models to predict time-to-failure values for industrial machines. I showed that it is possible to improve system performance for some customers with a larger amount of ground truth data available.
- Wrote a tool to automate model selection and hyperparameter search with the help of Matlab's Bayesian optimization and Python scripts for model deployment.
- Added automatic feature selection capability to the system, which allowed for improvement of model performance by several points.
- Improved Matlab visualization code to be capable of displaying hundreds of features simultaneously.
- Supported usage of analytics company software by other divisions; performed presentations and manuals.
Machine Learning Engineer2018 - 2018RAD Software (via Toptal)
Technologies: Python, TensorFlow
- Implemented an algorithm from a scientific paper with the help of parallel computing in TensorFlow.
Developer (GIS and Python)2017 - 2018Energent Group (via Toptal)
- Wrote a Python script that reads a GeoJSON file with client-provided point of interest (POI) list and downloads satellite images from Sentinel-2 hub service to AWS or S3. The script is able to update a set of images on GeoJSON change.
- Created a simple Node.js/Jade/PUG website which shows downloaded images to the user and allows them to manually classify them against a set of classes provided (for subsequent supervised machine learning). Results are saved on AWS or S3 in JSON format.
- Created a deep (convolutional and recurrent) neural network model with the help of Keras and TensorFlow and trained it against the collected trainset on GTX 1070 GPU with CUDA and CuDNN. Trained weights are saved in HDF5 format on AWS or S3.
- Created a web service to perform prediction online with the help of Flask/Jade.
Google Maps Developer2017 - 2017Beyond Map (via Toptal)
- Connected the widget to the existing Laravel blade template from the existing customer project. Worked with a Bitbucket repository provided by the customer.
- Installed an Amazon Beanstalk web server for the customer to be able to see updates online. Deployed the site onto this server regularly.
- Wrote a Java desktop program to generate and process demo and customer data. This includes creating and populating a SQLite database and generating custom PNG tilesets.
- Created a Laravel controller (service) to serve geospatial data for the widget. The controller was able to access the SQLite database and produce GeoJSON responses for the widget.
- Created a proxy Laravel controller (service) to access the third-party Yelp Fusion API and prepare its responses in GeoJSON format for the widget.
Programmer2016 - 2016CIRECA Theranostics, LLC (via Toptal)
Technologies: Java, MATLAB, MySQL, Linux, JavaFX, Spring
- Created an "overlay widget" in Java, which can be embedded in both MATLAB and Java applications and is able to display and manipulate multilayered scientific vector graphics data.
- Built a database layer for a Java GUI application, allowing it to interact with "bound" JavaFX objects.
- Developed an API to mix Spring Framework and JavaFX.
- Created a desktop laboratory information and data mining system.
- Wrote a test environment and manual protocol to use when disconnected from the internet.
- Developed a domain-specific language (DSL) to query medical data with the help of Antlr4.
- Wrote MATLAB functions to "glue" Java and MATLAB and test interactions.
GIS Developer2016 - 2016Trackmatic Solutions (via Toptal)
- Created a web service to query the MongoDB database and analyze the resulting data by geospatial properties with the help of GeoTools.
- Developed a demo for the front end, which displayed an open street map layer and found data on additional layers.
- Wrote unit tests with the help of MockMVC, Jackson, and more.
Software Developer2013 - 2015Image Recognition and Training Framework
Technologies: Java, MATLAB, Neural Networks, Image Processing
- Developed software to build, test, train, and run learning graphs and deep neural networks.
- Reached performance of 80% on reCAPTCHA.
Software Developer2012 - 2012Freelance
Technologies: Xuggler, CMU Sphinx ASR, Google ASR API and Mary TTS, Adobe Flash, RTMP Protocol
- Modified a Red5 server to get custom sound generation, capturing, processing, and recognition.
Software Developer2009 - 2011Freelance
Technologies: AIML (Alicebot, ProgramD), SPARQL (Apache Jena, Wikidata), RDF
- Developed a voice-controlled personal assistant knowledge-based mobile application.
Software Developer2010 - 2010Freelance
Technologies: C#, MS SQL, SQL
- Wrote multiple programs to scrape web data and put it into a SQL database.
Software Developer2008 - 2009Freelance
Technologies: Java, C#, MATLAB, Neural Networks, JavaFX, Swing, ImageJ, JHLABS Filters, Piccolo2D
- Developed CAPTCHA recognition software with the help of neural networks trained in MATLAB on the cluster of several workstations and ran in Java or C#. Achieved efficiency was up to 97% per symbol on some image types.
Software Developer2007 - 2007Freelance
Technologies: Java, Multithreading, Spring
- Developed an inference engine and knowledge storing sytem to solve simple logical puzzles like Zebra puzzle.
- Used core Java, including multithreading.
- Created custom logic language and wrote my own interpreter.
Software Developer2007 - 2007Freelance
Technologies: C++, Java, CMU Sphinx, Google ASR, Mary TTS, AIML, ProgramW (AIML interpreter in Java), Apache MINA, TV Tuner Card, OpenEphyra
- Learned speech recognition and production models like HMMs.
- Used an undocumented Google ASR API.
- Wrapped PorgramW into Apache MINA.
- Developed a voice-based question answering program.
- Developed corpus collection software from TV closed captions in C++.
Co-founder and Developer2002 - 2006Vsetech.ru
Technologies: Java, Tomcat, Servlets, Firebird, MySQL
- Developed and implemented a custom non-SQL (graph) database system.
- Created custom web templates using Java, JSP, and servlets.
- Built a custom content management system called Webmet CMS with Java and Tomcat.
- Used the Webmet system to build and manage an academic website.
Senior Expert1997 - 2002Russian Federation Central Bank
Technologies: C++, VB, MS Access VBA, Oracle, MS SQL
- Created different workflow automation software to access desktop applications and Oracle on client servers.
- Managed a small team of developers.
Analyst1994 - 1995Trust-Service Brokerage Company
Technologies: C++, Excel, VBA
- Analyzed stock market trends using an original algorithm to calculate the stock market index.
Analytical Division Head1994 - 1995National Information Agency
Technologies: Microsoft Access, VBA, C++
- Built software to collect share quotations.
- Produced weekly TV reports about the share market.
- Helped develop a satellite network for transferring quotations.
Graduate Student1994 - 1994Nuclear Physics Research Institute, Moscow State University
Technologies: C++, Linux
- Defended a thesis on the computer modeling of atomic nuclei collisions using 3D hydrodynamic modeling.