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, чем он так хорош, где нашлось ему место и какую выгоду это принесло. Обсудили мы и тему строгой типизации в различных интерпретируемых языках, хайп вокруг неё и немного подискутировали о том, когда она не очень нужна, а когда без неё уже не обойтись.

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

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

Читать далее

SDCast #112: Круглый стол про удалёнку

Глобус с маркерамиРад представить вашему вниманию 112-й выпуск SDCast’а посвящённый удалённой работе и распределённым командам разработки. На этот раз у нас собралась большая компания участников так или иначе имеющих опыт удалённой работы, а именно:

 

  • Всеволод Поляков, консультант по DevOps, основатель сообщества ukrops club
  • Светлана Божко, руководитель отдела в Cisco, ведущая подкаста devzen
  • Павел Аргентов, тимлид в компании Evrone
  • Никита Борзых из компании Express 42

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

  • Типы личности. Кому подходит удалёнка, а кому нет? Как понять, что сотруднику подойдет ремоут?
  • Процесс ввода нового сотрудника в команду aka onboarding
  • Процесс выхода сотрудника из проекта/команды aka offboarding
  • Вопросы доверия и делегирования
  • Проблемы общения, обратная связь, синхронная и асинхронная коммуникация
  • Токсичность в общении
  • Вопросы найма удалённых сотрудников
  • KnowledgeSharing и передача дел, текущих задач между сменами в командах с сильным разбросом по часовым поясам
  • Синхронизация инженерного опыта и midset в распределенной команде
  • Remote time tracking и разные подходы к этому в компаниях
  • Нужно ли брать больничные и вообще, как болеть на удалёнке

Поскольку все участники дискуссии имеют опыт работы в распределённых командах, нам удалось собрать и обсудить различные мнения по вопросам, поделиться работающими подходами и приёмами решения некоторых проблем. Надеюсь, что все слушатели узнаю и для себя что-то новое.

Читать далее

SDCast #111: В гостях Сергей Жук, разработчик из Skyeng

Встречайте 111-й выпуск подкаста, в котором у меня в гостях Сергей Жук, разработчик из Skyeng. В этом выпуске мы говорим про удалённую работу, публичную активность разработчиков и асинхронный PHP.

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

В какой-то момент Сергей увлёкся асинхронным PHP настолько, что он рассказывает про него на различных митапах и конференциях, записывает подкасты и даже написал несколько книг про ReactPHP! Мы обсудили для каких задач стоит применять асинхронный PHP, какие проблемы он может помочь решить и как внедрить его в уже существующий проект.

Читать далее

SDCast #110: В гостях Анна Мелехова, архитектор платформы в компании Acronis

Рад представить вам 110-й выпуск SDCast’а. У меня в гостях Анна Мелехова, архитектор платформы в компании Acronis. В этом выпуске мы говорим про архитектуру систем, API, образование и знания.

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

Одной из главных тем нашей беседы было API. В апреле 2019 года Acronis открыл сторонним разработчикам доступ к API и примерам исходных кодов своих продуктов, запустив платформу Acronis Cyber Platform. Предполагается, что используя возможности платформы, разработчики смогут создавать новые источники данных, хранилища данных и функции управления, а также интегрировать свои приложения с решениями Acronis для киберзащиты. Кроме того, они смогут интегрировать технологии Acronis в свои приложения, системы и облачные торговые площадки. Поэтому именно на Анну и ее коллег упала задача проектирования API.

Мы поговорили о том, как унифицировать API, когда в его разработке участвует несколько команд. Аня рассказала про этапы построения API и различные инструменты, которые помогают разрабатывать и сопровождать API в дальнейшем. Аня рассказала про API Styleguide который они разработали в Acronis, что он содержит и как он помогает разработчикам избежать типичных ошибок и создавать консистентные API.

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

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

Читать далее

SDCast #109: В гостях Антон Титов, технический директор, основатель компании SpiralScout

Рад представить вашему вниманию 109-й выпуск SDCast’а с Антоном Титовым, техническим директором и основателем компании SpiralScout. В этом выпуске мы снова говорим о процессах разработки, но не только, а так же обсуждаем RoadRunner, высокопроизводительный сервер приложений PHP, написанный на Go, другие open source проекты компании, soft skills и многое другое.

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

