Адразу скажу, што я згодны з Мэтам Бірнерам фактычна ва ўсім. Але ў мяне ёсць некалькі дадаткаў, якія мне здаюцца дастаткова важнымі, і якімі я хацеў бы падзяліцца.
Я вырашыўся напісаць гэтую нататку таму, што за сем гадоў, праведзеныя на SO, я дастаткова добра вывучыў супольнасць знутры. Я адказаў на 3516 пытанняў, задаў 58, увайшоў у hall of fame (top 20 ва ўсім свеце) у абедзвюх мовах, на якіх пішу ўвесь час, пасябраваў са шматлікімі разумнымі людзьмі, і актыўна карыстаюся, мабыць, усімі магчымасцямі, якія прадстаўляюцца сайтам.
Штораніцы, за ранішняй кавай, я адкрываю стужку навін, twitter, і — SO. І я лічу, што гэты сайт можа даць распрацоўніку значна больш, чым сніпет для капіпаста, клапатліва прапанаваны. DuckDuckGo.
самаразвіццё
Калісьці даўно я натыкнуўся вось на такі твіт:
Paradoxically, я ведаю, што лепшы спосаб вучыцца ў новых мовах з'яўляецца пераліку пытанняў, якія sa týkají toho. - Jon Ericson
Тады мяне злёгку здзівіла пастаноўка пытання, але з часам я пераканаўся, што гэта - чыстая праўда. HackerRank, Фізічныя практыкаванні і падобныя сайты даюць магчымасць вырашыць сферычныя задачы ў вакууме, і нават абмеркаваць ваша рашэнне з прыемнымі добразычлівымі людзьмі. Пераважная большасць кніг сягоння дапоўнены прыкладамі, якія можна спампаваць і запусціць. На гітхабе можна адшукаць цікавы праект на вывучаемай мове, і пагрузіцца ў бездань чужога зыходнага кода. Пры чым тут SO? - адказ просты: толькі на SO пытанні народжаныя жыццёвай неабходнасцю, а не мудрагелістым уяўленнем канкрэтных людзей. Адказваючы на такія пытанні, мы непазбежна навострываем здольнасць думаць лаканічна (у рамках сінтаксісу нашай мовы), перакладаем у актыўную вобласць памяці часта выкарыстоўваныя патэрны, а чытаючы адказы іншых людзей - параўноўваем іх з нашымі і запамінаем лепшыя падыходы.
Калі адказ на зададзенае незнаёмцамі пытанне адразу невідавочны - нават лепш, калі так - то пошук правільнага рашэння прыносіць значна больш навыкаў, чым пошук адказу на задачку з HackerRank.
Аб'ектыўная ацэнка супольнасцю
Для распрацоўшчыкаў, якія называюць сябе сіньёрамі і вышэй, даволі важна мець магчымасць параўнаць уласнае адчуванне ўласнай крутасці з аб'ектыўным меркаваннем незнаёмых людзей. Мне даводзілася працаваць у калектывах, дзе мой узровень навыкаў і ўменняў не выклікаў ні ў кога ніякіх пытанняў. Я літаральна адчуваў сябе гуру. Актыўны ўдзел у дыскусіях на SO даволі хутка гэты міф у маёй свядомасці развеяла. Мне раптам стала відавочна, што да ўзроўню "señor" - мне яшчэ расці, расці, і расці. І я вельмі ўдзячны супольнасьці за гэта. Душ быў ледзяны, але вельмі падбадзёрлівы і выключна карысны.
Цяпер я магу закрыць любое пытанне як дублікат:
ці адказаць / разблакаваць пытанне, абаронены супольнасцю ад вандалаў:
Дзейная прысутнасць у табары якія адказваюць прывяло да таго, што я пазнаёміўся са шматлікімі сапраўды выбітнымі распрацоўнікамі з розных краін. Гэта крута. Яны ўсе вельмі цікавыя людзі, а яшчэ іх заўсёды можна наўпрост папрасіць зрабіць рэўю кода якой-небудзь няпростай бібліятэкі, якую мы вырашылі выкласці ў ЗША. Кваліфікацыя двух такіх добраахвотных рэўюераў дазваляе ператварыць любую нязграбна абчасаную даўбешку - у хупавы і куленепрабівальны код, гатовы да выкарыстання.
Чуткі пра "таксічную атмасферу" - як мінімум моцна перабольшаныя. Я не магу гаварыць за супольнасці ўсіх моў, але і рубін, І эліксір сегменты - вельмі добразычлівыя. Каб нарвацца на нежаданне дапамагчы, трэба ва ўльтыматыўнай форме запатрабаваць напісаць код хатняга задання, неакуратна выплюхнуўшы нешта накшталт:
I трэба вызначыць суму агульных лічыльнікаў нумароў не больш за 100. Дадзеная думка не павінна выкарыстоўваць core iterators. How do I do that?
Так, такія "пытанні" трапляюцца, і іх мінусуюць. Я не бачу ў гэтым праблемы; SO — гэта не бясплатны сэрвіс, дзе людзі, якія пакутуюць ад лішку вольнага часу, бясплатна вырашаюць чужыя хатнія заданні.
Саромецца дрэннага ангельскага, або недастатковага досведу - не варта зусім.
Кар'ерныя бонусы
У мяне даволі насычаны профіль на гітхабе, але сапраўдны націск хэдхантэраў я адчуў толькі калі ўвайшоў у top-20 і мая аватарка зьявілася на загалоўных старонках адпаведных моваў. Я не шукаю і не збіраюся мяняць працу ў агляднай будучыні, але ўсе гэтыя прапановы дазваляюць як падтрымліваць у форме ўласную самаацэнку, так і фармуюць базу на будучыню; калі мне раптам умяшаецца памяняць працу, пошукам затлумляцца не прыйдзецца.
Не адымае шмат часу
Я часта чуў ад розных людзей, што на SO адказваюць толькі гультаі, а сапраўдныя прафесіяналы з раніцы да ночы пілуюць зыходнікі для патрэб бізнэсу. Не ведаю, магчыма дзесьці існуюць людзі, здольныя хрэначыць код без прыпынку па шаснаццаць гадзін запар, але я да іх дакладна не належу. Мне патрэбны паўзы. Выдатны варыянт перапынку на працоўным месцы, які не занадта расслабляе, і не ўводзіць у рэжым бясконцай пракрасцінацыі, як раз – "адказаць на пару пытанняў". У сярэднім, гэта прыносіць па некалькі дзясяткаў рэпутацыі ў дзень.
Раскрывае чакры і прачышчае карбюратар
Дапамагаць людзям - добра. Мне прыемна, што акрамя звычайнага вочнага выкладання, я магу дапамагчы - і дапамагаю - выпадковым людзям з Ваёмінга, Кіншасы і В'етнама.
Ці дастаткова я кампетэнтны, каб адказваць на пытанні?
Да.
Усе мы памыляемся, і калі гэта здарыцца - супольнасць паправіць. Заўважу: не насрэ цішком у карму, а замінусуе адказ (у пераважнай большасці выпадкаў - з тлумачэннем, што менавіта тут не так). Замінусаваны адказ мае сэнс выдаліць, і мінусы будуць адкачаныя назад. (Выдаленыя адказы па-ранейшаму застаюцца бачныя людзям з рэпутацыяй, большай 10000, але яны, паверце, і не такое пабачылі).
У заключэнне
Мне ўяўляецца важным і патрэбным удзельнічаць у паляпшэнні свету, і адказы на SO - нядрэнны варыянт гэта зрабіць, не злазячы з працоўнага крэсла. Калі мне ўдалося кагосьці пераканаць пачаць адказваць прама сёння - я буду вельмі рады.