Как акаунтът в StackOverflow може да ви осигури място в разпознатата таблица за програмисти

Екранната снимка е взета от StackExchange.com

Никога не съм срещал програмист, който да не е чувал за StackOverflow. Това е мястото, където повечето от нас простосмъртните отиват, когато сме заседнали, опитвайки се да решим програмен проблем. Понякога проблемът е просто чиста липса на документация от софтуер с отворен код, който внедряваме.

Но от моя дългогодишен опит научих, че не всички разработчици знаят стойността на силния акаунт в StackOverflow.

Личен акаунт StackOverflow (топ 7% тази година)

По-горе е моят личен акаунт за StackOverflow. Дадох 156 отговора и от своя страна достигнахме около 2 милиона разработчици, което ме постави на първо място в 7% от всички потребители в StackOverflow.

Това не беше лесна задача, тъй като към днешното писане (1 декември 2018 г.) има около 9,7 милиона потребители, 17 милиона въпроса и 26 милиона отговори.

Ако сте се опитали да изпратите отговор в StackOverflow, скоро разбирате, че това не е проста задача - не можете просто да отговаряте на произволни въпроси с полуготови решения. Форумът работи по начин, по който хората гласуват за отговори, които всъщност са уместни и са им помогнали с проблема, върху който работят.

С 9,7 милиона потребители е доста предизвикателство да гарантирате, че отговорът ви ще бъде от полза за никого. Веднага след като въпросът е публикуван, десетки разработчици са готови да отговорят на въпроса с надеждата си да получат гласове и от своя страна подкрепят съответните профили. Въпреки това, този "див запад" стил на отговор на въпрос може също да бъде контрапродуктивен, тъй като потребителите имат възможност да отхвърлят всякакви отговори, които са с лошо качество.

Какви са бонусите и защо се притесняват?

Представете си, че всички кандидатстват за конкретна компания и всички са равнопоставени по отношение на трудовия си опит. Не е необходимо да бъде голяма и известна компания, лесно може да бъде просто примерно работно място наблизо. Всички искат да кандидатстват там.

Да речем, хипотетично, компанията дава опции за запаси, гъвкава е с условия за работа, а офис съоръженията включват скандалната маса за билярд, торбички с боб и безплатна храна. Типичният идеален технологичен офис!

Рекрутерът търси вашето име и открива, че сте топ 10% от всички инженери във форума на StackOverflow. Тъй като повечето рекрутери днес знаят за онлайн общностите като StackOverflow, кой мислите, че ще има крак във вратата? Наличието на силно присъствие в интернет действа като черешка на тортата и през повечето време ви гарантира поне първоначално интервю.

Разбира се, не казвам, че всички разработчици, които имат добър резултат в онлайн форума, са с висок калибър. Има някои, които току-що отговориха на един труден въпрос и събраха всички свои гласове от тази една много специфична тема. Това обаче лесно се забелязва, след като разкопаете потребителския профил на потребителя.

Не мога да говоря за другите членове на StackOverflow, които имат силен профил, но има случаи, в които компаниите не биха си направили труда да ми дадат онлайн изпит за кодиране и просто пристъпиха към последното интервю. Няколко компании се свързаха с мен и ме поканиха на интервю, дори когато не се опитвах да търся нова работа.

В реалните интервюта техническите панели могат да бъдат по-снизходителни, като знаете, че сте достигнали 2 милиона разработчици. Това от своя страна ще ви даде повече увереност в това, което правите и ще утвърди позицията ви в света на софтуерната инженерия.

Лично това също ми помогна да се състезавам в световен мащаб. Роден съм във Филипините и сега се озовах в Сидни Австралия, отивайки в Обединеното кралство и Сингапур между тях.

Чувствам се, че трябва да подчертая и това, но наличието само на SO-акаунт няма да гарантира нищо, но ще действа като допълнение към вашата кодираща мъдрост.

Плащайки го напред

Знам какво мислите в този момент - просто искате да знаете как можете да подобрите собствения си акаунт. Основният ми съвет за изграждането на силен профил е просто да се опитате да помогнете истински на други разработчици.

Какво искам да кажа с това? Е, има случаи, в които се затруднявате с проблем и, опитайте се, колкото може, изглежда, че няма решение за проблема ви, наличен онлайн. Това е точно тази ниша, която търсите, има вероятност няколко програмисти да са заседнали и с този проблем.

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

Общият път е да продължите деня си, когато сте решили този проблем за себе си и се почувствате изпълнени. Това пренебрегва онези многобройни разработчици, които все още плачат от болка, опитвайки се да разберат как да решат същия проблем. По същество ще ви отнеме само няколко минути, за да съставите приличен абзац, показващ как проблемът е решен и това е всичко.

Ако просто мислите за другите разработчици, оставяйки отговор, след като вече сте го разбрали, е засадено семе, което ви помага да отглеждате своя онлайн профил. Плащайки го напред, докато вървите заедно. Не влизайте с единствената цел само да увеличите доверието си - другите разработчици са склонни да знаят веднага, а вие просто ще бъдете бомбардирани с безстопанствени записи.

Няма глупави въпроси

Това заглавие не трябва да се приема буквално. Но когато се стигне до него, стига въпросите да са наистина валидни, общността е склонна да реагира положително.

