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

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

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

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

Читать далее

SDCast #124: в гостях Михаил Боднарчук, веб-разработчик из Киева, автор фреймворков для тестирования Codeception & CodeceptJS

Товарищи! После затянувшегося перерыва встречайте 124 выпуск подкаста! На этот раз у меня в гостях Михаил Боднарчук, веб-разработчик из Киева, автор фреймворков для тестирования Codeception & CodeceptJS.

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

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

Так же Миша рассказал про ещё один фреймворк для тестирования, на этот раз для JavaScript CodeceptJS. Рассказал историю о том, как он начинал его писать, какие ставил цели и задачи. В этом контексте мы обсудили различные инструменты для End-to-End тестирования в браузерах, такие как Selenium, Puppeteer, Cypress и новоиспечённый Playwright. В дополнение к этому Миша рассказал интересную историю про контрибьюторов в проект из Индии.

Миша уже много лет работает сам на себя, занимается консультированием по своим фреймворкам и пытается зарабатывать на open source. Мы поговорили и об этом: Миша рассказал, как всё начиналось у него, какие есть бизнес-модели для open source, донаты и поддержка. Так же Миша рассказал про проект, которым он занимается сейчас, это система управления тестами testomat.io

Читать далее

SDCast #122: в гостях Георгий Меликов, контрибьютор проектов OpenZFS и ZFS on Linux

После несколько затянувшегося перерыва, встречайте 122-й выпуск подкаста, посвящённый файловой системе ZFS. У меня в гостях Георгий Меликов, контрибьютор проектов OpenZFS и ZFS on Linux.

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

Георгий рассказал про архитектуру системы, рассказал про модули и их назначение, мы обсудили в целом подход Copy on write, иммьютабельность данных, снепшоты, различные кэши и методы оптимизаций, применяемые в ZFS.

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

Так же Георгий рассказал про историю проекта, а точнее целое семейство проектов, и то, как все они потихонечку собираются воедино. Не могли мы не поговорить про сравнение ZFS и железных контроллеров и поддержку ZFS в апстриме ядра Linux.

Обсудили так же и open source составляющую проекта: какая команда, какие компании поддерживают проект, планы по развитию проекта.

Читать далее

SDCast #121: Круглый стол про код-ревью

Товарищи, в этот раз вас ждёт необычный выпуск подкаста! Почему? — Этот выпуск был записан в прямом эфире с обсуждением вопросов зрителей, онлайн-голосованиями и другими активностями. Но не переживайте, весь контент доступен для восприятия в аудио-формате как и прежде!

Итак, выпуск посвящён непростой и спорной теме код-ревью. В этом выпуске, помимо меня приняли участие:

  • Александр Макаров, лид проекта Yii Framework
  • Антон Морев, основатель и СТО Wormsoft
  • Сергей Жук, разработчик из Skyeng

Live team screenshot
Вот далеко не полный перечень тем, которые мы обсудили:

  • Каким должно быть идеальное код-ревью?
  • Есть ли отличия в процессах код-ревью для крупных компаний, заказной разработки и open source проектов?
  • Размеры одного пулл-реквеста: что делать с огромными пул-реквестами?
  • Сколько времени должно уходить на ревью одного запроса? Когда и как делать код-ревью?
  • Как экономить время на код-ревью?
  • Инструменты, облегчающие и помогающие код-ревью
  • Человеческий фактор в код-ревью: как не убить критикой все старания?

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

Так же за время беседы мы запустили несколько голосований по тематике код-ревью, а в конце дискуссии подвели итоги.

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

SDCast #118: в гостях Дмитрий Маракасов, разработчик свободного ПО

repology-logoЧто-то давно не было у меня выпусков про настоящий Open Source, linux, BSD. Восполняем этот пробел! У меня в гостях Дмитрий Маракасов, разработчик свободного ПО, автор проекта repology.

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

В этом выпуске мы говорим с Димой про Open Source, пакетные менеджеры и репозитории для linux и BSD систем, FreeBSD, разработке и конечно же проекте Repology.

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

Мы обсудили, какой функционал есть в Repology, какие данные он предоставляет, какую статистику и отчёты можно увидеть, что есть в API. Так же Дима поделился текущей статистикой по проекту.

Поговорили мы и про open source составляющую проекта: Дима рассказал про пользователей проекта, есть ли сообщество вокруг проекта, предложения идей и багфиксы.

Так же мы обсудили тему самодостаточных пакетов (flatpak и ему подобные), немного подискутировали про языковые пакетные менеджеры, Дима рассказал про текущее положение дел с автоматическим тестированием портов FreeBSD и детерминированные сборки.

Читать далее

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 #105: В гостях Никита Соболев, CTO в компании wemake.services

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

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

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

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

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

Читать далее

SDCast #98: в гостях Олег Шелаев, девелопер адвокат проекта GraalVM в команде OracleLabs

Мечтали ли вы когда-нибудь о такой платформе, где можно легко вызывать функции и модули, написанные на одном языке прямо в программе, написанной на другом языке? Сказка, не правда ли? А вот и нет! Есть такой проект, GraalVM, одной из идей которого как раз и является полиглот интероп платформа. В этом выпуске у меня в гостях Олег Шелаев, девелопер адвокат проекта GraalVM в команде OracleLabs, организатор VirtualJUG и митапов GDG Tartu. И в этом выпуске мы конечно же говорим про GraalVM.

GraalVM — высокоэффективная универсальная виртуальная машина для разных языков программирования, поддерживающая многие популярные языки: Java, Kotlin, Scala, JavaScript, Python, Ruby, R и даже С и С++ и им подобные. GraalVM стирает рамки между языками программирования и позволяет интероп прямо в рантайме,. Так же, интересной особенностью GraalVM является способность компилировать JVM bytecode в машинный код ahead-of-time, создавая standalone образы обычных Java-программ, которые не зависят от JVM.

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

Отдельно поговорили про компилятор Graal и ahead-of-time (AOT) компиляцию, плюсы и минусы такого подхода, ограничения и эффективность. Олег рассказал про специальную виртуальную машину SubstrateVM, чем она отличается от прочих JVM и какие дополнительные задачи решает.

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

Читать далее