SDCast #140: в гостях Елена Степанова из компании Nokia, спикер конференций C++ Russia

Встречайте 140-й выпуск подкаста. У меня в гостях Елена Степанова из компании Nokia, спикер конференций C++ Russia. В этом выпуске мы говорим про мобильные сети, базовые станции, системное программирование, С++ и конференциях!

Лена рассказала про свой пусть системного программиста, рассказала как давно и чем занимается в части разработки. Мы обсудили, что представляет из себя мобильная связь, что такое опорная сеть и из каких сервисов она состоит. Подискутировали о множестве стандартов, имеющимхся в телекоме, о роли ассоциации 3GPP и конечно же вендорской реализации этих самых стандартов.

Лена рассказала про устройство опорной сети, сервисах и используемых технологиях в разработке. Мы обсудили сложности внедрения новых стандартов С++, вопросы развития и обновления кодовой базы. Обсудили необходимость базовых знаний и где их необходимо применять в системной разработке мобильных сетей.

Поговорили мы и про документацию, аккумулирование знаний и выращивание специалистов своими силами. Обсудили собеседования системных программистов, вопросы менторства и наставничества. А так же Лена рассказала про то, как она попала на конференцию C++ Russia в качестве спикера.

Читать далее

SDCast #134: в гостях Андрей Лукошко, архитектор AlmaLinux и глава отдела релиз-инжиниринга Евгений Замрий

AlmaLinux LogoРад представить вам 134-й выпуск подкаста, в котором идёт речь про AlmaLinux. Наверняка многие из вас слышали про операционную систему CentOS, которая развивалась в основном силами компании RedHat. Но в конце 2020 года было объявлено о прекращении её развития в текущем виде. В результате на свет появились пара новых RedHat совместимых open source дистрибутивов: AlmaLinux и RockyLinux. В этом выпуске у меня в гостях как раз разработчики AlmaLinux: Андрей Лукошко, архитектор AlmaLinux и глава отдела релиз-инжиниринга Евгений Замрий.

Мы обсудили историю закрытия CentOS, подискутировали о том, какие были предпосылки и причины у RedHat на то, чтобы пойти на такой шаг. Ребята рассказали свою историю: почему и зачем компания CloudLinux решила выпустить ещё один redhat-совместимый дистрибутив.

Андрей рассказали про то, как устроен процесс сборки дистрибутива, какие есть направления работ, как устроен пайплайн сборки. Мы поговорили про сборку пакетов, проверку их совместимости, патчинг, пуши в апстрим каких-то необходимых изменений и другие технические подробности.

Поговорили мы и про команду проекта и сообщество вокруг. Ребята поделились своим видением того, как выстроить прозрачную коммуникацию с сообществом, как планировать развитие проекта. Немного затронули и юридическую сторону: Женя рассказал про создание не коммерческой организации The AlmaLinux OS Foundation, её участниках, задачах и целях.

Читать далее

SDCast #133: в гостях Евгений Сальников, тимлид в компании «Lamoda»

Latech logoВстречайте 133-й выпуск подкаста. У меня в гостях Евгений Сальников, тимлид в компании «Lamoda». В этом выпуске Женя рассказывает про свой довольно витиеватый путь в Айти. Мы обсуждаем различные аспекты разработки, начиная от простых задач, проявления инициативы и заканчивая архитектурой высоконагруженных систем и softskills.

Мы поговорили так же и про микроклимат в компаниях, его важность и значение, а так же влияние на работу, производительность и вообще отношения в коллективе и компании в целом.

Однажды Женя променял роль СТО на разработчика-тимлида. Мы поговорили о том, как это случилось и почему, обсудили, насколько опыт СТО помогает в принятии более прикладных программистских решений и повседневных задачах.

Женя рассказал про свою универсальную команду, когда все участники коллектива пишут код на довольно разных технологиях и различных стеках. Мы обсудили плюсы и минусы этого подхода, в каких случаях это может быть выгодно, поговорили о том, как рядовые разработчики относятся к таким идеям.

Читать далее

SDCast #132: в гостях Сергей Константинов, автор книги про API

Как часто вам приходится иметь дело с API? Думаю, что почти каждый день: API сервиса, API браузера, API библиотеки или в конце концов API языка программирования. Как же спроектировать хорошее API, которое может расширяться и эволюционировать? Об этом мы говорим с Сергеем Константиновым, который долгое время занимался проектированием API Яндекс.Карт, да так, что даже написал книгу про API.

