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

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

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

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

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

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

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

Так же за время беседы мы запустили несколько голосований по тематике код-ревью, а в конце дискуссии подвели итоги. Читать далее «SDCast #121: Круглый стол про код-ревью»

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

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

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

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

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

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

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

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

В завершении выпуска обсудили насущную тему удалённой работы. Ребята поделились своими личными впечатлениями от удалёнки и рассказали как выстроен процесс у них в компании. Читать далее «SDCast #120: в гостях Павел Савельев, руководитель отдела автоматизации бизнес-процессов и Павел Агалецкий, системный архитектор в компании Lamoda»

SDCast #119: в гостях Андрей Старовойт, разработчик WebStorm в JetBrains

Продолжаем серию выпусков про IDE. На этот раз у меня в гостях Андрей Старовойт, разработчик из команды WebStorm в JetBrains.

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

Андрей рассказал про особенности интеграции TypeScript, поддержку новых типов, взаимодействие с tsc и как сделана поддержка различных версий TypeScript.

Мы обсудили как решается вопрос необходимости поддержки новых фич языка JS или глубокая поддержка конкретного фреймворка или технологии, и даже вспомнили про meteor.js!

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

В завершении выпуска подискутировали о веб направлении в целом и экосистеме JS в частности, а так же Андрей рассказал про текущие задачи и планы на ближайшее будущее WebStorm. Читать далее «SDCast #119: в гостях Андрей Старовойт, разработчик WebStorm в JetBrains»

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

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

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

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

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

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

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

Так же мы обсудили тему самодостаточных пакетов (flatpak и ему подобные), немного подискутировали про языковые пакетные менеджеры, Дима рассказал про текущее положение дел с автоматическим тестированием портов FreeBSD и детерминированные сборки. Читать далее «SDCast #118: в гостях Дмитрий Маракасов, разработчик свободного ПО»

SDCast #117: в гостях Денис Падрухин, директор компании разработки INEDI

Рад представить вашему вниманию 117-й выпуск SDCast’а, посвящённый вопросам проектирования и разработки UI/UX программных продуктов. У меня в гостях Денис Падрухин, директор компании разработки INEDI. В этом выпуске мы говорим про разработку интерфейсов приложений и интеграцию этого этапа в общих жизненный цикл разработки ПО.

Вначале мы обсудили, как изменились технологии в разработке UI/UX за последние годы. Затем Денис рассказал про процесс интеграции дизайна в проект: какие есть сложности и технические особенности, как подружить дизайнеров, верстальщиков и программистов, которые норовят скопипастить стили и подправить, как им нравится.

Так же Денис вспомнил интересные случаи из жизни про интеграции дизайна в различных встраиваемых системах.

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

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

В заключении выпуска подискутировали о том, куда движется индустрия в целом, какие есть интересные новшества и что нас может ждать в будущем. Читать далее «SDCast #117: в гостях Денис Падрухин, директор компании разработки INEDI»

SDCast #116: в гостях Виктор Яблоков, руководитель мобильной разработки «Лаборатории Касперского»

Встречайте 116-й выпуск подкаста, на этот раз посвящённый аспектам безопасности мобильных платформ и разработке решений по обеспечению безопасности мобильных устройств. У меня в гостях Виктор Яблоков, руководитель мобильной разработки «Лаборатории Касперского».

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

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

Поговорили мы и о вендорских прошивках на базе Android, какие это привносит сложности в разработку, чем помогает Google Compatibility Suite и как устроено тестирование в целом.

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

Мы обсудили подходы к экспериментам с функциями и UI/UX приложений и A/B тестирование, Виктор рассказал как и на ком они проводят свои эксперименты.

В заключении выпуска подискутировали о том, куда движется индустрия мобильной разработки в целом. Читать далее «SDCast #116: в гостях Виктор Яблоков, руководитель мобильной разработки «Лаборатории Касперского»»

SDCast #115: в гостях Сергей Тихомиров, блокчейн исследователь, аспирант Университета Люксембурга

Bitcoin logoРад представить 115-й выпуск подкаста, речь в котором идёт про Bitcoin. Волна хайпа биткоина и блокчейн технологий немного спала, но тем не менее капитализация биткоина по прежнему превышает 130 млд долларов, а это что-то значит. У меня в гостях Сергей Тихомиров, блокчейн исследователь, аспирант Университета Люксембурга и автор подкаста Базовый блок.

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

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

Обсудили Эфир, aka Ethereum и его смарт-контракты, какие-то новые веяния и идеи, построенные на базе эфира и смарт-контрактов.

В заключении немного порассуждали о будущем криптовалют, тенденциях и возможных направлениях развития. Читать далее «SDCast #115: в гостях Сергей Тихомиров, блокчейн исследователь, аспирант Университета Люксембурга»

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 #114: в гостях Александр Кукушкин, database инженер в Zalando»

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

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

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

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

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

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

Не обошли мы стороной и вопрос первого языка программирования. Саша поделился своим мнением на этот счёт. Читать далее «SDCast #113: в гостях Александр Сербул, руководитель направления контроля качества интеграций и внедрений в компании 1С-Битрикс»

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

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

 

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

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

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

Поскольку все участники дискуссии имеют опыт работы в распределённых командах, нам удалось собрать и обсудить различные мнения по вопросам, поделиться работающими подходами и приёмами решения некоторых проблем. Надеюсь, что все слушатели узнаю и для себя что-то новое. Читать далее «SDCast #112: Круглый стол про удалёнку»