Зарплаты разработчиков разных квалификаций в первом полугодии 2019 по данным сервиса зарплат «Моего круга»: читать исследование на Хабре
Обо мне

Работаю, играю, потом снова работаю.

Профессиональные навыки
Участие в профессиональных сообществах
Опыт работы
Издание проектов и сервисов, связанныех с популярными онлайн-играми и киберспортивными дисциплинами
Frontend разработчик
Июль 2019 — По настоящее время (5 месяцев)

Вернулся на новый проект лутбоксов для доты (DOTA 2), начал с переноса старых наработок под существующую инфраструктуру и технологии.

Попутно обучился работе с mobx, typescript, styled-components.

Что делал:

- собрал тему для стайледов

- перетащил стили из css-modules в styled-components.

- переверстал сайт под новый дизайн, накрутил анимаций (keyframes, transition)

В основном, функционал сводился к созданию новых стор для mobx и верстке под новый дизайн с сопутствующей анимацией.

Frontend-разработчик
Ноябрь 2017 — Март 2018 (5 месяцев)

Начал с разработки нового продукта компании (cases4real.com React/Redux).
В основном занимался разработкой и версткой react-компонентов для переноса основного функционала с предыдущего проекта (drupal).

За время проекта успел разработать и внедрить следующий функционал (верстка + компоненты):
- инвентарь (текущие предметы, выбранные предметы) с бесконечным скроллом на базе react-custom-scroll
- историю предметов (получение, забор, продажа)
- рулетку (анимация через keyframes и css-animation) с подстановкой выигрыша
- попап результата прокрутки рулетки (самописные попапы через redux actions)
- css-анимацию начисления опыта
- функционал кнопки прокрутки (много логики по типу если пользователь - гость, то - , если денег не хватает, то - , блок двойных нажатий (this.setState не помогает в таких случаях)
- админку (admin-on-rest) со самописным rest-клиентом
- страницу достижений пользователя.

стэк технологий (это не перечисление packages.json, а только основные):
SASS, React-Redux, Redux-observable/thunk, react-i18next, webpack, universal-router.
верстка: flex БЭМ.

потом переключился на новый проект (старый закрыли) с похожим функционалом.
стэк технологий такой же как и в предыдущем проекта, за исключением:
universal-router => react-router5 (серверный рэндеринг)
rodal => вместо самописных попапов
+ redux-persist (сохранения стейта в local storage, чтобы уменьшить нагрузку на api)

самостоятельно развернул фронт (create-react-app + npm eject + настройка вебпака с лоадерами) и разработал /
сверстал следующие компоненты (страницы):
- главная страница с live-drop предметов, с подкатегориями, каталог предметов с разным качеством (разные стили), отзывы, подписка на соц сети.
- страница открытия кейса с рулеткой и поп-апами авторизации, выйгрыша
- инвентарь / история (аналог предыдущего)
- блоки статичных страниц (о нас, политика, FAQ, баннеры со слайдерами)
- попапы пополнения (G2A, yandex)
- несколько форм с валидациями
- самописную админку с таблицами, формами, дейтпикерами.
- таймеробратного отсчета + попап с таймером бездействия пользователя :)

за это же время написал несколько тестов для логики компонентов с помощью enzyme, jest, redux-mock-store.
демка: https://www.youtube.com/watch?v=n6q1eloqpbY

Информационные порталы о ставках, криптовалюте и статистике спорта
Frontend разработчик
Сентябрь 2018 — Июль 2019 (11 месяцев)

https://tips.ru

Проект подразумевает под собой агрегатор футбольных матчей с обзорами от "авторитетных" каперов (авторов) в совокупности с коэффициентами от букмекеров. В будущем планируется добавить статистику обзоров/ставок автора прогноза (highcharts), матч центр, графики движения коэффициентов, лайв матча (real-time события матча), видеообзоры (видеоплеер пилил практически сам на базе ютубовского). Все нововведения уже есть в демке.

Mobile-first, PWA, SEO friendly.

