Oor die rol van toetstake in die lewe van 'n ontwikkelaar

Hoeveel tegniese onderhoude het jy in jou lewe gehad?

Oor die afgelope vyf jaar het ek 35 tegniese onderhoude van elke denkbare tipe en spesifisiteit bygewoon – van Kazakh-startups vir die gesamentlike aankoop van vleis vir die winter tot Duitse en Amerikaanse fintech-dienste en banke; met 'n fokus op programmering, aflewering en bestuur; afgeleë en in die kantoor; beperk en onbeperk in tyd; stresvol en ontspanne, in verskillende tale.

Dit, tesame met die ~20 onderhoude wat ek self as werkgewer gevoer het - 'n voldoende aantal vir my om die koning van onderhoude te word om die volgende waarneming (aanvanklik heeltemal onvoor die hand liggend) te maak en my daarin te vestig: Ek is oortuig daarvan dat in 'n groot deel danksy soveel onderhoude begin dit na marginale gewoonte lyk, ek het my stapel op 'n professionele vlak bestudeer en 'n mededingende spesialis geword, ten spyte van die feit dat ek reeds vir 10 jaar in webontwikkeling gewerk het.

Hierdie artikel is gerig aan programmeerders wat aan die begin van hul reis is en nog nie die diepte van hul kennis uitgeput het nie. Daarin wil ek uitbrei oor die tesis oor die kolossale opvoedkundige voordele van toetstake en tegniese vrae wat in onderhoude gevra word – en almal nooi na my nuutgeskrewe telegrambot AktualiseerBot, waar jy volgens my plan ten minste elke dag 'n tegniese onderhoud kan hê totdat hulle eindig. En sodat hulle nie eindig nie, kan jy ook 'n interessante tegniese taak, vraag of nuttige/prettige situasie deel wat tydens 'n onderhoud ervaar is.

Ek sal jou meer oor die bot hieronder vertel, kom ons kyk eers uit hoekom dit so belangrik is om die antwoorde op hierdie tegniese vrae en take te ken en te verstaan, selfs al het jy al jare lank vryskutprojekte suksesvol bedryf.

Waarom laat die kwaliteit van ons fundamentele kennis veel te wense oor?

