199 av 200 programmerare har inga programmeringskunskaper ... spelar det verkligen någon roll?

För nästan 10 år sedan skrev Jeff Atwood en artikel Varför kan inte programmerare ... programmera? där han konstaterade att 199 av 200 sökande till varje programmeringsjobb inte har några programmeringskunskaper och inte kan skriva någon kod alls. Artikeln skapade mycket uppmärksamhet på Internet. Det var ett ganska chockerande avslöjande för programmeringsvärlden. Många av dem accepterade inte att andelen människor som bara låtsas vara programmerare var så hög. Vi kan alla hålla med om att vi sedan dess har bevittnat en enorm boom på IT-marknaden. Behovet av programmerare är större än någonsin, så har något förändrats?
Sedan 2007 har antalet internetanvändare mer än fördubblats och antalet webbplatser på internet har ökat åtta gånger. Många företag har insett att de inte letar efter vanliga programmerare, utan efter specialister inom sitt område med utmärkta programmeringskunskaper, ingenjörer som verkligen löser problem och hittar de bästa lösningarna. Det räcker inte längre att bara veta hur man kodar. I en av Davids Saintloth-artiklar "Ingenjörer kontra programmerare," Han påpekar skillnaden mellan dessa två typer av människor. IT-världen är en av de få platser där en enda erfaren programmerare kan lösa ett problem som ett team på tio eller till och med hundra genomsnittliga programmerare inte skulle kunna hitta lösningen på på en miljon år! När man tänker på det så här söker vi inte längre efter någon som kan ett visst programmeringsspråk. Vi letar nu efter kandidater som vet hur man använder och tillämpar sina kunskaper i verkliga projekt.
Vad jag vill påpeka är att det inte längre spelar någon roll hur många människor som kan eller inte kan programmera, det viktiga är om man kan hitta en nål i en höstack. Med andra ord: en person som kan sätta ditt företag på rätt spår.
Börja med en bra intervjuprocess som identifierar programmeringskompetens.
Jag säger inte att 99% av de personer som söker en IT-tjänst inte kan skriva en enda kodrad. Vad som däremot säkert är sant är att de flesta kandidater inte lämpar sig för något som överstiger en instegsbefattning. Jag tror att vi alla kan hålla med om att vi under rekryteringsprocessen avvisar många personer med genomsnittliga meritförteckningar, men med imponerande programmeringskunskaper. Är det inte den typen av människor som vi letar efter?!? De är som rådiamanter som ännu inte har upptäckts av något företag.
Ett problem är att du kan få hundratals CV:n för varje tjänst. Det är omöjligt att intervjua alla eller ens de flesta av de sökande som ansöker. Du måste granska deras CV:n snabbt för att välja ut de mest lovande.
Okej, men vem ska intervjua de kandidater som klarade sig igenom urvalsprocessen? Du behöver någon som vet vad de pratar om, och förmodligen måste du ta bort en av dina ledande programmerare från deras arbete för att intervjua kandidaterna. De flesta programmerare som jag känner klagar på denna del av arbetet eftersom de då inte får ta del av det ansvar som de anställdes för. När detta händer försöker personalavdelningen minimera antalet intervjuer där en programmeringsspecialist behöver vara närvarande. På så sätt överlever endast kandidater med det starkaste CV:t och det är nästan omöjligt att hitta potentiella stigande stjärnor som är undervärderade på marknaden. Japp, om du inte har en obegränsad budget för att anställa som Google eller Facebook är det dessa personer du letar efter. Men om du inte stämmer av din rekryteringsprocess kommer de att försvinna bland alla andra kandidater.
Är det ens möjligt att hitta diamanter bland hundratals ansökningar?
För inte så länge sedan stötte jag på en Max Howell tweet om hur han var ganska frustrerad över Googles rekryteringsprocess. Denna tweet blev viral.
Problemet är att du inte vill anställa programmerare eller ingenjörer genom att se om de har memorerat hur man inverterar ett binärt träd eller genom att ställa andra strikt akademiska frågor. Kom igen ... vilken programmerare inverterar ett binärt träd på en whiteboard som en del av sitt arbete?!? I vardagliga arbetssituationer skulle du om du hade ett sådant här problem förmodligen googla lösningen eller använda dina andra resurser. Detta är en typ av färdighet som du bör leta efter.
Om du vill testa programmerare under anställningsprocessen är det därför bättre att testa dem i deras naturliga miljö genom att ge dem en öppen tentamen, utan en massa åskådare som bevakar varje steg de tar. På så sätt får du se hur de hanterar verkliga problem.
Dela inlägg