Slava Egorenkov

Junior/Middle Data Developer

Bangkok, Thailand

Summary

Hello!
I'd been doing Android apps for 5 years, but, then, got interested in Data Analysis. I've done a really nice personal parser from 70 sources with precise classifiers and RSS-export of only relevant data. Later, in May 2018 I started prototyping a solution for Singaporean logistics problem. Please, have a look at it in "Experience" section. The solver worked well, but, though, since it's a combinatorics task, it was quite slow and it could take it a day to prepare the schedule (it was ok for the company). I optimized the algos and rewrote some code in Cython so, they could get an express-solution within 3-5 minutes but it was less optimal.

Thus, I decided to remember some C++ to attack combinatorics problems! Now, after spending ~6 months on my C++ studies and demonstrating, that I'm having enough experience to build something middle-sized from scratch (https://youtu.be/cfY2wrKqNZE) I'm ready to get back to Python, with ability to write native code for it as well!

Languages:

English, Russian

Favorite Python Packages:

pandas, sklearn, matplotlib

Experience

Python Developer, Haulio. Singapore, Remote
(May 2018 – Aug. 2018)
Understanding business requirements and prototyping of logistic algorithms. Delivered
several sorts of greedy algorithms, stochastic searches (pure stochastic, genetic,
simulated annealing), debugging/visualization tools. The final command-line tool takes an
excel file as an input file, that contains all the info about the schedule of trucks, trailers,
containers, clients, and drivers; and allows to generate an output excel file with the exact
timeline for all of them. The utility is adjustable, so the client is able to choose various
types of parameters: Google Maps API distance/time estimators, the algorithms I
mentioned above and the meta parameters for each of the algorithms. To avoid guessing
the parameters, the brute-forcer was also implemented. Everything is shipped with
complete documentation: both for a final user and the next developer.


Python Developer, Personal Project
(Jan. 2018 – May 2018 )
Implemented:

  1. Scrapper (parser) of ~70 URLs.
  2. Nice randomized scheduler that collects data only when it's needed, silently, without overwhelming the server. The intervals are random and stick to the normal distribution.
  3. Classifiers (detectors) for obtained data, that discard ~96% of non-relevant data.
  4. Language detection for obtained data
  5. Connection to GeoAPIs (Google API) to get the exact location for the data to link it to other (geo) services.
  6. RSS output, where filtrated, relevant and English-only data from different sources goes to a single RSS that can be consumed from everywhere, anytime, quickly notifying about really important events.
  7. Admin interface via Django Admin.


I also have some experience with C++ (6 months)

C++ developer, Personal project (02.2019 – 04.2019)

Watch the Video

The game was done in OpenGL 4.0 by me from complete scratch within 2 months as a part of gaining my C++ skills. I had to do everything from scratch (that was a requirements for this assessment). Things are implemented here:

  1. The model format, the converter and the loader.
  2. The resource pipeline, built with CMake. It compiles resources (models and images) to an internal format incrementally, taking into an account the file hierarchy of an arbitrary deepness . Thus, it doesn't recompile the same things again and again, causing slow buildings.
  3. Math problems: collisions, jumps, navigation.
  4. GPU particle system.
  5. Bots, that can navigate throw the whole level.
  6. Simple dynamic lighting (that's under the character).
  7. It's cross-platform and tested under Windows 8 and Ubuntu 18.04.
  8. Level "Design" :)

Libraries and tools used:

  1. SDL 2 (cross-platform graphics initialization, work with input)
  2. CMake (for the resource pipeline and building everything up)
  3. Standard C++ library (shared_ptr and vector only)
  4. Python (the model converter is written in Python 3)
  5. PVRTexToolCLI for converting images in the resource pipeline.

Last, but not least, I also had been developing Android apps for 5 years, before switched to Python and C++ for higher performance. I'm not sure I should describe it here (since it's Python-related site), but you can always check my CV! :)

Skills

Keras, NumPy, Pandas, SciPy, TensorFlow

Joined: May 2019