Software engineer

Основное


Описание

Артем Беланков, 28 лет, Сочи, Россия.
Последние 11 лет работаю в сфере веб-разработки. Начинал с фриланса, участвовал в разных стартапах, клиентской разработке.
Несколько раз участвовал в open source (rails, actioncable-examples, yegor256/0pdd).
Работал на позициях senior software engineer, team lead (понравилось больше всего), CTO. Люблю мотивировать людей, делать code review.
Занимаюсь фитнесом, тайским боксом, бегаю, катаюсь на велосипеде.

Навыки

JavaScript
Использую последние версии ECMAScript (через NPM, Babel), люблю FP-стиль, могу применить OOP. Продолжаю изучать FP на этом языке.
Использую React, Redux, Redux-Sage.
Раньше работал с Angular (версии 1, 2).
Был опыт с WebSockets через socket.io, actioncable и web-api — с их помощью разрабатывал онлайн-видеоплатформу для обучения.

Ruby
Начинал работать с Ruby 1.8 и Rails 3.2, использую данный язык и фреймворк последних версий и сейчас. Есть опыт миграции с разных версий Ruby и Rails.
Знаю, как работают Multithreading (реальный в JRuby и green в MRI) и DeadLock, а также Sidekiq, Activejobs.
Имею опыт с разным кэшированием (low-level, SQL, view, fragment), использовал websockets через actioncable.
Использовал Rails для API (с Grape) и для полноценного приложения (front+back).
Работал с серверами Puma, Unicorn, Thin (конфигурировал вручную, используя в связке с ngnix).

SQL
С и без ORM, могу писать сложные запросы с joins/вложениями.
Люблю postgresql, использовал pgbouncer для менеджмента/баланса соединений (при высокой конкуренции запросов).
Понимаю, как работает SQL DeadLock.

GIT
Работал с github, bitbucket, gitorious, git-flow, сложными мержами с конфликтами, ребейзами и через PR-ы.

OSS
Несколько раз участвовал в open source (rails, actioncable-examples, yegor256/0pdd).

HTML/CSS
CSS3, HTML5, SASS, LESS
В начале карьеры много верстал (из PSD), делаю это профессионально.

UNIX
Ранее использовал Linux (начинал со Slackware, остановился на Ubuntu). Сейчас работаю на Mac, но опыт с Linux помогает в администрировании серверов.
Понимаю, как работают sockets, filesystem, processes, HTTP, TCP/UDP.
Могу настроить домены, DNS/NS/MX записи, любой сервер для почти любых веб-нужд.
Работал с docker, nginx, различными веб-серверами, VPS/VDS, cloud based servers.

Tests
Стараюсь работать через TDD. Так можно сразу, еще до реализации, мыслить абстракциями и интерфейсами, что ведет к увеличению скорости построения архитектуры и улучшению качества кода.
Использую Minitest/RSpec (Ruby) и Jest/Enzyme (JS).

Software design patterns
Знаю и стараюсь применять где нужно: SOLID, GRASP, KISS

Сторонние API
Semaphore, Newrelic, SMS Direct, Postmark API, Bugsnag, Vexor, Honeybadger.

Таск-менеджеры
Basecamp, Pivotaltracker, Redmine, Jira

Награды, Сертификаты

Владение английским
Читаю профессиональную литературу

Работа


Senior Software Engineer, Pretty Instant Photography
июня 2018 - сент. 2019

Работал над всем проектом под руководством CTO Doug Rogers.
Обилие legacy-кода компенсировалось свободой выбора технологий, библиотек и подходов к разработке.
Задачи:
1. Было несколько приложений, которые использовали одну БД через API на Rails (приложение загрузки фотографий, клиентская панель на React/Redux, менеджерская панель с rails views). Начал вставлять туда независимые модули на React.
2. Интеграция и адаптация FullCalendar в менеджерскую панель, создание нового интерфейса поверх функционала данной библиотеки.

Chief Technology Officer, Sendit.ru
февр. 2018 - июня 2018

