В рамках проходящей сейчас конференции GeekWeek-2015 мы общаемся с нашими спикерами. Сегодня на связи Денис Измайлов, CEO Startup Makers, уже известный многим из вас по своим статьям DenisIzmaylov


Денис, ты уже более 15 лет занимаешься веб-разработкой. Скажи, в чем причина такой стабильной привязанности к одному направлению?

К сожалению, именно веб-разработкой я занимаюсь не 15, а 13 лет. :) Летом 1998 года я открыл для себя программирование и спустя год увлекся разработкой программного обеспечения для Windows. А немного позже — даже созданием собственной операционной системы. Тогда у меня не было доступа к Интернет. Это была далекая Сибирь. И вот весной 2002 года судьба свела меня с удивительным человеком. Он открыл для меня возможности Web, Apache, PHP. Сделав несколько экспериментальных проектов, я увидел, что мои способности к исследованиям, самообучению, созиданию и красивому могут быть интересны и полезны большому количеству людей. Это захватывает и вдохновляет, когда твой рост и результаты приятны и полезны обществу.


Что это за удивительный человек, о котором ты говоришь? Я правильно понимаю, что это своего рода первый Учитель и Наставник? Можешь о нем поподробнее?

Нельзя научить, можно только научиться. Манук Астатурян — редкий человек, мой ровесник. Тогда не только Интернет, да и технологии в целом были далеки от места, где я жил. Но мы с ним сильно выделялись своей одержимостью ими. Когда нас познакомили — мы проговорили несколько часов без остановки, делясь с друг другом своим видением, идеями и знаниями. С того дня и по текущий момент дружим. У него замечательная семья и добрая мама. :)

Как именно ты увидел, что твои знания могут быть интересны и полезны другим?

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

Первый проект


Тогда глобальный Интернет был не таким разнообразным, как сейчас, и при этом ещё был дорогим удовольствием. Поэтому почти все сидели в региональных Интранет-сетях. У нас было два ресурса — чат и хостинг домашних страниц (Home Page). Многие распоряжались этим ресурсом странно и без энтузиазма.

Я переосмыслил структуру принятых тогда подходов и сделал интуитивно приятный сайт. Кстати, годом позже Facebook реализовал аналогичный дизайн, который в основе своей мы и видим сегодня (это не шутка — archive.org всё помнит). На этом сайте я собрал интересный людям контент. Там же публиковал ПО, которое делал в свободное время и которое было по местным меркам популярно.

Позже люди, которым я помогал, предоставили мне полноценный хостинг. Там я создал свой чат, как альтернативу общему, для тех, кого не устраивала скорость его работы. Он имел те же возможности (возможность смены тем и даже собственный бот, который поддерживал диалоги с людьми, когда гостей мало), но был аккуратней оформлен. Детали очень важны. Также была своя простая социальная сеть внутри. Это был 2003 год, мне необходимо было готовиться к выпускным экзаменам в школе, плюс я ещё параллельно устроился работать в научную лабораторию. Проект я оставил жить своей жизнью.

Окончательный выбор


Последние 5 лет своей работы ты сфокусировался на Front-end, Node.js и архитектуре. Чем обусловлен такой выбор?

Меня всегда захватывал потенциал и рост. Работая 5 лет назад над инфраструктурным проектом для польского офиса Nokia-Siemens Network и следом над travel-стартапом для западного рынка, я заметил, как много возможностей открывают современные браузеры и как растут запросы на функциональности внутри JavaScript-приложений. В то же время роль серверной части отходит на второй план по важности и становится достаточно типовой, а, значит, легко заменяемой. Кстати, спустя какое-то время такие явления? как BaaS (Backend as a service) и сервис Parse.com эту гипотезу подтвердили.

Отметил, как растет пропасть между JavaScript-окружением и «классической» серверной средой, такой как PHP или Java, в то время как JavaScript, за небольшими исключениями, куда более близок человеческому мышлению.
Учитывая всё это и тот факт, что пользователь взаимодействует именно с интерфейсом? какой бы ни был совершенный (или несовершенный) Backend, — ведь без хорошего UX проект не «полетит» — я сделал окончательный выбор.

Startup Makers и их принципы разработки «под ключ»


Расскажи, что в понимании Startup Makers входит в понятие разработки веб-проекта «под ключ»?