Tegniese onderhoude, as jy nog nie die koning van onderhoude geword het nie, is 'n ernstige stres vir die liggaam, net soos die soeke na 'n werk in die algemeen - of jy nou 'n beginnerspesialis, 'n skakelaar of 'n ontwikkelaar is wat in een gewerk het. plek vir 'n lang tyd (en in ons tyd kan "lank" as 'n jaar beskou word).

In baie onderhoude is daar 'n menslike faktor wat hierdie stres vererger. Jou onderhoudvoerder is dalk nie Alena Vladimirskaya nie, maar 'n gewone programmeerder-soos-jy-vind, van wie dit moeilik is om voldoende take en hul evaluering te verwag, of 'n hardcore spanleier wat vir die oomblik sal wag om al sy erns in sy oë op jou, vra die vraag: Wat is vir jou rats!?

Op 'n dag, sonder om die nodige, maar, soos u verstaan, onvoorspelbare antwoord op hierdie vraag te gee, het ek sonder 'n aanbod gelaat, waaroor ek ongelooflik bly was.

Deur hierdie stres en onnodige bewegings in die algemeen te probeer vermy, distansieer ons ons nie net van die luide blootlegging van ons onkunde oor sommige basiese kenmerke van die taal nie, maar ook om hierdie onkunde ten minste 'n bietjie te verminder.

Die probleem is dat daar in die praktyk min plekke is waar ons hierdie klas probleme kan kry.
Enige ontwikkelaar wat al op verskeie plekke moes werk, sal bevestig dat die fundamentele of kreatiewe probleme wat in onderhoude gestel word, selde iets te doen het met waarmee 'n programmeerder in die werklike lewe te doen het - geen rekursies, grafieke en asinchroniese hysbakbeheerstelsels op die planeet met negatiewe swaartekrag in 'n ander arm van die sterrestelsel. Ongelukkig.

Met betrekking tot my inheemse JavaScript is daar 'n goeie voorbeeld - as React.JS nie verskyn het nie, sou 98% van JavaScript-programmeerders suksesvol voortgaan om te leef in salige onkunde van wat bind is - meer as 20 jaar na sy verskyning - en sou voortgaan om om verward te wees, vrae daaroor te ontvang tydens onderhoude, en slegs diegene wat al hierdie hoogs abstrakte biblioteke, raamwerke en modules uitvind, sal voortgaan om daarmee te werk. Vandag, danksy die reaksie, is hierdie getal verminder tot wat soos 97% voel.

Dit is duidelik dat, aangesien die "isolasie van die werklikheid" van hierdie take, baie ontwikkelaars dit ignoreer of tyd mors om hulself daarin te verdiep - en gaan voort met hul daaglikse roetine, dit wil sê, figuurlik gesproke, stap deur die mynveld van ontwikkeling vir produksie, nie net sonder 'n mynverklikker, maar ook sonder om te weet dat hulle in 'n mynveld is.

Wat is die gevolge van 'n gebrek aan fundamentele kennis van 'n taal?

Die antwoord op hierdie vraag lyk banaal, maar om een ​​of ander rede is dit die menslike natuur om altyd die oplossing daarvan in die verste hoek te druk - en dit speel 'n hartseer rol in die lewens van junior en middel programmeerders, wat hul pad na die hoogtes (en dieptes verleng) ) van taalkennis met 'n paar jaar jaar.

Die toepassingskode wat raamwerke en biblioteke gebruik waaraan hulle elke dag gewoond is om te skryf, kan nie as betroubaar beskou word as hulle dit skryf sonder voldoende begrip van die verskillende aspekte van die uitvoering daarvan nie. 'n Goeie illustrasie hiervan uit die wêreld van JavaScript is die lot van die JQuery-biblioteek, wat eens die enjin van vooruitgang was en vandag, synde 'n self-ingeslote kennisveld, geskei van die res van die taal, sy natuurlike plek inneem in die mark - semi-professionele skrifte haastig geskryf en werk soos nodig as 'n geskenk aan dieselfde vinnige uitleg op bootstrap van goedkoop vryskutters.

Die toekoms van projekte wat met so 'n onverantwoordelike benadering ontwikkel is, al is dit uit onkunde, is prosaïes en van korte duur: aansienlike verliese aan tyd uit die bloute, mislukkings, finansiële en reputasieverliese en as gevolg daarvan 'n afname in entoesiasme vir voortgesette samewerking.

Aan die ander kant, vir 'n persoon wat die pad van 'n programmeerder gekies het, kan min vergelyk word met die plesier om te verstaan ​​wat hy doen. Met begrip dat hy, soos Baron Munchausen, te perd deur 'n mynveld ploeter. Nodeloos om te sê, 'n ordentlike werkgewer kan duidelik sien hoe mense roekeloos deur 'n mynveld stap en mense wat vasgevries is in besluiteloosheid om 'n tree te gee in 'n situasie waar hulle kan hardloop en spring sonder om aan enigiets te dink?

AktualiseerBot

Nadat ek die voordele van onderhoude gesien het, en ook besef het dat dit nie heeltemal eties is om na leë onderhoude te gaan nie, het ek gedink dit sou wonderlik wees om 'n bot te skep waar 'n beginner of 'n ontwikkelaar wat na 'n ander taal oorplant, kan deelneem aan opvoedkundige opleiding sonder om regte onderhoude tot daardie mate , waarin dit met my gebeur het. En onthou hoe programmeerders daarvan hou om probleme te bespreek en te vergelyk wat hulle moes oplos - veral as dit iets nie-onbeduidend was - het ek besef dat alles pas, alle twyfel verwerp en voila.

Die bot het tans 3 eenvoudige funksies:

  • Intekening op 'n bepaalde taal/raamwerk om nuwe take daarvoor te ontvang. Jy teken in en soos take aankom, ontvang jy dit in die daaglikse nuusbrief
  • Publiseer 'n taak of toetstaak - In my boek sê hulle om te deel is omgee
  • 'n Uitstekende naamgenerator waarmee jy die optimale handtekening kan kies vir die teks van die taak wat jy publiseer, insluitend vroulike woordeboeke, nie sonder feministe nie

Tans is die volgende tale beskikbaar om van te kies: JavaScript, Java, Python, PHP, MySQL. Die keuse is ietwat beperk as gevolg van die perke van my begrip. Ek hoop om by hierdie lys te voeg met die hulp van die habra-gemeenskap.

Die bot word in 'n suiwer rock and roll-formaat bekendgestel; betaling vir enigiets word nie verwag nie.
Jy kan daarheen gaan deur hierdie skakel te gebruik: AktualiseerBot

Kortliks oor tegniese implementering

Hierdie bot is een van verskeie klein projekte waar ek die eerste publieke weergawe van my oopbron-miniraamwerk bring vir die ontwikkeling van bots met 'n komplekse struktuur, met liefde genaamd Hobot en beskikbaar in NPM vir hardcore mense.

Die raamwerk is gebou op die basis van Telegraf.JS en TypeScript, sy nul-nul-eerste weergawe, toegerus met 'n voorbeeld van gebruik, kan besigtig word by github en probeer dit dadelik. Binnekort sal ek weergawe 0.0.2 oplaai, uitgebrei en gekam vir 'n persoon van buite, en sal 'n aparte artikel daaraan (die stam) wy. Ek sal bly wees as dit vir iemand so relevant blyk te wees soos dit vir my is.

So, hoeveel onderhoude moes jy bywoon?
Ek is seker jy het iets om te vertel!

Bron: will.com

Voeg 'n opmerking