Position: Python developer
Category: Python
English level: upper
Years of experience: 0.5

A master's degree in Software Engineering.
During my education, I have completed several software projects.

Since 2014 I've been a sole developer of a website, a culinary blog, that is currently written in Django. I've implemented a deployment process, which generates a static copy of a website and publishes it to AWS S3. The dynamic functionality (the full-text search) works on AWS Lambda. I've also built a Flutter app for Android that retrieves information from the Web using a statically-generated API.

For learning purposes and “just for fun,” I've designed and implemented a programming language with a very narrow use-case: implementing programs for solving Rubik's cubes and other twisting cube puzzles. I've defined context-free grammar (using the Lark library) and implemented a transpiler that generates Python code. The compiler is written in Python 3 and thoroughly tested using pytest.

I also created a Telegram bot that generates images based on the user's inputs. It runs on Heroku and is written in Python 3. The bot uses PIL for image synthesis and MongoDB (hosted on MongoDB Atlas) for storing user session state.

The most intellectually-demanding project so far was the software I have designed and written for my master's thesis. It was a distributed microservice-based image retrieval system. I had to implement feature extraction (that ran on GPU using OpenCL), descriptor evaluation, and image retrieval from MongoDB. I used OpenCV, NumPy, and scikit-learn for subject-area computations and RabbitMQ, Tornado, Flask, and docker for organizing communications between components. The system's UI was written in React.

These are my Python projects I am most proud of. I have also finished some other projects: a dice-rolling application for Android (Flutter, Firebase), a browser extension for displaying content from the Web (React, OAuth), and a web server written in pure x86-64 assembly. More details are available in my resume.
I am seeking to join a team where I would be able to grow professionally and personally. I love solving difficult problems and, because of that, prefer to work on back-end systems.