Пирамида отношений с разработчиками: инструмент для создания программ для разработчиков


Узнайте, как создать программу для разработчиков!

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

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

Вам также может понравиться: Лучшие практики для создания великолепных порталов для разработчиков API

пирамида разработчиков

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

Давайте начнем с основания пирамиды и продолжим наш путь.

Основание пирамиды

Основа вашей пирамиды – это самая важная часть вашей программы для разработчиков, и именно там вы будете тратить наибольшее количество времени и энергии, особенно на раннем этапе создания вашей программы. Это потому, что высота вашей программы в конечном итоге будет зависеть от того, насколько сильна и широка ваша база.

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

Поддержка учеников

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

  1. Новички на вашей платформе не обязательно «Начинающие» программисты, На самом деле, можно предположить, что большинство разработчиков будут достаточно опытными. Независимо от их прошлого опыта и знаний, в первую очередь каждый новичок должен учиться основам.

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

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

Построение основания вашей пирамиды

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

Приставка

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

Можно с уверенностью сказать, что инструменты, которые вы предоставляете сначала, должны ошибаться из-за простоты. Как ваша пирамида растет в высоту, так будет расти ваша пирамида. Именно тогда вы сможете добавить в консоль расширенный инструментарий, такой как средства отладки и диагностики, мониторинг в реальном времени и аналитика.

Документация и содержание

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

Я делю документацию на четыре категории, обсуждаемые ниже.

Справочный материал

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

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

Руководство по началу работы

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

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

Прощай, привет, мир

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

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

Не волнуйтесь, так как доверие и опыт разработчиков растут, они, естественно, начнут создавать код, который будет лучше отражать лучшие практики кодирования и проектирования, которые они изучили в школе или где-либо еще.

Рассмотрим Среду

При создании вашего начального контента, внимательно рассмотрите свою среду. Текст – это логичное и разумное место для начала, но в зависимости от вашей аудитории и вашего продукта, другие средства могут оказаться лучше. Например, в Roblox мы обнаружили, что видеоконтент – это гораздо более интересный и успешный способ помочь молодому поколению успешно использовать наши инструменты, и Twilio создала целую платформу для видеоигр для изучения своей платформы.

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

How-Tos и рецепты

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

Размышляя об этой библиотеке контента, задумайтесь на минуту о том, как вы впервые познакомились с Lego. Вы, вероятно, не начали с 7500 штук Millenium Falcon. Вы начали с небольших наборов и задач. Эти наборы были не только забавными и полезными для сборки, но и помогли проиллюстрировать простые шаблоны проектирования, на основе которых также строится все остальное. Это привело к разработке ваших собственных уникальных разработок, когда вы начали выходить за рамки страниц вашего руководства по эксплуатации.

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

Как и во всем, что касается Пирамиды разработчика: сборка с нуля.

Примеры кода и справочные реализации

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

  • Как интегрировать свои приложения в инфраструктуру CI / CD, как развертывать в облаке (например, Heroku, Google Cloud или AWS).

  • Как интегрироваться с популярными фреймворками, такими как Node / Express, Visual Studio и т. Д.

Как правило, всякий раз, когда вы подходите к созданию нового фрагмента контента, спрашивайте себя: «Какова моя цель обучения». Это поможет вам сосредоточиться на правильной вещи: что вы хотите, чтобы разработчик научил делать, а не на том, что на самом деле создается.

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

Ресурсы

Здание для масштаба

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

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

Инженерная культура

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

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

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

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

аналитика

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

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

  • Создание аккаунта. Первый шаг прост: создайте учетную запись, если ваш продукт требует этого.

  • Конверсия. Далее вы хотите узнать, успешно ли разработчик взаимодействует с вашей платформой. Это может быть оценено по их вызову вашего API или по завершению учебника или руководства.

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

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

автоматизация

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

Вот почему создание поддержки для инструментов автоматизации маркетинга, таких как HubSpot или Customer.io, в конечном итоге окажется очень выгодным вложением.

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

Резюме

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

Next Up: Поддержка ваших строителей

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

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

Дальнейшее чтение

6 Разработчики навыков должны строить, чтобы развязать свою карьеру

Почему каждый разработчик должен создавать сторонний проект

Лучшая программа для разработчиков платформы IoT