Мы обсудили различные темы по API, включая такие как:

  • Подходы к разработке API
  • Описание бизнес-процессов
  • Проектирование API
  • Применение и разделение уровней абстракции
  • Эволюционирование API
  • Документирование API

Некоторое время Сергей входил в состав рабочей группы W3C Technical Architecture Group (TAG) и мы конечно же поговорили про это. Сергей рассказал в целом про свой опыт участия в W3C, как там устроены процессы работы и принятия решений.

Читать далее

SDCast #130: в гостях Егор Болгов, тех руководитель одного из продуктовых направлений в Semrush

Рад представить вам 130-й выпуск подкаста, в котором у меня в гостях Егор Болгов, технический руководитель одного из продуктовых направлений в Semrush. В этом выпуске мы говорим о распиле монолита в сервисы, процессах разработки, переиспользовании сервисов в разных продуктах, деплоях, мониторинге и многом другом.

В начале Егор рассказал про монолит Semrush, каким он был, как стал разрастаться и какие появились трудности, сложности и проблемы в разработке и деплое. Затем рассказал как начался распил монолита на сервисы, мы обсудили разделение базы данных, выделение сервисов в рамках монолита и последующее выделение кода в отдельный сервис.

Обсудили вопросы документирования кода сервисов, API и интерфейсов, подискутировали о стандартизации, используемых технологиях и подходах в больших компаниях, когда команд много, сервисов много и как переиспользовать наработки других команд и вообще делиться знаниями.

Пообщались про деплой и мониторинг сервисов и монолита, Егор рассказал как деплоят в Semrush, коснулись темы отладки в сервисной архитектуре.

Поговорили про техдолг, паттерны и абстракции. Когда и как бороться с техдолгом и как современные фреймворки и технологии влияют на качество кода. Подискутировали о подходах к выбору новых инструментов и технологий, Егор поделился своим взглядом на это.

Читать далее

SDCast #129: в гостях Игорь Кузнецов, тимлид в компании «GOST GROUP»

Встречайте 129-й выпуск подкаста. У меня в гостях Игорь Кузнецов, тимлид в компании «GOST GROUP». В этом выпуске мы говорим про консалтинг и продуктовую разработку, как давать первичную оценку проектам по трудозатратам и срокам. Обсуждаем повседневные задачи тимлида, выбор техонологий и стэка, собеседования и текучку кадров.

Подискутировали на тему: когда и надо ли брать Open source решение, а не писать свой велосипед, даже если это решение на другом стеке.

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

Читать далее

SDCast #126: в гостях Владимир Хориков, автор книги про Unit-тестирование и блога Enterprise Craftmanship

Рад представить вам 126-й выпуск подкаста, в котором мы говорим про Domain Driven Design (DDD) и unit-тестирование. У меня в гостях Владимир Хориков, автор книги про Unit-тестирование и блога Enterprise Craftmanship.

Володя рассказал про своё знакомство с DDD, первые опыты внедрения, насколько не просто было внедрить идею DDD будучи не тимлидом, а просто программистом. Так же Володя рассказал как сейчас обычно происходит внедрение DDD, с чего начинается обучение команды. Мы обсудили как DDD подход ложится в ООП парадигму разработки, разобрали применение DDD в MVC/MVVM подходах к построению UI. Подискутировали о применении DDD в купе с CQRS и Event Sourcing.

Второй большой темой обсуждения стало тестирование. Володя рассказал про unit и интеграционные тесты. Мы обсудили их место в пирамиде тестирования, соотношение количества тестов разных видов. Володя поделился своим мнением о том, что должны тестировать unit-тесты, как тестировать и какие у тестов есть метрики качества.

Помимо этого Володя рассказал про написание книги: зачем он решил написать, сколько сил и времени у него на это ушло и какой получился результат.

Читать далее

SDCast #120: в гостях Павел Савельев, руководитель отдела автоматизации бизнес-процессов и Павел Агалецкий, системный архитектор в компании Lamoda

Latech logoВстречайте 120-й выпуск подкаста с ребятами из компании Lamoda. У меня в гостях Павел Савельев, руководитель отдела автоматизации бизнес-процессов и Павел Агалецкий, системный архитектор.

