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) Для такой кучи фриланса и опенсорса как-то не хватает конкретики. Это, получается, основа вашего опыта, – и глядя в резюме трудно переварить, в чем он собственно заключается. Задачи на фрилансе так вообще максимально невнятно описаны. Короче, ищущий исполнителя работодатель хочет посмотреть в резюме и увидеть опыт, перекликающийся с его задачами. Здесь он не увидит ничего конкретного, а значит ничего пересекающегося.


Добавить комментарий
Для этого действия нужновойти
Войдите на сайт, чтобы написать ответ
Последние ответы

QA Ingeneer
Никто не знает что такое EnglishFirst и чт...
1 Ответ

Junior JS разработчик
Привет, Алексей! Как-то все немного ско...
1 Ответ

Python - Junior разработчик
Привет! А почему о себе в 3 лице? Нужно...
1 Ответ

Junior (Intern) Python Developer
Добрый день! Единственное что, я бы, мо...
1 Ответ

Python разработчик
Добрый день! 1. Начнем с названия должнос...
1 Ответ

Junior PHP-разработчик
> С мая 2019 года изучаю программирование ...
1 Ответ

Junior Frontend Developer/Тестировщик ПО
Добрый день! 1. Я бы разделила резюме н...
1 Ответ

Junior node.js developer
Привет! Прочитала ваше описание. На само...
1 Ответ

JavaScript - Junior разработчик
Что за награды и сертификаты? Нужно указат...
1 Ответ

Junior Frontend Developer
> "В той или иной мере изучил " Лучше ...
1 Ответ