Друг начин за изграждане на вашия профил е да задавате истински въпроси на общността. Това обикновено е по-труден път. С всички въпроси, които вече са във форума, не е лесна задача да зададете въпрос, където вече няма отговор.

StackOverflow работи по такъв начин, че въпросите и отговорите се предоставят от самите разработчици, но привилегия се предоставя на онези, които са достигнали определено количество кредит за идиосинкразия, така да се каже. Разработчиците, които са постигнали тази привилегия, имат своя най-добър интерес да запазят качествени въпроси на сайта. Така новобранците, които копират и поставят домашните си / задания в сайта, се забелязват лесно и тези въпроси са занижени, като никога не виждат светлината на деня.

Ето страницата, на която мога да прегледам съществуващите въпроси / отговори, ако наистина си струва да бъдат публикувани. (Снимката на екрана е направена с личния ми акаунт)

Въпросите обикновено могат да бъдат разделени на две категории, теоретична и техническа.

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

Добър пример е кой език за програмиране да се използва. Въпреки че това е валиден въпрос, той подлежи на мнението на човека, който отговаря, тъй като разработчиците на Java определено биха отговорили на Java и т.н.

Като утешение все пак получавате точки за хора, които са любопитни да чуят отговорите, ако има такива. Ето един от въпросите ми, който събра много мнения - около 29 000 гледания - и от своя страна получи редица гласове. Написах го преди няколко години, когато не можах да намеря стабилно сравнение на използването на контейнери за корпоративно издание на Java Enterprise с използването на уеб контейнери. По това време вече имаше редица документации за контейнери и уеб контейнери за Java EE, но никой не се занимаваше с преодоляване на разликата между тях.

От друга страна, техническите въпроси изискват да посочите това, което вече сте опитали, и всички необходими технически подробности. Общността веднага знае дали просто се опитвате да намерите отговор, без да правите правилното си изследване.

Добър пример би бил този предишен въпрос, който направих относно оптимизирането на някакъв код. Въпреки че вече имах отговор, просто исках да знам дали има алтернативи, някакъв вид преглед на онлайн код, ако щете. По-долу е даден пример за добър технически въпрос, състоящ се от добро заглавие, описание и всички дебелозърнести детайли.

Компоненти на добър въпрос (Снимка, взета от моя личен акаунт).

Горното е пример за въпрос с добра анатомия. Заглавието изобразява точно това, което се опитвам да разбера. Описанието съдържа подробности за това, което се опитвам да постигна, и също включва това, което вече съм опитал. Примерен код е правилно форматиран.

Докато имате добро описание на това, което всъщност се опитвате да разберете, и това, което вече сте опитвали, има голям шанс хората да ви дадат достоен отговор и да повдигнат въпроса, докато са там.

Въпреки че задаването на въпроси е маршрут за печелене на повече точки, не препоръчвам да задавате само заради него. Добра причина за това е истинският интерес просто да научим и да допринесем за общността. Задаването на въпроси, за които знаете, че не са лесно достъпни онлайн, оставя следи от трохи до следващия разработчик, който се опитва да намери същия точен проблем.

Отговори, отговори, отговори

Няма да се гмурна в твърде много подробности относно даването на добър отговор на теоретични и технически въпроси, тъй като те са сходни по характер с горните. Вместо да давате примери за това, което вече сте опитали, давате конкретни примери за отговора, който давате. Просто ще оставя примери тук и тук. Има и други ниши по отношение на предоставянето на отговори в допълнение към споменатите вече теоретични / технически категории.

„Работи на моята машина“ - всеки разработчик е жив

Ако сте разработчик или просто сте работили с IT отдела, вероятно сте чували тази линия: „Работи на моята машина“.

Въпросите, свързани с операционната система, може да са една от най-големите подкатегории. В StackOverflow има около 50K категории / тагове, а само MacOS има около 10k свързани с ОС въпроси, без да говорим за езика на програмиране + специфични за ОС въпроси.

Кажете, че вашата npm инсталация работи в Linux, но не работи с MacOS. Това вече е въпрос, свързан с Node и OS. Представете си всички permutation на всички езици и OS среди. Понякога дори IDE се хвърлят в сместа! Не е чудно, че има зададени милиони и милиони въпроси.

Друга ниша е предоставянето на инструкции с трети интегратори. Всички сме го виждали и преди - добър API с липса на документация. Ето един добър въпрос как да се интегрирате с Google за изпращане на имейл с помощта на Node. Бихте си помислили, че това ще е пряка промяна или че тя ще бъде добре документирана, нали? Този въпрос сам има 80K изгледи, което означава, че имаше около 80K разработчици, които не успяха лесно да го изяснят въз основа на стандартна документация, предоставена от Node и Google - те трябваше да прибегнат да зададат онлайн форума.

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

„Големите творби се изпълняват не със сила, а с постоянство“ - Самюъл Джонсън

Както при всяка инвестиция, няма да влезе в сила веднага. Може да отнеме месеци или дори години да засадите семената си и да оставите отговори. Но преди да го знаете, вече ще имате стабилно присъствие в общността и всички бонуси, които идват заедно с нея.