Если очень кратко — доведение проекта от текущего состояния до целевого результата. Разработка, особенно заказная, сегодня стала консалтингом. Её результаты всегда привязаны к бизнесу. Проблемы возникают тогда, когда случается разрыв, например, в виде большого и размытого ТЗ, нескольких уровней субподрядчиков и их географической распределённости (что влияет на критерии качества, культурный код и вводит разницу интерпретаций тех или иных слов), в результате чего появляется продукт, непригодный к использованию и сопровождению. Это часто можно увидеть в госсекторе и Enterprise.

Мы предпочитаем живой контакт:
  • Разворачивать разработку лицом к людям.
  • Говорить с клиентом на его языке, чтобы понять, каких целей он на самом деле хочет достичь.
  • Проводить интервью с конечными пользователями, учитывая их картину мира и, когда это возможно, культурный код.

Внешние сопровождающие документы и процесс сильно зависят от заказчика и проекта.
Если это стартап или продукт для pre-sale, то важно сделать быстро, за минимальное количество HADI-циклов в виду ограниченного количества ресурсов на старте. Это значит, быть наиболее точными в планировании и оценке, и эффективными в реализации. При этом сделать продукт на серьезном уровне и, желательно, превосходящим ожидания. В этом очень сильно помогает большое количество наработок и набранная за долгие годы технологическая и UX-экспертиза.

Коммуникации со стартапами посредством User Journey, визуальных прототипов низкого (wireframes) и высокого (UI) разрешения, спецификаций API (особенно, когда уже есть Back-end), как правило, достаточно для старта.


Управление задачами может идти как в системе клиента, так и через Trello, Pivotal Tracker или JIRA, в зависимости от масштаба проекта. На выходе заказчик получает рабочий продукт, который далее может сопровождаться даже программистом среднего уровня.

С другой стороны, если заказчиком является существующий бизнес или Enterprise, выводящий новый продукт на рынок или перезапускающий существующий, то оказывается важным учитывать все риски, надёжность, соблюдение сроков, понимание на всех уровнях структур и интеграция в существующие бизнес-процессы. Дополнительным языком коммуникации выступают диаграммы DFD, IDEF0. Иногда становится необходимым делать техническое задание с ПМИ (программу и методику испытаний), прохождение которых и является критерием завершения проекта разработки и началом проекта ввода в эксплуатацию.

Если заказчик — отделы разработки или СТО компаний, то с ними язык коммуникаций достаточно демократичный, на уровне DFD, архитектурных схем, спецификации API и тестов.


Как правило, они заказывают веб-сервисы и на выходе хотят получать готовые npm-пакеты для самостоятельного разворачивания и понятную документацию для сопровождения. Процессы выстроены по Agile. Если проект долгий, то используется методология Scrum.

Сколько времени может занимать проект и какие трудности появляются в процессе разработки и согласования чаще всего?

От двух недель до 6 месяцев. Как правило, сложности возникают с творческими клиентами, которые предпочитают влиять на процесс, вместо того чтобы уделять внимание продуктовым исследованиям, проведению интервью с пользователями, аналитике и подготовке необходимых данных. Но мы гибкие. Мы готовы консультировать.

Делаете ли вы в компании все сами, или же часть работы отдаете на аутсорсинг? Если последний вариант — какую работу оставляете себе и имеются ли в вашем арсенале, помимо технологий, какие-то полезные инструменты управления крупными проектами?

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

Сама идея Startup Makers состоит в том, что у нас есть топовая экспертиза на рынке и большое количество наработок с десятков проектов. Есть постоянно обновляемая платформа, которая позволяет быстро запускать новые веб-проекты. Есть инженеры-герои, которым уже не интересно в поддержке, но интересно запускать что-то новое на актуальных технологиях, и которые могут делать поддерживаемые решения. И делать это более эффективно, чем так называемые “старые стабильные технологии”.

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

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

Конференция продлится до 22 ноября.
А в прямом эфире можно поучаствовать прямо сейчас.

Комментарии (2)


  1. ekubyshin
    19.11.2015 14:23

    Это опечатка в тексте?

    Это была далекая Сибирь. И вот весной 2013 года судьба свела меня с удивительным человеком. Он открыл для меня возможности Web, Apache, PHP.


    Говорится в вопросе, о 15 годах, но по тексту с вебом начал работать с весны 2013 года.

    Где правда?


    1. GeekBrains
      19.11.2015 14:36

      Спасибо, поправили.