Начал с рефакторинга существующего проекта.

За пару недель подключил базовый SSR, SASS вместо CSS, мигрировал с webpack 3 до 4, React 15+ => React@l16.8.

Перевел роутинг с react-router-dom на react-router, нормализовал данные в redux, состояние actions/reducers, попутно занимался рефакторингом кода.

За время работы в проекте успел:

- помучатся миграцией бэкэнда с REST API в JSON API и дальнейшей нормализацией данных в редаксе;

- "докеризировать" всю разработку в проекте - переехал и развернул фронт и бэк на новых серваках, поигрался с докер сетями;

- переверстать компоненты под responsive верстку;

- сделать всё необходимое для работы PWA;

- подрубить чанки и динамическй импорт компонентов (react-loadable, dymanic imports)

- настроить полноценный SSR, при котором не нужно делать дополнительных телодвижений для его работы (никаких отдельных билдов, пререндеров, фреймворков и прочего)

- поработать с Hightcharts;

- поиграться с drone.io / gitlab ci/cd (проект на гитхабе);

- выучить китайский, корейский и санскрит с нуля :D

Какие технологии использовал (не перечисление package.json):

- react + redux

- react-router5

- lodash / recompose / reselect

- react-helmet (seo tags)

- docker

- babel

- SASS/SCSS

- flex / css-grid (на каверзные вопросы по flow css отвечаю с ошибками, по флексу и гриду врятли)

- Koa / express

- Promise, async / await

- webpack

не делаю bind, call функций в конструкторе реакта :)

ООО Инфотрейд
Москва
Back-end разработчик
Март 2018 — Июль 2018 (5 месяцев)

Начал с разработки JAVA приложения под Android, которое поддерживало следующий функционал:

- скриптинг на языке программирования внутренней разработки (база от JS) в веб-интерфейсе (скрипты для базовых команд по типу touch, swipe по координатам, ввод текста, а так же циклы и тернарные операторы)

- манипуляции с памятью телефона (загрузка, удаление, выбор картинок, запись скриптов в память телефона, получение пикселя с экрана)

- очереди для ботов, выполняющие скрипт

- мониторинг (статистика, переключение ботов, лог ошибок)

Приложение являлось ботом-автокликером в популярных мессенджерах и социальных сетях с целью накручивания трафика.

В последствии обучил коллег основам JS и возможностям кликера, написал документацию.

После разработки приложения переключился на доработку сканнеров бирж (NodeJS) на базе ccxt (https://github.com/ccxt/ccxt).

Доработал сбор мониторинга сетевых запросов (тайминги фетчей).

Доработал ccxt под использование вебсокетов с прокси-агентами (под каждый новый фетч новая прокси), а так же keep-alive соединения под одинаковые запросы.

Доработал сканнер под возможность переключения разнообразных самописных плагинов под конкретные нужды (в основном подключение того или иного мониторинга)

Разработал сбор необходимой под нужды компании статистики (спреды, истории сделок и пр.)

Разработал сбор лимитов по валютным парам (под каждую пару, своя сериализация данных)

В последствии было принято решение переписать базу ccxt на С++. Успел поучаствовать в написании сканнера под первую биржу.

Стэк технологий за время работы:

- NodeJS (ws, node-fetch, ccxt, googleapis, redis, fs, mysql, ws-heartbeat, moment, request)

- JAVA (adb, gradle, прочие базовые штуки, которые вшиты в JAVA под андроид, выходит, что писал без использования сторонних либ, за исключением adb)

Помимо этого, раскатка сканнеров по серверам (AWS, DO), без каких либо автоматических сборщиков (компания не хотела их использовать).

В свободное время обучал коллега react-redux, проходил мануал по GoLang, писал бота под браузерку на базе Puppeteer (https://github.com/GoogleChrome/puppeteer).

Высшее образование
Гуманитарный институт
Москва
Факультет: Экономический
Июль 2012—Июль 2017 (5 лет)
Экономическая безопастность