Hvordan en StackOverflow-konto kan sikre dig et sæde ved det anerkendte udviklerbord

Skærmbillede er taget fra StackExchange.com

Jeg har aldrig mødt en udvikler, der ikke har hørt om StackOverflow. Det er her de fleste af os bare dødelige går, når vi sidder fast og prøver at løse et programmeringsproblem. Nogle gange er problemet bare ren mangel på dokumentation fra en open source-software, vi implementerer.

Men ud fra min års erfaring er det, jeg har lært, at ikke alle udviklere kender værdien af ​​en stærk StackOverflow-konto.

Personlig StackOverflow-konto (top 7% i år)

Ovenfor er min personlige StackOverflow-konto. Jeg har givet 156 svar og har på sin side nået omkring 2 millioner udviklere, hvilket sætter mig på de øverste 7% af alle brugere i StackOverflow.

Dette har ikke været en let opgave, da der i dag skrives (1. december 2018), der er omkring 9,7 millioner brugere, 17 millioner spørgsmål og 26 millioner svar.

Hvis du har prøvet at indsende et svar i StackOverflow, er du snart klar over, at det ikke er en enkel opgave - du kan ikke bare svare på tilfældige spørgsmål med halvkogte løsninger. Forummet fungerer på en måde, hvor folk stemmer for svar, der faktisk er relevante og har hjulpet dem med det problem, de arbejder på.

Med 9,7 millioner brugere er det en ganske udfordring at sikre, at dit svar virkelig kan hjælpe nogen. Så snart et spørgsmål er sendt, er snesevis af udviklere på jagt efter at besvare spørgsmålet i deres håb om at få stemmer og til gengæld styrke deres respektive profiler. Imidlertid kan denne "vilde vest" -stil for at besvare et spørgsmål også være kontraproduktiv, da brugerne har en mulighed for at downvote eventuelle svar, der er af dårlig kvalitet.

Hvad er frynsegoder, og hvorfor gider?

Forestil dig, at alle søger et specifikt firma, og alle er på lige fod med hensyn til deres arbejdserfaring. Det behøver ikke at være et stort og velkendt firma, det kan nemt være bare et eksemplarisk arbejdsplads i nærheden. Alle vil ansøge der.

Lad os sige, hypotetisk, at virksomheden giver aktier muligheder, er fleksibel med arbejdsarrangementer, og kontorfaciliteter inkluderer det berygtede poolbord, bønne poser og har gratis mad. Det typiske ideelle tech-kontor!

Rekruttereren søger efter dit navn og finder ud af, at du er top 10% af alle ingeniører i StackOverflow-forummet. Som de fleste rekrutterere i dag er opmærksomme på onlinesamfundene som StackOverflow, hvem tror du vil have deres fod i døren? At have en stærk online tilstedeværelse fungerer som glasur på kagen, og det meste af tiden garanterer dig mindst en indledende samtale.

Selvfølgelig siger jeg ikke, at alle de udviklere, der har en god score på onlineforumet, er af høj kvalitet. Der er nogle, der netop har besvaret et vanskeligt spørgsmål og samlet alle deres stemmer om det ene meget specifikke emne. Dette kan dog let opdages, når du graver omkring brugerens profil.

Jeg kan ikke tale med de andre medlemmer af StackOverflow, der har en stærk profil, men der er tilfælde, hvor virksomheder ikke ville gider med at give mig en online kodningseksamen og bare fortsatte med den endelige samtale. Jeg fik flere virksomheder til at nå ud til mig og inviterede mig til et interview, selv når jeg ikke forsøgte at lede efter et nyt job.

I faktiske interviews kan tekniske paneler være mere lempede, vel vidende at du har nået 2 millioner udviklere. Dette vil igen give dig mere tillid til, hvad du gør, og det validerer din status i softwareingeniørverdenen.

Personligt har dette også hjulpet mig med at konkurrere globalt. Jeg er født på Filippinerne og er nu havnet i Sydney Australien og rejser til Storbritannien og Singapore imellem.

Jeg har lyst til, at jeg også har brug for at understrege dette, men at have en SO-konto alene vil ikke garantere noget, men det vil fungere som et supplement til din kodningens dygtighed.

