diff --git a/cv_en.pdf b/cv_en.pdf index e4bdb72..1a089ac 100644 Binary files a/cv_en.pdf and b/cv_en.pdf differ diff --git a/cv_en.tex b/cv_en.tex index 460d799..7af912b 100644 --- a/cv_en.tex +++ b/cv_en.tex @@ -1,14 +1,14 @@ % BASED ON: https://www.overleaf.com/articles/curriculum-vitae/cnzchmjctmwh -\documentclass[12pt,a4paper,sans]{moderncv} % Font sizes: 10, 11, or 12; paper sizes: a4paper, letterpaper, a5paper, legalpaper, executivepaper or landscape; font families: sans or roman +\documentclass[11pt,a4paper,sans]{moderncv} % Font sizes: 10, 11, or 12; paper sizes: a4paper, letterpaper, a5paper, legalpaper, executivepaper or landscape; font families: sans or roman \RequirePackage[unicode]{hyperref} \moderncvstyle{classic} % CV theme - options include: 'casual' (default), 'classic', 'oldstyle' and 'banking' \moderncvcolor{black} % CV color - options include: 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black' -\usepackage{lipsum} % Used for inserting dummy 'Lorem ipsum' text into the template +\usepackage{lipsum} -\usepackage[scale=0.75]{geometry} % Reduce document margins +\usepackage[left=3cm,right=1.5cm,top=2cm,bottom=2cm,scale=0.75]{geometry} % Reduce document margins %\setlength{\hintscolumnwidth}{3cm} % Uncomment to change the width of the dates column %\setlength{\makecvtitlenamewidth}{10cm} % For the 'classic' style, uncomment to adjust the width of the space allocated to your name @@ -20,26 +20,23 @@ \familyname{Lobanov} % Your last name % All information in this block is optional, comment out any lines you don't need -\title{Curriculum Vitae} +\title{Software Engineer} %\address{37 Padre Antonio da Olivadi}{Catanzaro, Italy 88100} \mobile{+7~906~631~50~58} -\email{i@likemath.ru} -\homepage{likemath.ru} % The first argument is the url for the clickable link, the second argument is the url displayed in the template - this allows special characters to be displayed such as the tilde in this example -%\extrainfo{additional information} +\email{alekseylobanov1@gmail.com} +%\homepage{likemath.ru} % The first argument is the url for the clickable link, the second argument is the url displayed in the template - this allows special characters to be displayed such as the tilde in this example +\extrainfo{Telegram: \emph{TODO: Telegram here}} \social[github]{AlekseyLobanov} -\photo[70pt][0.4pt]{pictures/avatar_1x1_1280} % The first bracket is the picture height, the second is the thickness of the frame around the picture (0pt for no frame) %\quote{"A witty and playful quotation" - John Smith} -%---------------------------------------------------------------------------------------- - \begin{document} \makecvtitle \section{Education} -\cventry{2015 -- 2019}{Moscow State University}{Faculty of Computational Mathematics and Cybernetics}{Applied Mathematics and Cybernetics}{Bachelor of Engineering (B.Eng.)}{} +\cventry{2019 -- 2021}{Moscow State University}{Faculty of Computational Mathematics and Cybernetics}{Applied Mathematics and Cybernetics}{Master of Engineering (M.Eng.)}{} % Arguments not required can be left empty %\section{Masters Thesis} @@ -54,24 +51,47 @@ \section{Employment History} -\cventry{Mar 2018 -- Now}{Backend Python Developer}{\textsc{Kvint}}{Moscow (remote work)}{}{ -Developing a platform for creating call robots. -I designed and developed most of the platform. -I was able to achieve scalable and fault-tolerant architecture for backend. -I prepared multiple ML pipelines for production use. -I also created the key component that made calls. -We used Python, MongoDB and RabbitMQ for 90\% of backend. +\cventry{Jun 2020 -- Now}{Senior Backend Engineer}{\textsc{SberDevices}}{Moscow}{}{ +3 connected projects in one big department with overlapping engineering teams. +\begin{enumerate} +\item Worked on architecture and MVP for Visper.tech +\item Integrated abandoned ML-solution for video generation to Visper.tech backend. +\item Created and launched widget backend with complex architecture and Python/Golang components. $\geq$ 500k active devices each day and $\geq$ 10k RPS average. +\item Led backend development for news and widget including architecture and tech communications with other teams +\end{enumerate} +\textbf{Stack:} Golang, Python, Django + FastAPI, Postgres, RabbitMQ, Redis/KeyDB, Prometheus + Grafana, Traefik, GitLab CI, Sentry, Docker. } -\cventry{Jul 2017 -- Feb 2018}{Backend Python Developer}{\textsc{Krista}}{Moscow (remote work)}{}{Developing of Telegram chat bot, that can understand queries in natural language. We had several OLAP cubes with financial data and about 2000 text answers.} +\cventry{Mar 2018 -- Jun 2020}{Python Developer}{\textsc{Kvint}}{Moscow (remote work)}{}{ +Platform for e2e robot calls with call state (we used FSM) +and external API calls during call. +High scalability and no-code approach for most of functions. +\begin{enumerate} +\item Worked on core FSM part, integrated Lua scripting and testing concepts with coverage monitoring. +\item Created from scratch in-place replacement for main dialing component, up to 100 simultaneous calls on each server and millions of calls each month. +\item Was responsible for integration with custom STT (Speech-to-Text) library on CUDA cores. Used C++ for near-zero overhead. +\item Created scalable and fault-tolerant services architecture for most of backend tasks. +\item Integrated custom VAD (Voice Activity Detector) with Websockets, about 80\% STT load reduction. +\item Integrated ML pipeline for NLU with custom dictionary and data for each client. Used Google Compute with dynamic instances for about 95\% training cost reduction. +\end{enumerate} +\textbf{Stack:} Python + pytransitions for FSM, Websockets, Lua for scenario scripts, C++, Asterisk, MongoDB, MySQL, RabbitMQ, Docker. +} -\section{Computer Skills} -%textsc -\cvitem{Programming Languages}{Python, C/C++, Lua, SQL, Bash} -\cvitem{Technologies}{Message-brokers(RabbitMQ), Docker, S3-compatible(mostly Minio), Google Compute, Flask, SQL and NoSQL DBs, wxWidgets/wxPython} -\cvitem{Machine Learning}{Most classic methods. Also I have good experience with preparing result models and learning pipelines to production.} -\cvitem{Databases}{MySQL, sqlite, MongoDB} -\cvitem{VCS}{git} +\cventry{Jul 2017 -- Feb 2018}{Python Developer}{\textsc{Krista}}{Moscow}{}{Telegram chat bot for open data that can understand queries in natural language. +\begin{enumerate} +\item Integrated code metrics + static code analysis as part of CI process. +\item Redesigned data process to get measurable results for each commit. +\item Reimplemented queries building process to ML-approach with big step up in performance from about 80\% to 98\% on test data. +\item Managed tech debt reduction process. +\end{enumerate} +\textbf{Stack:} Python3 + scikit-learn for ML, Apache Solr, Telegram API. +} + +\section{Skills} +\cvitem{Languages}{Python, Golang, C/C++, Lua, SQL} +\cvitem{Technologies}{RabbitMQ, Docker, S3 (including Minio), Prometheus/Grafana, Sentry, GitLab CI, Linux} +\cvitem{Frameworks}{FastAPI, Django, aiohttp, scikit-learn} +\cvitem{Databases}{MySQL/MariaDB, Postgres, Redis/KeyDB, sqlite, MongoDB} %\cvitem{Linux}{About 5 years of administration and using as the main operating systems} %---------------------------------------------------------------------------------------- @@ -83,12 +103,6 @@ We used Python, MongoDB and RabbitMQ for 90\% of backend. %\cvitem{2010}{Oral Presentation at the California Business Conference} %\cvitem{2009}{Poster at the Annual Business Conference in Oregon} -\section{Languages} - -\cvitemwithcomment{Russian}{Native}{} -\cvitemwithcomment{English}{Upper-Intermediate}{} -%\cvitemwithcomment{Dutch}{Basic}{Basic words and phrases only} - %\section{Interests} %\renewcommand{\listitemsymbol}{-~} % Changes the symbol used for lists