Алексей Калинин

Ruby on Rails developer

г. Москва | +7 (916) 267-77-78 | 29.07.1990

mailme github profile telegram

Обо мне

photo

Моя цель — разрабатывать приложения и сервисы, делающие жизнь людей лучше.
Пока у меня немного опыта, но зато есть ясное понимание, что нужно делать, чтобы расти с каждым днем, и огромное желание двигаться вперед.
Всегда требователен к себе, хочу быть максимально полезным и эффективно применять все свои знания.
Слово "проблема" не для меня, есть только "задача", и чем она сложнее тем больше желание ее решить.

    Иностранные языки:
  • Английский — Upper Intermediate

Навыки

    Ruby
  • Синтаксис
  • Code style
    понимаю как важно писать код так, чтобы его было легко прочесть
  • ООП, классы
    знаю как работают принципы инкапсуляции, наследования, полиморфизма, абстракции
  • Gems
  • IRB
    использую когда нужно быстро проверить выполнение кода, или даже в качестве калькулятора
  • RVM
    использую для установки Ruby разных версий
    Ruby on Rails
  • MVC
    основа архитектуры моих приложений
  • REST
    всегда следую данному соглашению
  • Bundler
    с ним легко устанавливаю наборы нужных гемов и их зависимостей
  • Основы проектирования приложений
    знаю как важно перед проектированием правильно поставить задачу, придумать сущности, написать сценарии и продумать CRUD
  • Локализация, i18n
    представлю все строковые константы в нужном языке
  • ActiveRecord associations
    знаю как связи позволяют легче выполнять различные операции с моделями
  • ActiveRecord query
    вместо чистого SQL намного проще получаю данные из БД с помощью данного интерфейса запросов
  • Ресурсы
    задам пути для member и collection
  • Безопасное хранение: Secrets, Credentials
    пароли, ключи и иные чувствительные данные храню только в credentials
  • Настройка отправки писем с ActionMailer
    с этим модулем настроить отправку почты также легко, как написать контроллер
  • Загрузка файлов с Carrierwave
    использую Carrierwave и Rmagick, когда в проекте нужно загружать и обрабатывать картинки
  • ActionCable
    настрою соедниения по Websocket и создавать каналы, работающие по шаблону Pub/Sub
  • ActiveJob, бекэнд-адаптеры: Resque, Inline, Async
    настрою рассылку писем в продакшн окружении с помощью Resque адаптера с настроенным автозапуском воркера и, конечно, Redis
  • Деплой с Capistrano
    сделаю удобный deploy-flow на VPS с релизами и логами
  • Авторизация с помощью Pundit
    проверку авторизации пользователей доверяю этому гему, а создаваемые им политики легко покрываются тестами
  • Devise
  • Rails_admin
    создам красивую, а главное удобную панель инструментов админа
    Frontend
  • HTML, CSS
  • Основы веб-дизайна (сетка, шрифты, цвета, проектирование)
    понимаю как важен очевидный и удобный интерфейс
  • Селекторы СSS
    кто знает селекторы, тот знает как найти элемент на странице
  • Отзывчивая верстка
    сделаю так, чтобы сайт было удобно просматривать как на больших мониторах, так и на экране телефона
  • Верстка на Bootstrap 4
    все СSS правила уже прописаны за нас, остается лишь поставить элементам нужные классы
    Основы JS, JQuery
  • Работа с элементами DOM
  • Обработка JQuery событый
    если нужно среагировать на нажатие клавиши или наведение курсора, с JQuery поймать такое событие не составит труда
  • JQuery эффекты
    сделаю отображение скрытых элементов на странице плавным
  • Использование AJAX запросов в rails приложениях
    настрою экшн контроллера так, чтобы не переходить на другую страницу, а просто изменить содержимое текущений
    Тестирование
  • TDD
    умею сначала написать тест, а потом уже код
  • Юнит тесты Rspec
    стараюсь по максимуму покрывать код тестами, больше тестов — меньше шансов сделать неработающее приложение
  • Интеграционные тесты Capybara
    если есть сценарии работы приложения, то полезно перевести их на язык тестов
  • FactoryBot
    уже не Girl, но его фабрики все также незаменимы для тестов
    БД
  • Основы языка SQL
    знаю, как создать БД, добавлять, удалять и получать данные
  • Хранение, запись в SQlite и PostgreSQL
    чаще всего использую эти реляционные БД, конкретно в продакшн окружении клиент-серверную PostgreSQL
  • SQL joins
    отличный способ получить данные из двух и более таблиц
    XML, JSON
  • Чтение, запись с помощью встроенных библиотек
    умею взять и обработать такие данные с сайта, либо самому сделать JSON API приложение
    Сервер
  • создание VPS сервера
  • настройка NGINX
  • настройка Passenger
  • настройка DNS, SPF
  • настройка PostgreSQL, Redis
    Heroku
  • деплой приложений
  • настройка аддонов
  • конфигурация переменных окружения
  • работа с Heroku cli в терминале
  • логи
    Инструменты
  • Linux (Ubuntu, Mint)
  • Терминал
  • Vim, Sublime
  • IDE (Rubymine)
  • Debuger (buebug)
    использую при отладке приложения
  • GIT
    стремлюсь, чтобы коммиты можно было читать, как содержание книги, но не забываю про amend и rebase, чтобы книга не превратилась в трехтомник "Война и мир"
  • Хранение файлов на AWS S3
    грузить файлы на сервер далеко небезопасно, поэтому хранилище на амазоне — прекрасное решение проблемы
  • Настройка почты для домена
    если делаю почтовую рассылку, то сразу с нормального почтового адреса
  • Защита от спама с Recaptcha
    настрою приложение с проверкой рекапчи, тем более когда для этого есть прекрасные гемы
    OAuth
  • Авторизация через соцсети по схеме Authorization code flow
    удобный в пользовании сервис нельзя представить без удобной регистрации
  • Покрытие Rspec тестами
  • Настройка OmniAuth для Devise