Одной из главных тем нашей беседы был конечно же проект RoadRunner. Это сервер приложений, написанный на Golang. Антон является автором и разработчиком RoadRunner. Он рассказал про проблемы php-fpm, и почему решил написать новый сервер, почему был выбран go для реализации, какова архитектура проекта и как взаимодействуют между собой go и php.

Так же мы обсудили ещё один проект Антона Cycle DataMapper ORM: зачем нужен ещё один ORM для PHP, как Cycle ORM устроен внутри и какие у него особенности.

Поговорили мы и в целом про open source, публикацию проектов, коммьюнити и обратную связ от пользователей.

Антон, являясь техническим директором компании, умудряется находить время на программирование и оставаться техническим экспертом в используемых технологиях. Я попросил его рассказать, как ему удаётся совмещать различные роли и главное, как распоряжаться своим временем, чтобы его хватало на все задачи. Так же мы поговорили про софт скилы, насколько они важны для различных ролей (разработчики, тимлиды, СТО) и как эти софт скилы прокачивать.

Читать далее

SDCast #108: В гостях Александр Тавген, софт-архитектор из Playtech

После долгого перерыва встречайте 108-й выпуск подкаста! У меня в гостях Александр Тавген, софт-архитектор из компании Playtech. В этом выпуске мы говорим про процессы разработки, обмен знаниями, архитектуру, open source и даже музыке! ;)

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

Поговорили и про публикацию проектов в open source, как и почему выбираются те или иные технологии для реализации проекта. Обсудили социализацию в ИТ: увеличение числа конференций, локальных митапов, каких-то прочих неформальных активностей, открытость компаний в части публикации своих наработок в open source и многое другое.

Так же Александр рассказал про одно своё интересное увлечение — это объединение музыки и технологий в проекте интерактивного театра.

Читать далее

SDCast #107: в гостях Кирилл Смелов и Максим Колмаков, разработчики PhpStorm

Встречайте 107-й выпуск подкаста, в котором мы вместе с Петей из «Пятиминутки PHP», пообщались с Кириллом Смеловым и Максимом Колмаковым, разработчиками из команды PhpStorm в компании JetBrains.

В этом выпуске ребята рассказали про то, как устроена разработка PhpStorm, какая есть связь с основной платформой IntelliJ, как с технической стороны, так и социально-коммуникативной. Мы обсудили, кто и как задаёт вектор развития продукта, откуда поступают запросы на новые фичи, как происходит планирование релизов.

Также ребята рассказали про команду проекта, роли и зоны ответственности, и поделились своим впечатлением от стажёрства и наставничества над студентами и какие это даёт плоды.

Поговорили мы и о последних новых фичах языка и интересных возможностях PhpStorm, которые появились совсем недавно, или поддержка которых как раз планируется. Обсудили поддержку статических анализаторов для PHP, таких как PHPStan, Psalm. Ребята рассказали про интересную возможность менять поведение IDE через конфигурацию на PHP, так называемые META файлы.

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

Читать далее

SDCast #106: В гостях Максим Шульга, технический руководитель одного из направлений разработки в SEMrush

Товарищи! Рад представить вам 106-й выпуск SDCast’а. У меня в гостях Максим Шульга, технический руководитель одного из направлений разработки в SEMrush. Основной темой этого выпуска является качество программного обеспечения.

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

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

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

Читать далее

SDCast #105: В гостях Никита Соболев, CTO в компании wemake.services

Встречайте 105-й выпуск подкаста, в котором у меня в гостях Никита Соболев, CTO в компании wemake.services. Вместе с Никитой мы обсуждаем процессы разработки программного обеспечения, подходы, методологии, инструменты и различные другие аспекты.

В начале разговора Никита немного рассказал про сообщество ElixirLangMoscow, организатором которого он является.

Никита – автор методологии Repeatable Software Development Process (RSDP). Он рассказал, что это за подход, какие в нём ключевые идеи, основные моменты и как устроен сам процесс разработки, работающий по этой методологии.

На примере компании wemake.services Никита рассказал, как устроена разработка у них. Мы обсудили все этапы, начиная от старта работ по новому проекту, формулирование и обсуждение требований и тех задания, декомпозиции проекта на более мелкие задачи, приёмка и проверка выполненных задач программистами, тестирование, инструменты для автоматизации различных процессов разработки и прочее.

Поговорили мы так же и о soft skills, о том, как можно развиваться разработчику, как и чем его мотивировать, как общаться, особенно в распределённой команде. Затронули тему внедрения новых технологий в существующих проектах и поддержку legacy-кода.

Читать далее