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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

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 #59: в гостях Максим Железный, QA team lead в компании Trinity Digital

Встречайте 59-й выпуск SDCast’а, который посвящен тестированию мобильных приложений. У меня в гостях Максим Железный, QA team lead в компании Trinity Digital.

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

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

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

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

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

Читать далее

SDCast #42: в гостях Антон Шевчук, техлид в компании Nix Solutions

sd-podcast-logo Встречайте 42-й выпуск подкаста с ответом на главный вопрос! :) У меня в гостях Антон Шевчук, техлид в компании Nix Solutions, open-source контрибьютор и автор книги «jQuery для начинающих».

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

Антон, как автор php-фреймворка bluz, рассказал о истории появления проекта, подходе и сфере применения. Так же мы обсудили и общие вопросы, связанные с PHP: как развивается сам язык, экосистему платформы и уже устоявшиеся фреймворки и паттерны их использования в проектах. Подисскутировали на тему того, что PHP сейчас в антитренде, но при этом все еще является одним из самых популярных и востребованных языков в разработке.

Отдельно обсудили образовательную тему в IT. Антон рассказал про свою серию образовательных заметок «PHP для начинающих». Зачем он её начал, какие цели преследует, что это дает ему как автору и какая польза для начинающих разработчиков. Так же Антон является автором очень популярной серии заметок «jQuery для начинающих», которые в итоге превратились в полноценную книгу, которая доступна как в электронном, так и печатном виде. Для справки, вот некоторые интересные цифры, касательно книги:

  • на написание книги из материалов доступных на сайте ушло около года и 400 часов времени
  • за всё время было >300 000 просмотров на scribd.com
  • за всё время учебник был скачан более 100 000 раз (все версии)

Читать далее

Software Development podCAST #12

sd-podcast-logo Highload и API, архитектура и мониторинг, Python и Go: все это, а так же многое другое в новом выпуске SDCast’а за номером 12. У меня в гостях Андрей Смирнов, разработчик aptly, архитектор, докладчик на многих конференциях, ведущий мастер-класса по высоким нагрузкам и надежности. В этом выпуске мы обсуждаем разные аспекты построения высоконагруженных проектов, говорим о балансировке и распределении нагрузки, обсуждаем вопросы построения API для использования как внутри проекта, так и сторонними клиентами.
Андрей рассказывает про свой open-source проект «aptly», который является инструментом для обслуживания debian репозиториев, как появилась идея, каков статус проекта сейчас и что планируется сделать в будущем, почему в качестве языка был выбран Go, и как aptly попал в main-репозиторий debian.
Помимо этого, мы немного пообщались на тему мастер-классов, которые проводит Андрей.

Читать далее