Николай Гребнев (nforward), 50 лет, Россия, Санкт-ПетербургНиколай Гребнев (nforward), 50 лет, Россия, Санкт-Петербург

Николай Гребнев

25 лет руководства, системной архитектуры, администрирования и разработкиАрхитектор программного обеспеченияTeam LeadВедущий (Lead)
От 750 000 ₽Ищу работу

Контакты

Войти
Возраст: 50 лет
Опыт работы: 32 года и 1 месяц
Регистрация: 15.09.2022
Последний визит: 5 дней назад
Гражданство:
Местоположение: Россия, Санкт-Петербург
Дополнительно: готов к удаленной работе
Знание языков:

Обо мне

Девиз в работе: проектируйте такое решение, как будто его разработку, внедрение и поддержку вы оплачиваете из своего личного кармана. Тогда вы будете идти путем "быстро, дешево, с малыми ресурсами и при этом эффективно"

Опыт 

  • Руководство группой до 30 человек (командой полного цикла — аналитика, разработка, тестирование, развертывание и эксплуатация)
  • Более 25 лет в собственном ИТ бизнесе 
  • Разработка архитектуры (в т.ч. микросервисной) приложений и систем баз данных
  • Администрирование баз данных (DBA)
  • Программирование (Python, Ruby on Rails, Go, C++, PHP). 
    • Системное администрирование
    • CI/CD
    • внедрение метрик работоспособности и эффективности системы

      Стек используемых технологий
    • Базы данных, уровень DBA
      • PostgreSQL
        • Pgbouncer, Odyssey, HaProxy
        • Patroni
        • SPQR
        • pg_profile, pgbadger
        • pg_probackup
      • Горизонтально-масштабируемые
        • СockroachDB (распределенная NewSQL база данных)
        • YugabyteDB (распределенная NewSQL база данных)
        • YandexDB (распределенная NewSQL база данных)
        • Apache Hadoop/Hbase
      • MongoDB
      • Redis, KeyDB, Garnet, Valkey, Dragonfly
      • Apache Ignite
      • memcached
      • RocksDB
    • Разработка 
      • Python
      • Go (в процессе изучения)
      • Ruby on Rails
      • PHP
      • C++
    • Контейнеризация 
      • Docker, Docker Swarm
      • базовый Kubernetes
    • CI/CD
      • Gitlab
    • Распределенные хранилища 
      • Ceph, Ceph RGW
      • Minio
      • Garage
    • Брокеры сообщений
      • Kafka
    • Общесистемные сервисы Linux
      • Nginx, Squid, HaProxy, Varnish, PowerMTA, PowerDNS, bash, git

    Хобби

    • ИТ, изучение новых технологий
    • фотография
    • фелинология (разведение породистых кошек) https://t.me/nevasib 
    • коллекционирование механических клавиатур

    Навыки

    Высоконагруженные системы
    Проектирование архитектуры приложений
    Создание архитектуры проектов
    Проектирование баз данных
    PostgreSQL
    Apache Hadoop
    Ruby on Rails
    Управление компанией
    Управление разработкой
    Руководство стартапом

    Опыт работы

    • Информатизация системы здравоохранения
      От 100 до 1000 сотрудников
      Администратор баз данных (Ведущий)Начальник отдела управления СУБД, Департамент эксплуатации
      Ноябрь 2022 — По настоящее время (2 года и 3 месяца)
      • Административная работа: постановка целей, планирование, распределение задач и контроль исполнения, укомплектовывание команды, заполнение отчетов
      • Для соответствия должности необходимы не только менеджерские навыки, но и глубокое понимание, как работает PostgreSQL и Linux. Знания и опыт построения  архитектуры
      • В дополнение к основным обязанностям занимался поиском узких мест в текущей реализации и предлагал более оптимальные решения с минимальным временем внедрения.

      Существенная польза, которую принес компании

      1. Уменьшение размера баз данных более чем в 3 раза и уменьшение дисковой нагрузки на запись в 6 раз.
      2. Радикальное уменьшение нагрузки на MongoDB (кол-во запросов в 20 раз, кол-во коллекций в 1000 раз)
      3. Решение по горизонтальному масштабированию всего проекта, возможность использования для бОльшей части базы данных медленных дисков без потери производительности у пользователей. Время на реализацию всего 2 недели
      4. Решение по уменьшению количества коннектов к базе данных в 3 раза, что дает существенное уменьшение требований к оперативной памяти и увеличение производительности PostgreSQL
      5. Введение метрик для контроля времени ответа на пользовательские запросы (перцентили)
      6. Введение бизнес-метрик и событийных счетчиков, которое реализовывалось за 2 дня
      7. Автоматизация deployment процессов
      8. Решение по доработке всех регулярных задач в целях контроля исполнения, логирования поведения, успешности работы с уменьшением влияния на работу пользователей.
      9. Внедрение HealthCheck-ов всех системных сервисов

      1. DM PLANET LLP
        Лондон
        Генеральный директор (Ведущий)Team Lead, архитектор
        Ноябрь 2002 — Октябрь 2022 (20 лет)

        Мои основные функции:

        1. Руководство компанией. Создание нового ИТ бизнеса без привлечения внешних инвестиций.
        2. Управление финансовыми потоками
        3. Решение вопросов, связанные с юрисдикциями, банками и платежными системами, налогами и их минимизацией
        4. Проектирование архитектуры IT систем, выбор технологических решений для высоких нагрузок. При небольшом количестве серверов решение будет выдерживать нагрузки в десятки раз больше текущих
        5. Планирование работы команды разработки, постановка целей
        6. Развитие и поддержка партнерской сети
        7. Системное администрирование: 
          1. Linux сервера
          2. DBA. Базы данных PostgreSQL, Apache Hadoop/Hbase, MongoDB, Redis
          3. изучение новых технологий
          4. внедрение практик CI/CD Gitlab
        8. Email deliverability. Это умения сделать так, чтобы письмо на почту дошло до получателя. При рассылках в десятки тысяч писем в день это требует серьезного внимания. Опыт общения со SpamHaus.org, чтобы они не считали наши письма спамом.
        9. Разработка ПО
          1. Проработка системной архитектуры, написание ТЗ
          2. Team lead
          3. Личное участие: Python, Ruby on Rails, PHP
        10. Подбор персонала


        Технологический стек и решения

        1. Одновременная работа 3х датацентров (ЕС, Россия, США) с асинхронной репликацией данных между ними. Технологии репликации разработана самостоятельно.
        2. Хранение изображений (несколько сотен миллионов) - Apache Hbase с кешированием в Squid
          1. Комментарий - Сейчас бы использовал Minio, Ceph RGW, а в некоторых случаях Garage
        3. Хранение переписки между пользователями 
          1. Первоначально реляционная база данных
          2. Потом файловая система. В ext3 было нерационально из-за inodes, поэтому reiserfs. Хранение переписки между двумя пользователями хранилось в одном файле
          3. Текущее решение Apache Hbase. Внедрено 15 лет назад, сотни миллионов писем, возможности неограниченного роста благодаря структуре ключ-значение. Это одна из самых сложных архитектурных задач, которую я решал. Перенести реляционную модель в систему ключ-значение, чтобы была возможность неограниченного роста и мгновенной работы, было не просто.
          4. Комментарий - сейчас бы использовал распределенную NewSQL базу данных. С учетом того, какими знаниями о базах данных обладаю.
        4. Базы данных
          1. PostgreSQL
          2. MongoDB
          3. Apache Hadoop/Hbase
          4. Redis
          5. Memcached
        5. Первоначальный язык - PHP, потом переход на Ruby on Rails и Python
        6. Высылка уведомлений пользователям на почту - платный smtp сервер PowerMTA
        7. Кеширующие сервисы - squid, varnish
        8. Контейнеризация - docker, docker swarm
        9. Чат для пользователей: XMPP технология, сервер EjabberD, модифицированный для нас. Webrtc для аудио-видеозвонков
        10. Telegram бот - работа с пользователями, высылка всевозможных уведомлений, проверка телефона, верификация лица (селфи фото, видео)

      2. ООО "СофтЭнерго"
        Санкт-Петербург
        Генеральный директор (Ведущий)Директор, IT архитектор, Team Lead
        Март 2001 — Февраль 2012 (11 лет)

        Компания занималась ИТ-аутсорсингом

        1. Разработка информационных систем и сайтов для заказчика. Аналитика, постановка задачи, написание ТЗ, разработка, внедрение. Используемые технологии: Linux, PostgreSQL, PHP, Apache, Nginx, Sendmail, LaTeX
        2. Обслуживание компьютерного парка заказчика
        3. Поставка и ремонт компьютерной техники
        4. Прокладка ЛВС
        5. Установка и поддержка серверов
        6. Подключение компаний к Интернет и обеспечение основными сервисами (почта, проксирование, объединение разрозненных филиалов в единую сеть)
        7. Участие в тендерах по вышеперечисленным работам

        Мои основные функции

        1. Непосредственное руководство персоналом
        2. Переговоры с заказчиками
        3. Участие в аналитике и написании ТЗ
        4. Team lead: проработка архитектуры и проверка кода от разработчиков
        5. Настройка серверов
        6. Настройка и тюнинг серверов баз данных PostgreSQL
      3. КТЦ 29 Министерство обороны РФ
        Санкт-Петербург
        Архитектор программного обеспечения (Старший)Ведущий инженер
        Январь 2000 — Октябрь 2001 (1 год и 10 месяцев)

        Консультирование по вопросам системной архитектуры

      4. Северо-Западная Академия Госслужбы spb.ranepa.ru
        Санкт-Петербург
        Фулстек разработчик (Старший)Программист
        Январь 1998 — Май 2004 (6 лет и 5 месяцев)

        Создание системы автоматизации деятельности библиотеки Северо-Западной Академии Госслужбы.  Полный цикл работ: аналитика, проектирование и написание ТЗ, разработка, внедрение. 

        Все работает до сих пор без изменений https://sziu-lib.ranepa.ru/cat/avesta_elcat.php

        Язык разработки - PHP.  Т.к. система не маленькая (более 10 различных рабочих мест), то для оптимизации времени разработки был создан генератор кода PHPGem, который и произвел всю программу. База данных PostgreSQL. Использовались триггеры и функции PL/PgSQL. Генерация карточек, направляемых на печать, производилась через LaTeX, и печать направлялась на сетевые принтеры рабочих мест. Также для инвентаризации и учета производилась печать на специализированных принтерах и пластике меток с бар-кодом для нанесения на книги (метки защищены от снятия).

      5. ВНЦ ГОИ им. Вавилова
        Санкт-Петербург
        Разработчик приложений (Средний)Программист
        Январь 1993 — Январь 1998 (5 лет и 1 месяц)

        Программист С, математик по темам изучения фракталов и разработке методов компрессии изображений с использованием генетических алгоритмов. Был патент с переуступкой прав в США.

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

      • СПбПУ Петра Великого

        Санкт-Петербургский политехнический университет Петра Великого
        Санкт-Петербург4663 выпускника
        Физико-механический; ФМехФ
        Сентябрь 1992 — Май 1998 (5 лет и 8 месяцев)

        Специальность Прикладная математика и информатика. Магистр

      Дополнительное образование

      • Слёрм

        Образование для инженеров и технических лидеров
        Архитектура приложений
        Июль 2024 — Октябрь 2024 (3 месяца)

        Упорядочил знания и навыки по созданию архитектуры приложений. Очень хороший курс, но с рядом постулатов не соглашусь. 

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

        Например - PostgreSQL специфически работает с update/delete. И если не учитывать это, то будут большие проблемы, когда база данных будет увеличиваться в размерах.

        Февраль 2021 — Март 2021 (1 месяц)
        DevOps
        Сентябрь 2020 — Сентябрь 2020 (1 месяц)
        Kubernetes
        Сентябрь 2020 — Сентябрь 2020 (1 месяц)
      • Thinknetica

        Онлайн школа для разработчиков
        Rails и Vue.js
        Сентябрь 2020 — Январь 2021 (4 месяца)
        Ruby on Rails
        Сентябрь 2019 — Март 2020 (6 месяцев)