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.) и желание применять их когда в этом есть смысл.

Опыт


Программист, Фриланс
Январь 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. Имя и фамилию резюме переведи, пожал...
Это резюме содержит много полезной информации о ваших навыках и опыте работы. Однако, е...
Это резюме содержит много лишней информации, которая не имеет отношения к вакансии Fron...
Это резюме содержит информацию о некоторых проектах и технологиях, с которыми вы работа...
Привет, Андрей! Давай улучшим твое резюме: 1. Давай укажем полное название твоей профе...
Это резюме имеет некоторые сильные стороны, такие как указание наличия базовых знаний P...
Это резюме содержит хорошие элементы, такие как указание на изучение JavaScript и Java,...
Привет, Екатерина! Давай улучшим твое резюме: 1. Описание Данный раздел давай пересоб...