Образование

    Высшее образование:
  • 2013 — Московский авиационный институт
    Факультет радиоэлектроники летательных аппаратов
    Специальность: cредства радиоэлектронной борьбы
    Тема дипломного проекта: «быстродействующий дискретно-перестраиваемый синтезатор частот для малогабаритной станции активных помех»
  • 2016 — Московский государственный лингвистический университет
    Факультет международных отношений и социально-политичских наук
    Специальность: Международные отношения
    Курсы:
  • 2020 — Онлайн курс "Хороший программист"
    Программирование на Ruby on Rails
  • 2017 — Центр компьютерного обучения "Специалист"
    Основы программирования и баз данных
  • 2017 — Центр компьютерного обучения "Специалист"
    Программирование на языке Ruby

Опыт работы

  • ООО "С-Групп сервис" — Руководитель отдела продаж
    март 2018 — май 2020
    • за год увеличил объем прибыли на 25%
    • за 2 года организовал работу с 2-мя новыми компаниями-заказчиками (отели крупнейших сетей 4 и 5 звезд)
  • Министерство обороны РФ — Советник
    июль 2013 — февраль 2018
    • в короткие сроки дошел от начальных позиций до должности советника
    • участвовал в переговорах с ведомствами иностранных государств по вопросам сотрудничества
    • участвовал в разработке межгосударственных и межправительственных соглашений
  • ОАО ГСКБ «Алмаз-Антей» — инженер
    январь 2011 — март 2012
    • тестировал программы симуляции комплексов ПВО
    • осуществлял проверку радиотехнического оборудования
  • ГОУ "Лицей №1560" — технический специалист
    сентябрь 2005 — май 2007
    • настройка компьютерной техники (диагностика, подключение, установка ПО, ОС)
    • настройка и обслуживание звуковой, световой и видео аппаратуры.