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 #57: в гостях Игорь Антонов, тимлид в компании ДальЖАСО, наставник в HTML Academy и организатор ha.js

Друзья, что вы знаете про 1С, кроме дурной славы и программ на русском языке? В этом выпуске мы попробуем развенчать различные мифы про платформу 1С, а так же обсудить, как она устроена и какими возможностями обладает. У меня в гостях Игорь Антонов, тимлид в компании ДальЖАСО, наставник в HTML Academy и организатор встреч фронтенд-разработчиков Хабаровска ha.js.

В этом выпуске Игорь подробно рассказал про платформу 1С:Предприятие: что в ней было в начале, как она развивалась и что есть сейчас. Рассказал про внутреннее устройство и архитектуру, что такое конфигурации и как они строятся, как происходит взаимодействие с объектами системы внутри и снаружи. Рассказал про сравнительно новые возможности мобильной разработки, интеграции с внешними системами, REST-сервисы, API, использование 1C в качестве бэкенда для веб-приложений и много чего ещё.

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

Поскольку Игорь является активным участником frontend сообщества, наставничает в HTML Academy и является инициатором и организатором встреч ha.js, не обошли мы стороной и эти темы. Игорь расссказал, как он увлёкся вебом, и как затем решил стать наставником в HTML Academy. Поделился тем, что им движет, и какие цели он преследует организовывая встречи сообщества ha.js.

Читать далее

SDCast #49: в гостях Александр Махомет, PHP Product Architect в компании Upwork

sd-podcast-logoВстречайте 49-й выпуск подкаста! На этот раз речь пойдет про распределенные команды разработки. У меня в гостях Александр Махомет, PHP Product Architect в компании Upwork и один из создателей проекта Frameworks days.

В компании Upwork работает порядка 350 инженеров и разработчиков, 270 из которых работают удаленно из 40 стран со всего мира. Александр рассказал как в компании в целом устроены процессы разработки, как формируются распределенные команды, на каких принципах построено взаимодействие между разработчиками и командами в целом.

Конечно же мы поговорили и про архитектуру проекта в целом. Саша рассказал из каких компонент состоит система в целом и что используется «под капотом». Рассказал так же про постепенную миграцию от монолитной архитектуры к микросервисной, как это происходило, какие были сложности и что в итоге это дало на выходе. В Upwork используется PHP как middleware между фронтендом и различными сервисами и Саша рассказал про миграцию с Zend Framework на Symfony, а так же про миграцию на PHP7.

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

Читать далее

Software Development podCAST #1

sd-podcast-logo Первый официальный выпуск. Вместе с Андреем aka @netandreus‘ом на этот раз говорим о фронтенде. Обсуждаем современные RIA-приложения, вопросы архитектуры, стандартизация и унификация построения способов взаимодействия фронтенда и бэкенда, модели данных и их валидация, маппинг, CRUD-операции, API. Способы построения REST API: json-rpc, xml-rpc, soap/wsdl, вопросы документирования API. Немного затрагиваем тему локализации приложений. Не прошли и мимо вопросов рефакторинга и уменьшения технического долга.

Читать далее