Betaler det frem

Jeg ved, hvad du tænker på dette tidspunkt - du vil bare vide, hvordan kan du forbedre din egen konto. Mit vigtigste råd til opbygning af en stærk profil er bare at prøve at virkelig hjælpe andre udviklere.

Hvad mener jeg med det? Nå, der er tilfælde, hvor du sidder fast med et problem, og prøv som du måtte synes, der ser ud til at være nogen løsning på dit problem tilgængeligt online. Dette er nøjagtigt den niche, du leder efter, chancerne er, at flere programmerere også har sat sig fast med dette problem.

Der er bogstaveligt talt millioner af spørgsmål, der stadig ikke er besvaret i forummet, og nogle af dem vil du være i stand til at løse. Det kan skyldes erfaring, andre bare ren tilfældighed, men der er bestemt nogle spørgsmål, som du selv kan løse.

Den almindelige rute er for dig at fortsætte med din dag efter at have løst dette problem for dig selv og følelse fuldført. Dette forsømmer de mange udviklere, der stadig græder af smerte i at prøve at finde ud af, hvordan man løser det samme problem. I det væsentlige vil det bare tage dig et par minutter at komponere et anstændigt afsnit, der viser, hvordan problemet er løst, og det er det.

Hvis du bare tænker på de andre udviklere og efterlader et svar, når du allerede har fundet det ud, er der plantet et frø for at hjælpe dig med at vokse din online profil. Betal det frem, mens du går sammen. Gå ikke ind med det eneste formål bare at øge din troværdighed - andre udviklere har en tendens til at vide det straks, og du bliver bare bombarderet med downvotes.

Der er ingen dumme spørgsmål

Denne overskrift må ikke tages bogstaveligt. Men når det kommer til det, så længe spørgsmålene faktisk er gyldige, har samfundet en tendens til at reagere positivt.

En anden måde at opbygge din profil på er at stille ægte spørgsmål til samfundet. Dette er normalt en sværere rute at tage. Med alle de spørgsmål, der allerede er på forummet, er det ikke en nem opgave at stille et spørgsmål, hvor der ikke allerede er noget svar.

StackOverflow fungerer på en sådan måde, at spørgsmålene og svarene leveres af udviklerne selv, men privilegium tildeles dem, der så at sige har nået et vist antal idiosynkrasisk kredit. Udviklere, der har opnået dette privilegium, har det i deres bedste interesse at bevare spørgsmål af god kvalitet på webstedet. Så nybegynder, der kopierer og indsætter deres hjemmearbejde / opgaver på webstedet, kan let opdages, og disse spørgsmål nedtones uden at se dagens lys.

Her er den side, hvor jeg får gennemgå eksisterende spørgsmål / svar, hvis de virkelig er værd at blive offentliggjort. (Screenshot blev taget ved hjælp af min personlige konto)

Spørgsmål kan normalt opdeles i to kategorier, teoretiske og tekniske.

Teoretiske spørgsmål er pr. Definition spørgsmål, der ikke har konkrete svar, og derfor er disse underlagt udtalelsen om, hvem der vælger at svare. Teoretiske spørgsmål har en tendens til at have mulighed for at blive lukket af moderatorerne, da ingen virkelig ønsker at deltage i en online-debat i forummet.

Et godt eksempel ville være, hvilket programmeringssprog der skal bruges. Selvom dette er et gyldigt spørgsmål, er det underlagt udtalelsen fra den person, der svarer, da Java-udviklere helt sikkert vil svare Java, og så videre.

Som trøst får du stadig point for folk, der er nysgerrige efter at høre svarene, hvis der er nogle. Her er et af mine spørgsmål, der havde samlet mange synspunkter - omkring 29k synspunkter - og til gengæld fik et antal stemmer. Jeg skrev det for et par år tilbage, da jeg ikke rigtig kunne finde en solid sammenligning af at bruge Java Enterprise Edition-containere sammenlignet med at bruge webcontainere. Der var allerede en række dokumenter for Java EE Containere og Web Containere i løbet af den tid, men ingen handlede om at tackle forskellen på hver side om side.

