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 #72: в гостях Ильяс Салихов, директор по технологиям в компании Intaro и проекте retailCRM

sd-podcast-logoРад представить вам 72-й выпуск SDCast’а! У меня в гостях Ильяс Салихов, директор по технологиям в компании Intaro и проекте retailCRM. В этом выпуске мы с Ильясом обсуждаем различные аспекты разработки, начиная от технических составляющих и заканчивая различными “soft skills” темами.

В начале Ильяс рассказал про проект retailCRM, как он появился, какие решает задачи, как устроен и работает. Обсудили мы архитектуру проекта и используемые технологии. Под капотом проекта используются: PHP/Symfony/Doctrine, PostgreSQL, Redis, сервисы на Python и Go и много чего ещё.

RetailCRM — это SaaS с большим количеством пользователей, где под пользователями понимается не конкретный человек, а целая компания, использующая retailCRM, внутри которой уже работает некоторое количество человек-пользователей. Сейчас сервис используют порядка 5000 магазинов, то есть пользователей-компаний, 30 млн хитов в сутки.

Ильяс рассказал, как они организуют хранение разных пользователей-компаний в базе данных и как организована работа бэкенда с этими данными. Забегая вперёд скажу, что retailCRM — это по большому счёту монолит на PHP/Symfony, где каждый пользователь-компания живёт на своём поддомене, однако все запросы обрабатываются этим самым монолитным приложением, а данные каждого пользователя-компании — это отдельная схема в базе данных PostgreSQL.

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

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

Читать далее