Hexlet CV

Software Developer

Основное


Описание

О себе

Начал программировать около 9 лет назад. Участвовал в open source проектах во время Google Code-In и в школьных олимпиадах. Через несколько лет начал работать на фрилансе (в свободное от учебы время), в основном небольшие проекты по извлечению и обработке данных с сайтов, автоматизации различных рутинных задач. 3 года назад участвовал в Google Summer of Code в проектах LibreOffice по реверс-инжинирингу и импорту файлов проприетарных форматов. Последние 2 года работал над исследовательским проектом в магистратуре в группе студентов под руководством SAP, разработал платформу для бенчмаркинга алгоритмов обнаружения аномалий.

Всегда занимался самообучением не ограничиваясь только программой вуза: книги, курсы (Coursera, Hexlet), участие в сообществах, разработка своих и open source проектов.

Хобби: программирование, компьютерные игры, кино/сериалы, технологии/компьютерное "железо", путешествия.

Open source

Некоторые из моих последних вкладов в open source проекты (исправление багов, добавление небольших фич):

Недавние личные проекты:

  • Программа для отслеживания изменений на сайтах (например, список товаров в местном онлайн-магазине): периодически загружает страницу с помощью Selenium, получает текст по указанному селектору, если есть изменения, то отправляет diff на почту (через Mailgun). Старался избегать лишних усложнений, чтобы реализовать проект/прототип максимально быстро: Selenium вместо HTTP запросов (универсально для всех сайтов с любым фронтендом, производительность не критична), стандартные CSS/XPath селекторы, консольный интерфейс, конфиг файл. https://github.com/AlexP11223/WebChangeNotifier
  • Клиентские скрипты для онлайн-форума улучшающие UI и добавляющие новые возможности для пользователей (автосохранение черновиков сообщений, хоткеи) и модераторов (шаблоны ответов, Geo IP). https://github.com/AlexP11223/ProgForumRuUserscripts

Наиболее интересные учебные проекты:

Навыки
  • PHP, JavaScript, Python.
  • Реляционные базы данных (MySQL, PostgreSQL, SQLite), ORM (Eloquent, Doctrine).
  • Web backend фреймворки: Laravel, немного Node.js.
  • Frontend: HTML, CSS, JavaScript (включая современные нововведения), Bootstrap, jQuery, ...
  • Автоматическое тестирование (юнит тесты, интеграционные и т.д., в основном с помощью классических xUnit фреймворков типа PHPUnit, PyTest), TDD.
  • Базовое использование Vagrant, Docker.
  • Извлечение данных и автоматизация работы с сайтами с помощью Selenium или HTTP запросов.
  • Опыт работы с Windows и Linux (в основном Ubuntu), и как пользователь/веб-разработчик, и как разработчик приложений для них.
  • Также есть опыт разработки десктопных приложений на С#/.NET, Java/Kotlin, C++, Python. Qt/PySide2, WPF, WinForms, WinApi.

  • Концентрация на цели, выяснении реальных причин ("почему/зачем?"), а не бездумное выполнение задач.

  • Осведомленность о различных инженерных практиках (Agile, XP, TDD, CI, etc.) и желание применять их когда в этом есть смысл.

Награды, Сертификаты
  • 2011 Google Code-In, более 15 вкладов в open source проекты.
Владение английским
Свободно владею

Работа


Программист, Фриланс
янв. 2014 - окт. 2019

Разработка десктопных и веб приложений. В основном небольшие проекты по извлечению и обработке данных с сайтов, автоматизация различных рутинных задач, разработка системных утилит.

Примеры задач:

  • Извлечение данных с сайта через API (если есть) или парсинг HTML, сохранение в БД или файл, визуализация.
  • Обработка большого числа изображений (вырезать указанные части для превью, изменить размер и т.п.) скриптом на Питоне.
  • Создание системы для резервного копирования дисков, что-то типа упрощенного Acronis True Image с заточенностью под определенную конфигурацию устройств.
  • Видео-киоск для выставки в музее — полноэкранное веб-приложение для устройства с двумя экранами: сенсорный экран для выбора видео, и проектор для воспроизведения видео.
Программист, исследователь, SAP (internship)
нояб. 2017 - июня 2019

Исследование и оценка алгоритмов обнаружения аномалий в данных. Разработал систему для бенчмаркинга алгоритмов на Java + Python.

Программист, Google Summer of Code 2017, The Document Foundation (LibreOffice)
мая 2017 - авг. 2017

Реверс-инжиниринг первых версий бинарного формата файлов QuarkXPress (ПО для издательств) и реализация библиотеки парсинга/импорта.
https://summerofcode.withgoogle.com/archive/2017/projects/5756673784283136/

Программист, Google Summer of Code 2016, The Document Foundation (LibreOffice)
мая 2016 - авг. 2016

Реверс-инжиниринг бинарного формата файлов Zoner Draw (векторный графический редактор) и реализация библиотеки парсинга/импорта.
https://summerofcode.withgoogle.com/archive/2016/projects/4529893417156608/

Образование


Магистратура по прикладной информатике, Vytautas Magnus University, Литва
сент. 2017 - июня 2019
Бакалавр по прикладной информатике, Vytautas Magnus University, Литва
сент. 2013 - июня 2017

Добавить комментарий
Для этого действия нужновойти
Рекомендации
4

1) Очень длинные предложения в конце первого абзаца, надо распиливать на большее число. Тяжело читается
2) > разработка своих и open source проектах. <--- проблемы склонения, кое-где еще потерялась минимум одна запятая. Удачи в поисках :)
3) Очень, ОЧЕНЬ много всего по стэку перечислено. Что из этого знаете на каком уровне, в каких проектах использовали, что из этого хотите применять, – неясно. То есть раздел скиллов как бы не выполняет свою функцию для резюме. Потому будь я потенциальным работодателем, я бы вообще не поняла, что вы умеете и хотите от жизни с таким набором.
4) Городская олимпиада по информатике это, возможно, не самое важное 7 лет спустя. Я бы убрала
5) Для такой кучи фриланса и опенсорса как-то не хватает конкретики. Это, получается, основа вашего опыта, – и глядя в резюме трудно переварить, в чем он собственно заключается. Задачи на фрилансе так вообще максимально невнятно описаны. Короче, ищущий исполнителя работодатель хочет посмотреть в резюме и увидеть опыт, перекликающийся с его задачами. Здесь он не увидит ничего конкретного, а значит ничего пересекающегося.


Добавить комментарий
Для этого действия нужновойти
Войдите на сайт, чтобы написать ответ
Последние ответы
Николай, добрый день! Резюме требует доработок. Прежде всего, нужна правильная струк...
Привет! 1) Начинайте с описания вакансии, на которую претендуете. Удаленный формат и...
Шахзод, добрый день! Рекомендации по улучшению резюме: 1) Из названия резюме поня...
Добрый день! 1. Советую немного поменять структуру описательного раздела: начинайте ...
Привет! Хорошее резюме, могу совсем немножечко придраться :) 1) Чтобы было совсем...
Привет! Оставлю несколько советов по улучшению резюме: 1) Советую детальнее остан...
Привет, Кирилл! Есть несколько рекомендаций: 1) Нужно поработать с оформлением, с...
Елизавета, добрый день! Дам несколько советов по улучшению резюме: 1. Начинать стои...
Федор, привет! Дам пару рекомендаций, как улучшить резюме: 1) Названее изменила б...
Привет! Дам несколько рекомендаций. 1. Описание я бы разделила на 2 небольшие час...