Планирование задач и оценка рисков для команды разработчиков, составление отчетов о проделанной работе, управление всей технической инфраструктурой (серверы, сервисы сбора ошибок, корпоративная почта, sms-сервисы, сервисы аналитики).
Проведение собеседований с кандидатами (выполнял функции HR-отдела — от составления вакансии до начала испытательного срока).
Планирование командировок и контроль обучения сотрудников (половина рабочих часов пятницы давалась на обучение, оплачиваемое компанией, но с отчетом о результатах).

Lead Software Engineer, Sendit.ru
нояб. 2016 - февр. 2018

Сервис позволяет клиенту найти самую выгодную и быструю доставку для его товаров. Занимался devops, разрабатывал backend-часть сервиса и руководил программистами.
У нас было много тестов, так как основной модуль сервиса — это парсер данных с 24 провайдеров курьерских служб, и его нужно было постоянно поддерживать.
Написал весь frontend на React и Redux, работая с websockets. Один из модулей сервиса — панель управления для менеджеров, которые обрабатывали заявки. Нужно было организовать правильную работу панели, где с одной и той же заявкой в live-режиме могли бы работать несколько менеджеров.

Software Engineer, Evrone
марта 2015 - окт. 2016

Full-stack разработка 7 проектов, в том числе сервиса для онлайн-обучения с использованием websockets и actioncable, CRM для закупок промышленного оборудования, сервис кредитования RevoPlus.

Software Engineer, BrandyMint
сент. 2014 - марта 2015

Backend-разработка сервиса блогинга Taaasty.com, включая сложные задачи, в первую очередь связанные с оптимизацией скорости работы (big data, миллионы постов и комментариев).
Перевел почти всю выдачу данных (index/show/поиск) на elasticsearch.
Работал под руководством CTO Danil Pismenny.

Software Engineer, Itima
марта 2011 - апр. 2014

Начал изучать Ruby и Rails.
Как full-stack разработчик занимался социальной сетью знакомств, CRM-системой для логистики, гео-сервисом (научился работать с картой и геометрическими примитивами, использовал LeafletJS), сервисом Usalytics (впервые начал работать через TDD, тестируя с mocks/stubs оплату через сторонние API).

Software Engineer, oDesk/UpWork and russian freelance
февр. 2008 - марта 2011

UpWork профиль: https://www.upwork.com/freelancers/~01481ff753c5471b89
Различные заказы — от верстки до самописного движка на PHP.


Артем, можете добавить информацию о работе и образовании?

Kirill Mokevnin10 сент., 17:19

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

Текста слишком много, можно и нужно сокращать, чтобы повысить читаемость. Из-за текущего объема в нем теряются повторения – дважды дословно повторяется тема про опенсорс-проекты.
Не поняла, зачем делать такой акцент на и так объемно расписывать опыт CTO, который как бы всего 4 месяца. И в описанном опыте ничего исключительного или увлекательного не видно. При этом зачем-то эту аббревиатуру я вижу аж в самом начале резюме.


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

JavaScript - Junior разработчик
Не то чтобы рекомендация, но на подумать: ...
2 Ответа

Software developer
Рекомендации: 0) В стартовом описании нем...
1 Ответ

Junior Frontend Developer
Резюме хорошее, но если честно многовато т...
2 Ответа

Frontend Developer
Рекомендации: 1) Названия технологий край...
1 Ответ

Специалист технической поддержки
Рекомендации: 1) Проходите базовые/беспла...
1 Ответ

Java-разработчик
Все неплохо, пара комментариев: 1) Возмож...
1 Ответ

Junior (Intern) Frontend Developer
> Проходил курсы по HTML, CSS и JavaScript...
1 Ответ

JavaScript-developer
Удваиваю слова Кирилла, это все же не резю...
1 Ответ

Mid-level frontend(JS/React) software developer
Добрый день! Из того, что я могла бы реко...
1 Ответ

JS - программист
Добрый день. 1. Нужно указать имя все-т...
1 Ответ