В этом выпуске мы говорим про архитектуру больших систем, межсервисное взаимодействие, API, процессы разработки, коммуникации и open source.

В начале ребята рассказали про архитектуру подсистемы доставки Lamoda. Как она устроена, на чём написана, какие есть ключевые сервисы и как работает бизнес-логика. Затем мы обсудили межсервисное взаимодействие, потоки данных, подходы к разработки новых сервисов.

Подискутировали на тему API: ребята рассказали как устроено API у них, почему они выбрали JSON-RPC, обсудили консистентность и докумендацию API.

Поговорили про людей, команды и технологии. Ребята рассказали про размер команды, как устроен процесс разработки, как выбираются технологии, вспомнили про тех радар. Обсудили, как внедряется новый разработчик в команду, вспомнили про performance review, личностный и профессиональный рост.

Ребята поделились своим опытом переезда в облака и контейнеры, рассказали как они прошли этот путь и с чем столкнулись в процессе.

Так же ребята рассказали про то, зачем они выкладывают какие-то свои библиотеки и компоненты в open source. Что это даёт компании и конкретным разработчикам.

В завершении выпуска обсудили насущную тему удалённой работы. Ребята поделились своими личными впечатлениями от удалёнки и рассказали как выстроен процесс у них в компании.

Читать далее

SDCast #114: в гостях Александр Кукушкин, database инженер в Zalando

Встречайте 114-й выпуск подкаста! У меня в гостях Александр Кукушкин, database инженер в Zalando. Хотя, наверное, многие знают его как разработчика Patroni: A Template for PostgreSQL HA with ZooKeeper, etcd or Consul. Так что речь в этом выпуске пойдёт про PostgreSQL, кластеры, Patroni, облака, AWS, Kubernetes и даже про базы данных PostgreSQL в K8S :)

В начале выпуска Саша рассказал про переезд в Германию, насколько это было сложно и как прошло. Дальше Саша рассказал про компанию в целом, как давно он там работает и чем занимается.

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

Обсудили переезд сервисов и баз данных в облака: Саша рассказал как они переводили серверы баз данных в AWS, какие были потребности в отказоустойчивости и чем эти потребности закрывались. Именно тогда на свет появился Patroni.

Саша рассказал про устройство Patroni, как он работает и что умеет. Рассказал про его развитие, добавление новых фич, таких как управление конфигурацией PostgreSQL сервера, синхронизация конфигов. Рассказал про различные варианты использования DCS (distributed configuration store) и как он адаптировал Patroni для работы в кластере Kubernetes с минимальными накладными расходами.

Не могли мы пройти мимо темы облаков, контейнеризации и диспетчеризации контейнеров в целом. Так что подискутировали о том, какие выгоды даёт K8S и какие сложности приносит в разработку и сопровождение. Саша рассказал несколько интересных кейсов из опыта использования K8S в Zalando.

Читать далее

SDCast #113: в гостях Александр Сербул, руководитель направления контроля качества интеграций и внедрений в компании 1С-Битрикс

Встречайте 113-й выпуск подкаста, в котором у меня в гостях Александр Сербул, руководитель направления контроля качества интеграций и внедрений в компании 1С-Битрикс, а так же технологический евангелист. В этом выпуске мы говорим про архитектуру, языки программирования, machine learning, нейросети, облака и многое другое. И нет, не думайте, что этот выпуск только про PHP и 1C-Битрикс!

Вначале Саша рассказал про свой довольно насыщенный и тернистый путь в IT, с чем сталкивался, какие задачи приходилось решать и какие роли играть. Саша поделился теми книгами, которые произвели на него сильное впечатление сыграли не последнюю роль в его профессиональных навыках.

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

Так же Саша рассказал про Rust, чем он так хорош, где нашлось ему место и какую выгоду это принесло. Обсудили мы и тему строгой типизации в различных интерпретируемых языках, хайп вокруг неё и немного подискутировали о том, когда она не очень нужна, а когда без неё уже не обойтись.

Большой темой беседы стало машинное обучение. Саша рассказал про то, где у себя в системе они применяют машинное обучение, какие решают задачи с её помощью. Рассказал про используемые алгоритмы, фреймворки, языки и технологии.

Не обошли мы стороной и вопрос первого языка программирования. Саша поделился своим мнением на этот счёт.

Читать далее