Как разработчику эффективно использовать Stack Overflow
Что такое Stack Overflow
Stack Overflow — сервис в формате «вопрос — ответ» для IT-специалистов: разработчиков, тестировщиков, ML-инженеров. Здесь можно получить помощь по решению задач в программировании, инструментам разработки, базам данных, настройке серверов и другим вопросам.
Вот чем ещё полезен Stack Overflow:
-
Можно познакомиться с разработчиками из разных стран и стать частью международного комьюнити.
-
HR-специалисты часто ищут там кандидатов. Например, по экспертизе в узкой сфере.
-
Рекрутеры могут рассматривать профиль на сервисе как подтверждение опыта разработчика. Если специалист много помогал другим и отвечал на сложные вопросы, значит, он будет таким же в работе.
Из каких разделов состоит сервис
Сайт состоит из трёх разделов: «Вопросы», «Метки» и «Участники». Есть ещё «Неотвеченные» — для быстрой навигации.
«Вопросы». В этом разделе собраны вопросы пользователей, которые можно отсортировать по фильтрам. Например, найти вопрос с наивысшим рейтингом и меткой javascript.
Во вкладку «Текущие» попадают вопросы, в которых недавно была активность, например внесение правок или ответ от пользователя. Во вкладке «Конкурсные» публикуются вопросы с дополнительными баллами от автора за ответ.
Баллы — это ваша репутация на сервисе. Они показывают, что вашим ответам можно доверять. Чем выше репутация, тем больше привилегий у пользователя: возможность править сообщения, голосовать против вопросов с неверной или бесполезной информацией, добавлять новые метки на сайт. Получать баллы можно не только за грамотные ответы, но и за интересные, продуманные вопросы.
Это один из основных ресурсов, где я ищу решения своих проблем в работе. Классно, что многие вопросы там уже заданы: за 10 лет своей работы я сам задавал вопросы 2–3 раза, в остальном пользовался поиском. Круто, что участники сообщества очень развёрнуто отвечают: рисуют картинки, схемы, вставляют готовые куски кода. Некоторые ответы тянут на целые статьи. Я часто ищу здесь примеры применения технологий, которые изучаю.
Мы в команде шутим, что, когда программируешь, главное — не перепутать, откуда копировать код: лучше брать из ответов, а не из вопросов. Подход тех, кто бездумно копирует куски кода с ресурса, мы называем Stack Overflow driving development.
Борис Шестаков, техлид банковских продуктов
«Метки». Здесь находятся метки, которые можно добавить в свой вопрос. Чем точнее вы их подберёте, тем быстрее получите ответ от пользователей. Ещё по меткам удобно искать существующие вопросы по теме: интересующая вас информация уже может быть на сервисе.
Для каждой метки есть подраздел «Лучшие участники», где публикуют рейтинг лучших авторов вопросов и ответов. Одно из преимуществ высокой репутации на сайте и попадания в такие рейтинги — внимание от работодателей, которые ищут кандидатов на Stack Overflow.
Рекомендация. Stack Overflow изначально создан как сервис для обмена знаниями и опытом между IT-специалистами, а не как джоб-сайт. Участник не может разместить там резюме, а рекрутер — написать ему напрямую. Если вы заинтересованы в новых предложениях о работе, оставьте в настройках профиля ссылки на свои соцсети или другие ресурсы для связи с вами.
«Участники» — раздел со списком всех участников сообщества. Есть фильтры по репутации, дате регистрации на сервисе, доступу участника к редактированию или модерации вопросов.
Как формулировать вопросы
Вопрос на Stack Overflow состоит из заголовка, основной части и меток.
Заголовок. Его задача — привлечь внимание пользователей к проблеме. Опишите её кратким предложением, а подробности оставьте для основной части. Не пишите абстрактно, добавляйте важные детали: названия библиотек, сервисов, функций.
Так писать не нужно |
А это отличный заголовок |
Помогите, проблема с кодом на C++!!!!!!!!!!! |
This не работает в методе класса при вызове из другого файла (JavaScript) |
Основная часть. Раскройте проблему, которую обозначили в заголовке. Объясните, что мешает решить её самостоятельно и что вы уже сделали для решения. Добавляйте примеры: скриншоты с ошибками, части кода, которые относятся к вопросу.
Это плохое описание. Пользователь решил не разбираться в инструменте OpenGL, а закинул задачу на сервис, чтобы участники всё сделали за него:
А вот хороший пример. Есть наглядные фрагменты кода, описание ошибки и информация о том, какие ещё варианты решения рассматривал пользователь:
Метки. Добавьте метки по теме вашего вопроса: например, к какому языку, операционной системе, фреймворку относится проблема. Сервис подскажет подходящие метки после заполнения описания.
Важно: перед публикацией вопроса убедитесь, что он не повторяется. Воспользуйтесь поисковой строкой в разделе «Вопросы» или поищите по меткам. Если на сервисе уже есть похожие вопросы, но ответы вас не устраивают, объясните в основной части причину. Это поможет вам получить точную обратную связь.
Что делать, если на вопрос не ответили
Проверьте формулировку и тему. В справке сервиса есть рекомендации, о чём спрашивать не стоит. Вот какие вопросы лучше не задавать:
-
с просьбой помочь найти ошибки в большом куске кода;
-
о том, где найти программы, библиотеки, учебники по программированию и администрированию;
-
c просьбой помочь в выполнении домашнего задания;
-
про поиск ошибок, которые нельзя воспроизвести;
-
о том, как использовать ПО, если это не касается программирования или администрирования.
Предложите вознаграждение. Назначьте награду за ответ в виде дополнительных баллов репутации. Сделать это можно через два дня после создания вопроса. Количество баллов — от 50 до 500. Учтите, что эти баллы вычтут из вашей репутации.
Чтобы начать конкурс, нажмите на кнопку «Начать конкурс» в нижней части вопроса. После этого он будет семь дней отображаться во вкладке «Конкурсные» в разделе «Вопросы».