De ce programatorii nu pot programul, savepearlharbor

După multe încercări și erori, am constatat că oamenii care luptă pentru cod, nu doar se luptă cu probleme majore sau chiar probleme minore (de exemplu, pentru a crea o punere în aplicare a listei legate). Ei se luptă cu probleme mici.

Așa că am decis să dezvolte întrebări care pot identifica acest tip de dezvoltare, și să vină cu clasa întrebări, pe care o numesc „Întrebări FizzBuzz», în onoarea de joc, în care copiii joacă de multe ori (sau sunt forțați să joace) în școlile din Marea Britanie. Un exemplu al problemei Fizz-Buzz este următoarea:

Scrieți un program care imprimă numerele de la 1 la 100. Dar, pentru multipli de trei «Fizz» valori în loc de numărul de mai multe cinci «Buzz». Pentru numere, ambele multipli de trei și cinci - «FizzBuzz».

Cei mai buni programatori ar trebui să poată să scrie o lucrare despre un program care face acest lucru pentru câteva minute. Vrei să știi ceva teribil? Cei mai mulți absolvenți de informatică nu se poate. De asemenea, am văzut că programatorii seniori autoproclamate a petrecut mai mult de 10-15 minute pentru a scrie decizia.

O mare parte surprinzător de candidați, chiar și care posedă un master și doctorat în informatică, eșuează în timpul unui interviu, atunci când a cerut pentru a efectua sarcini de programare de bază. De exemplu, am intervievat personal absolvenți care nu pot răspunde, „scrie o buclă care contează 1 - 10“ sau „Care este numărul de după F în hexazecimal?“ Mai puțin trivial, am intervievat mulți candidați care nu pot utiliza recursie pentru a rezolva reale probleme. Acestea sunt abilități de bază; oricine care nu are, probabil, nu suficient de programare.

Vorbind în numele de ingineri software care au nevoie pentru a interviu potențialilor angajați noi, pot spune cu încredere că suntem obosiți de a vorbi cu candidați care nu se pot programa modul lor dintr-o pungă de hârtie. Dacă se poate scrie cu succes o buclă care se execută 1 - 10 în fiecare limbă a CV-ului se poate face aritmetică simplă, fără un calculator și poate folosi recursie pentru a rezolva o problemă reală, sunteți deja în fața pachetului!

Între Reginald, Imran Dan și încep să vă faceți griji un pic. Sunt mai mult decât dispus să reducă restricțiile pentru dezvoltatorii de software tineri la începutul carierei sale. Toată lumea trebuie să înceapă undeva. Dar eu sunt îngrijorat și indignat de faptul că orice așa-numitul programator se va aplica pentru un loc de muncă, să nu fie în măsură să scrie programe simple. Aceasta palmă în fața tuturor celor care scrie software-ul pentru un trai.

O diferență semnificativă între cei care pot programa, iar cei care nu se pot programa. Este bine cunoscut. Am presupus că cei care aplică pentru un loc de muncă ca un programator, a traversat această prăpastie. Aparent, este presupunere rezonabilă. Aparent, stiluri FizzBuzz de screening are nevoie. că intervievatorii nu au petrecut timpul într-un interviu cu programatorii, care nu pot fi programate.

N-aș vrea să testeze intervievatorii au respins [FizzBuzz] ca fiind prea ușor. În experiența mea, într-adevăr uimitor cât de mulți candidați sunt incapabili de cele mai simple probleme de programare.

Este păcat că trebuie să faci controale la fel de mult preliminare, pentru a permite luxul de programatori intervievare, care pot de fapt de program. Ar fi amuzant dacă nu au fost atât de trist. Nu sunt un fan al certificării. dar am fost foarte surprins de faptul că Stiv Makkonnell a face ceva cu toate discuțiile lor de profesie programator adevărat.

Scrieți un program care se imprimă în consola numerele de la 1 la 100. Dar, pentru multipli de trei imprimare „ra“, în loc de numărul și pentru multipli de cinci imprimare „Kiss“. Pentru numerele care sunt multipli de ambele trei și cinci de imprimare „MissKiss“. Fiecare imprimare trebuie să fie asincron funcția de apel console.log cu o întârziere de 50ms.

articole similare