История успеха молодых разработчиков

Сегодня я собираюсь написать об истории успеха в разработке программного обеспечения. Я не буду писать об Uber, Instagram, Airbnb или Microsoft. Я собираюсь написать о небольшом инструменте управления пакетами Node.js.

Но… Где же история успеха?

Этот инструмент был создан двумя молодыми программистами, новичками, неопытными, без предварительных знаний, запускающих программное обеспечение, и менее чем через месяц с момента его запуска он набрал 1000 звезд на GitHub!

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

Npkill - этот инструмент позволяет вам перечислить любые node_modules каталоги в вашей системе, а также место, которое они занимают. Затем вы можете выбрать, какие из них вы хотите стереть, чтобы освободить место. Ура!

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

Как достичь своих целей

Популярные репозитории на GitHub, как правило, имеют несколько общих черт:

  • README с изображениями / гифками продукта в действии и красивым логотипом.
  • Документация.
  • Код QA (Статический анализ кода).
  • Инструкции по внесению вклада.
  • Четко определенный раздел настройки.
  • Поддержка (ответы на вопросы / PR)
  • Публикуйте новости программного обеспечения всеми возможными способами.

ПРОЧТИ МЕНЯ

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

Я нашел очень интересные проекты, которые я не установил, потому что README был пуст или автоматически сгенерирован.

Что действительно важно в README? Когда кто-то смотрит на ваш проект, он хочет знать:

  • Что это?
  • Насколько хорош код?
  • Насколько доступна поддержка?
  • Что включено?
  • На что это похоже?
  • Как это настроить?

Давайте рассмотрим каждый из этих вопросов.

Что это?

Это фундаментально, я просмотрел множество репозиториев на GitHub и, прочитав README, все еще не знал, что они делают.

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

Опишите свой проект в твите (около 140 символов). Функции должны быть описаны в специальном разделе, где вы можете подробно объяснить каждую функцию. Так что думайте только о том, что делает ваш проект.

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

Описание npkill очень легко понять:

«Легко находите и удаляйте старые и тяжелые сверкающие папки node_modules».

Насколько хорош код?

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

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

  • Это хорошо проверено.
  • Проходит проверку стиля (ESLint и др.).
  • GIT выполняет фиксацию с помощью линтера.
  • Вопросы и шаблоны PR.
  • Инструкции и рекомендации по созданию PR.
  • Он может компилироваться в текущем состоянии (и проблем относительно нет).
  • Он проходит некоторую форму статического анализа.

Насколько доступна поддержка?

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

Это вопрос на миллион долларов во всех проектах с открытым исходным кодом, и именно в этом разница между тем, будет ли проект с открытым исходным кодом использоваться большой компанией или нет (помимо вопросов лицензирования).

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

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

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

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

Поэтому очень важно отвечать пользователям (правда, не стоит спешить и отвечать менее чем за час, ведь у всех нас есть личная жизнь).

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

Что включено?

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

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

Здесь вы можете создать список функций, для которых не нужно создавать подробное описание. Объяснение функций можно передать в раздел Как использовать?.

Как это выглядит?

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

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

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

Покажи результат своего проекта!

Как мне это настроить?

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

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

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

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

Где был опубликован проект?

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

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

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

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

Блог

Первое место, где я написал о npkill, было в моем личном блоге, который меня посещают примерно 100 раз в день.

Dev.to

В Dev.to npkill действительно поднялся и очень скоро набрал 500 звезд.

У него было 200 отзывов и более 3500 посещений этого поста, в дополнение к тому, что сообщество начало узнавать о npkill.

Середина

В Medium я разместил статью и получил еще 1000 посещений.

Hackernoon

Проект также был опубликован в Hackernoon, где статья была просмотрена чуть более 100 раз.

Твиттер

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

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

Большое спасибо всем, кто внес свой вклад.

GitHub

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

Мне известно, что npkill также обсуждался в нескольких ветках reddit.com; в основном в JavaScript и Node.js.

Заключение

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

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

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

  • Документация.
  • Простота установки и использования.
  • Поддержка (ответ на GitHub и социальных сетях).
  • Рекламируйте это так, чтобы мир знал об этом, вы ничего не продаете, но вы пытаетесь дать миру знать, что вы создали решение их проблем.

Ресурсы