StackOverflow — больше, чем просто хранилище ответов на глупые вопросы

в 10:14, , рубрики: open source, stack overflow, stackoverflow, Карьера в IT-индустрии

Этот текст задуман и написан как дополнение к «Чему я научился за 10 лет на Stack Overflow».

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

Я решился написать эту заметку потому, что за семь лет, проведенные на SO, я достаточно хорошо изучил сообщество изнутри. Я ответил на 3516 вопросов, задал 58, вошел в hall of fame (top 20 во всем мире) в обоих языках, на которых пишу постоянно, подружился со многими умными людьми, и активно пользуюсь, пожалуй, всеми возможностями, предоставляемыми сайтом.

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

Саморазвитие

Когда-то давно я наткнулся вот на такой твит:

Paradoxically, I find the best way to learn a new languages is to answer questions rather than ask them. — Jon Ericson

Тогда меня слегка удивила постановка вопроса, но со временем я убедился, что это — чистая правда. HackerRank, Exercism и подобные сайты предоставляют возможность порешать сферические задачки в вакууме, и даже обсудить ваше решение с приятными доброжелательными людьми. Подавляющее большинство книг нынче дополнены примерами, которые можно скачать и запустить. На гитхабе можно отыскать интересный проект на изучаемом языке, и погрузиться в пучину чужого исходного кода. При чем тут SO? — ответ прост: только на SO вопросы рождены жизненной необходимостью, а не причудливым воображением конкретных людей. Отвечая на такие вопросы, мы неизбежно оттачиваем способность мыслить лаконично (в рамках синтаксиса нашего языка), перекладываем в активную область памяти часто используемые паттерны, а читая ответы других людей — сравниваем их с нашими и запоминаем лучшие подходы.

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

Объективная оценка сообществом

Для разработчиков, называющих себя синьорами и выше, довольно важно иметь возможность сравнить собственное ощущение собственной крутизны с объективным мнением незнакомых людей. Мне доводилось работать в коллективах, где мой уровень навыков и умений не вызывал ни у кого никаких вопросов. Я буквально ощущал себя гуру. Активное участие в дискуссиях на SO довольно быстро этот миф в моем сознании развеяло. Мне внезапно стало очевидно, что до уровня «señor» — мне еще расти, расти, и расти. И я очень благодарен сообществу за это. Душ был ледяной, но очень бодрящий и исключительно полезный.

Сейчас я могу закрыть любой вопрос как дубликат:

Close as Duplicate

или ответить / разблокировать вопрос, защищенный сообществом от вандалов:

You have enough reputation ...

Это мотивирует. После 25000 репутации пользователям открывается вся статистика SO и разрешение сохранять запросы к базе пользователей.

Приятные знакомства

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

Слухи про «токсичную атмосферу» — как минимум сильно преувеличены. Я не могу говорить за сообщества всех языков, но и ruby, и elixir сегменты — крайне доброжелательны. Чтобы нарваться на нежелание помочь, нужно в ультимативной форме потребовать написать код домашнего задания, неаккуратно выплеснув что-то вроде:

I need to calculate a sum of all prime numbers less than 100. The solution must not use core iterators. How do I do that?

Да, такие «вопросы» попадаются, и их минусуют. Я не вижу в этом проблемы; SO — это не бесплатный сервис, где страдающие от избытка свободного времени люди бесплатно решают чужие домашние задания.

Стесняться плохого английского, или недостаточного опыта — не сто́ит вовсе.

Карьерные бонусы

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

Не отнимает много времени

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

Daily Activity

Раскрывает чакры и прочищает карбюратор

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

Достаточно ли я компетентен, чтобы отвечать на вопросы?

Да.

Все мы ошибаемся, и если это случится — сообщество поправит. Замечу: не насрет исподтишка в карму, а заминусует ответ (в подавляющем большинстве случаев — с объяснением, что именно тут не так). Заминусованный ответ имеет смысл удалить, и минусы будут откачены назад. (Удаленные ответы по-прежнему остаются видны людям с репутацией, большей 10000, но они, поверьте, и не такое повидали).

В заключение

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

Автор: Aleksei Matiushkin

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js