Tekniske spørgsmål kræver på den anden side, at du lægger ned det, du allerede har prøvet, og alle nødvendige tekniske detaljer. Samfundet ved straks, om du bare prøver at finde et svar uden at udføre din ordentlige undersøgelse.

Et godt eksempel ville være dette tidligere spørgsmål, jeg stillede om optimering af en eller anden kode. Selvom jeg allerede havde haft et svar, ville jeg bare vide, om der var alternativer, en slags online kodevurdering, hvis du vil. Nedenfor er et eksempel på et godt teknisk spørgsmål, der består af en god titel, beskrivelse og alle de nitty-gritty detaljer.

Komponenter i et godt spørgsmål (Screenshot taget fra min personlige konto).

Ovenstående er et eksempel på et spørgsmål med god anatomi. Titlen skildrer nøjagtigt, hvad jeg prøver at finde ud af. Beskrivelsen indeholder detaljer om, hvad jeg prøver at opnå, og inkluderer også, hvad jeg allerede har prøvet. Et eksempelkode er korrekt formateret.

Så længe du har en god beskrivelse af, hvad du rent faktisk forsøger at finde ud af, og hvad du allerede har prøvet, er der en god chance for, at folk vil give dig et anstændigt svar og upvote spørgsmålet, mens de er der.

Selvom det at stille spørgsmål er en rute til at optjene flere point, anbefaler jeg ikke at spørge bare for det. En god grund til at gøre det er ægte interesse for bare temmelig meget at lære og bidrage til samfundet. At stille spørgsmål, som du ved, ikke er let tilgængelige online efterlader smulespor til den næste udvikler, der prøver at finde ud af det samme nøjagtige problem.

Svar, svar, svar

Jeg vil ikke dykke ned i for mange detaljer om at give et godt svar på teoretiske og tekniske spørgsmål, da de ligner deres art. I stedet for at give eksempler på, hvad du allerede har prøvet, giver du konkrete eksempler på det svar, du giver. Jeg vil bare efterlade eksempler her og her. Der er også andre nicher med hensyn til at give svar ud over de allerede nævnte teoretiske / tekniske kategorier.

“Det fungerer på min maskine” - hver udvikler i live

Hvis du er en udvikler eller blot har arbejdet med IT-afdelingen, har du sandsynligvis hørt den linje: “Det fungerer på min maskine”.

Operativsystem-specifikke spørgsmål er muligvis en af ​​de største underkategorier omkring. Der er omkring 50K kategorier / tags i StackOverflow, og MacOS alene har omkring 10k OS-specifikke relaterede spørgsmål, for ikke at nævne programmeringssprog + OS-specifikke spørgsmål.

Lad os sige, at din npm-installation fungerer i Linux, men ikke fungerer med MacOS. Det er allerede et knudepunkt og et OS-relateret spørgsmål. Forestil dig alle permutationer i alle sprog og OS-miljøer. Nogle gange smides endda IDE'er i blandingen! Ikke underligt, at der er millioner og millioner af spørgsmål, der stilles.

En anden niche er at give instruktioner med tredjepartsintegratorer. Vi har alle set det før - en god API med manglende dokumentation. Her er et godt spørgsmål om, hvordan man integrerer med Google for at sende e-mail ved hjælp af Node. Du skulle tro, at det ville være en ligefrem ændring, eller at det ville være veldokumenteret, ikke? Dette spørgsmål alene har 80K-visninger, hvilket betyder, at der var omkring 80K-udviklere, der ikke let regnede ud det på grundlag af standarddokumentation leveret af Node og Google - de måtte ty til at stille onlineforum.

Der er flere nicher i forummet, end jeg vil tælle. Med 26 millioner spørgsmål til stede er der helt sikkert nicher, der endnu ikke er opdaget og besvaret. Jeg har kun nævnt et par for at hjælpe dig med at komme i gang, og du behøver ikke engang at være så god som Jon Skeet for at begynde at bidrage til onlinesamfundet.

”Store værker udføres ikke af styrke, men ved udholdenhed” - Samuel Johnson

Som i enhver investering vil den ikke træde i kraft med det samme. Det kan tage måneder eller endda år at plante dine frø og efterlade svar. Men inden du ved det, har du allerede en solid tilstedeværelse i samfundet og alle frynsegoder, der følger med det.