konalegikonalegi

Даниль Нургалиев

Ruby, Ruby on Rails · Бэкенд · Приложения
Не ищу работу
Возраст: 32 года
Опыт работы: 6 лет и 6 месяцев
Регистрация: 19.09.2016
Последний визит: 2 дня назад
Местоположение: Россия, Казань
Войдите, чтобы посмотреть контакты пользователя

Обо мне

  • ruby backend разработчик, 
  • фронтэндом не занимаюсь. 
  • Отвественный и самостоятельный
  • удаленная работа

Опыт работы

  • A global network of top talent in business, design, and technology that enables companies to scale their teams
    Казань · От 1000 до 5000 сотрудников
    Senior Backend Engineer
    Ноябрь 2019 — По настоящее время (1 год и 3 месяца)
  • Международный SaaS продукт для автоматизации Facebook и Google рекламы
    Казань · От 10 до 100 сотрудников
    Ruby & Go Developer
    Сентябрь 2018 — Ноябрь 2019 (1 год и 3 месяца)
  • Provectus (Crowdflower)
    Сан-Франциско и район залива
    Senior Ruby Developer
    Март 2017 — Сентябрь 2018 (1 год и 7 месяцев)

    Работаю только как, бэкенд разработчик. За все время работы на данной должности написал ~ 100 строк во фронтенде.

    Чем я там занимаюсь:

    Использование технологий: 

    Ruby, Rails, Capistrano, Docker (Swarm, Compose), Postgres, Redis, ElasticSearch (небольшая часть), 

    RabbitMQ, AWS (EC2, ECR, S3, Lambda), Jenkins, Kubernetes, Rspec, Jira, Confluence.

    Разработка и проектирование REST API для использования пользователями, другими сервисами и фронтендом (только Веб).

    Разработка и проектирование новых микросервисов, документация и развертывания (semaphore, docker, aws, Kubernetes). Активное внедрение RabbitMQ для коммуникации между микро сервисами (по возможности).

    Активное применение TDD (в 95% случаев сначала пишем тесты, а потом код) и довольно активный Code Review (минимум 3 человека апрувят PR).

    Разработка функционала для частей которые находятся под нагрузкой (~ 100k rpm, 50% write, 50% read) и его оптимизация (весь этот код проходит нагрузочной тестирование). Все это работает под нагрузкой ~ 100 млн запросов в сутки.

    Работа с большим объемом данных в postgresql (есть таблица в более 1 ТБ), оптимизация и профилирование запросов к БД. Точно так же относимся к работе с редисом.

    Поиск багов (одна из любимых моих частей, приложение огромное и очень много асинхронных частей, который сложно дебажить).

    Ежедневные стендапы с командой из Сан Франциско на английском языке, с обсуждение проблем, задач и архитектурных вопросов.

    Частичное использованием понятий из DDD (entities, service objects, repositories), следование принципам SOLID и Rails Way.

    Работаю на outsource из компании Provectus.

  • zencar
    Казань
    Ruby Backend Developer
    Сентябрь 2016 — Январь 2017 (5 месяцев)

    Компания занимается аггрегированием сервисных организацией по обслуживанию автомобилей.

    Занимаюсь разработкой Rest API бэкенда для SPA и (IOS, Android) на ruby on rails.

    Используется Trailblazer, Rails (ActionController, ActiveRecord), ActiveModelSeriazliers, Postgres, ElasticSearch, Dry-rb, Sidekiq, Docker (compose, machine).

    Сервис представляет из себя достаточно простой проект, без использования каких то сложных технологий.

    Также в команде есть джуниор разработчик (обучение, code review).

    За время работы в проекте полностью перешел на стек Trailblazer и Dry-rb, Docker.

    Также были разработки на Elixir и Ecto, который используется для парсинга сайтов для получения лидов.

  • Govermedia
    Казань
    Backend developer
    Июнь 2014 — Июль 2016 (2 года и 2 месяца)
    Компания занимается разработкой социальной сети для бизнесменов, сервис включает в себя следующие возможности - полную интеграцию с банковской системой (платежи со счета на счет, выписки, платежные поручения, экспорт в 1С, эквайринг, рекарринг) - систему двухфакторной аутентификации на основе телефонных звонков (IPP) - полное юридическое сопровождение сделок (Создание договоров, цифровые подписи) - Социальная составляющая (видео, фото, чат) В этой компании я занимаюсь бэкенд разработкой используя следующий стек технологий Ruby, Rails, Sidekiq, Asynk (самописный гем), Puma, RabbitMQ, Redis, MemCache, ElasticSearch (используем для поиска и хранения сложных структур данных), Postgres (первичное хранлище), Nginx, Linux, Ansible (используем для развертывания нашей инфраструктуры). В качестве протокола общения между серверов и клиентами используется rest, http json api. Апи пользуются два клиента JS приложение, написанное на Angular и IOS приложение. В качестве хранилища используем свой кластер Riak CS (аналог S3, в продакшен так и не был выпущен). Сервис разбит на микросервисы, общение между микросервисами происходит используя протокол AMQP и брокер RabbitMQ. Для обработки amqp сообщений использовался гем Asynk (написан он мной, с использованием celluloid, bunny и capistrano для удаленного управления). Ссылка на репозиторий, https://github.com/konalegi/asynk. Первое время занимался разработкой JS, Angular, в течении 3-4 месяцев, потом полностью перешел на бэкенд разработку. Есть знания в языке JS, Angular занимался разработкой фронтенда в течении года. Очень плохо знаю HTML, CSS. При разработке придерживаюсь следующих принципов Domain Driven Development, SOLID, TDD, Design Patterns, Rest, CQRS, Event Sourcing. В процессе работы занимался руководством над небольшой командой разработчиков (9 человек, 4 мидла и 5 джуниоров). Гем над которым я работал в свое свободное время, для более детального изучения Ruby on Rails (https://github.com/konalegi/endive), пытался написать свой, на базе celluloid, reel. Был небольшой опыт разработки приложения для Android (приложение закрытое, для частного использования, могу показать при собеседовании).

Высшее образование

  • КГЭУ

    Казанский государственный энергетический университет
    Институт электроэнергетики
    Сентябрь 2007 — Июль 2011 (3 года и 10 месяцев)
    Инженер математик