Bună!
În ultimii câțiva ani, am avut multe interacțiuni cu persoane care își încep cariera în IT. Întrebările și modul în care le pun mulți oameni sunt adesea asemănătoare, așa că am decis să îmi adun experiența și recomandările într-un singur loc.
Cu mulți ani în urmă, am citit o carte din 2004 scrisă de Eric Raymond, și întotdeauna am urmat-o fără ezitare în cariera mea. Este destul de voluminoasă și se axează mai ales pe administratori de sistem. Eu, însă, trebuie să ajut persoane care, în multe cazuri, nu au experiență în dezvoltare, să devină juniori și să își înceapă cariera.
Pentru cei care au devenit deja sau visează să devină dezvoltatori începători, le pot oferi următoarele recomandări:
- Studiați problema singuri
- Mai întâi comunicați obiectivul, apoi prezentați problema
- Scrieți corect și la obiect
- Adresați întrebări adecvate și împărtășiți soluția
- Respectați timpul altora
- Privind mai larg
Acum, să discutăm mai în detaliu.
Studiați problema singuri
Studiați un anumit limbaj de programare dintr-o carte sau dintr-un curs. Ați luat un fragment de cod, l-ați rulat, dar a dat o eroare pe care nu o înțelegeți. Dacă credeți cartea, ar trebui să funcționeze. Dar credeți propriile ochi — nu funcționează. Ce opțiuni aveți?
- Să concluzionați că nu veți deveni niciodată dezvoltator, pentru că întreaga lume este împotriva voastră, iar exemplele funcționale nu funcționează. Să renunțați la studiu;
- Să concluzionați că nu veți deveni niciodată dezvoltator, pentru că sunteți prea prost sau nu aveți acest dar. Să renunțați la studiu;
- Să începeți să întrebați toți cunoscuții care au legătură cu IT-ul, cerându-le să afle de ce nu funcționează. Să descoperiți multe lucruri noi despre voi înșivă, să vă supărați. Să renunțați la studiu;
Care este opțiunea corectă? Aceasta:
Să înțelegeți că nu sunteți unici (indiferent ce ar spune mama și bunica), iar lumea IT nu este atât de simplă pe cât se face apel când vă cheamă la cursuri și webinarii.
Realizarea că nu sunteți unici duce la conștientizarea faptului că problema voastră a fost întâlnită cu siguranță de zeci, sute, mii de oameni. Dacă sunteți dezvoltator începător, este ușor să observați că ați omis ceva, nu ați instalat sau nu ați configurat ceva. Iată un checklist pe care vă propun să-l urmați înainte de a înțelege că nu puteți rezolva problema singuri și aveți nevoie de ajutor:
- Asigurați-vă că întrebarea este unică și că nu există răspuns la ea pe internet
- Studiați cu atenție cauza problemei, nu efectul
- Evaluați posibile soluții pentru problemă, avantajele și dezavantajele acestora
- Gândiți-vă la alternative pentru a atinge obiectivul
- Reflectați asupra întrebărilor pe care vi le-ar putea adresa cineva și pregătiți răspunsuri din timp
Cu în primul rând punctul este simplu: dacă textul erorii este complet neclar pentru tine - copiază-l în Google și citește cu atenție informațiile de pe link-uri.
Al doilea: de exemplu, dacă codul tău s-a oprit cu eroarea „Nu pot conecta o bibliotecă externă”, problema nu este în codul tău. Problema este că nu ai instalat o bibliotecă necesară pe care vrei să o folosești. Așadar, trebuie să cauți cum să o instalezi, nu cum să repari codul tău.
Al treilea și al patrulea sunt foarte asemănătoare: Ce se întâmplă dacă problema este chiar în această bibliotecă și trebuie să caut alta? Ce se întâmplă dacă nu voi folosi deloc o bibliotecă externă și voi scrie propriul meu cod folosind instrumentele standard?
Al cincilea punctul ne conduce la următoarea parte: gândiți-vă la ce v-ar putea întreba persoana la care vă adresați și pregătiți răspunsurile.
Mai întâi comunicați obiectivul, apoi prezentați problema
Obiectivul este ceea ce doriți să realizați. De exemplu, să scrieți un cod care accesează internetul și salvează 10 imagini cu pisici amuzante. Problema este motivul pentru care vedeți o eroare în consolă, dar nu vedeți cele 10 pisici amuzante. Nu începeți întrebarea cu problemă. Începeți cu obiectivul, încheiați cu problema. Dacă persoana la care cereți ajutor este un dezvoltator experimentat, el poate oferi o soluție mai simplă și elegantă pentru problemă. Dacă ați ales deja cea mai simplă și elegantă soluție - el va înțelege clar ce și de ce doriți să faceți, iar asta va accelera obținerea unui răspuns.
O întrebare bună:
Vreau să salvez 10 pisici amuzante în fiecare zi pentru a râde și a-mi îmbunătăți viața. Pentru asta am scris acest cod: […]. Mă aștept ca el să se conecteze la FTP server și să încarce imagini noi de acolo. Totuși, când l-am rulat, am văzut această eroare: […] Deși pot accesa acest server prin browser.
Răspuns rapid:
Ai greșit, ai luat această bibliotecă, care nu mai este susținută de mult timp. Mai bine folosește asta - eu personal o folosesc pentru a descărca imagini cu pisici!
O întrebare slabă:
Salut, codul meu a generat această eroare […], nu știi ce ar putea fi problema?
Răspuns evident:
Salut. Nu, nu știu.
Scrieți corect și la obiect
Nu trebuie să îți torni gândurile într-o avalanșă asupra unei persoane. Persoana căreia te-ai adresat pentru soluționarea problemei este ocupată cu propriile sale lucruri. Fă-ți mai clară problema și ce vrei de la ea. Dacă ai dificultăți cu scrierea corectă, folosește servicii online pentru verificarea ortografiei și punctuației. Poți elimina zgura din mesaj fără servicii online. Nu te lungi în explicații, nu începe de la depărtare. Scrie concis, informativ și direct. Oferă exemple.
Rău:
— Salut, cum au fost weekendul))) Eu încerc să finalizez proiectul, dar nu merge, mi se întrerupe dintr-un motiv oarecare O_о deși pare că am făcut totul corect, vino te rog))) E ceva ciudat în consolă aici((( Am încercat deja totul și nimic nu funcționează, aaaa(
Bine:
— Salut, încerc să pornesc proiectul, dar am o problemă. Se oprește imediat după comanda docker-compose up, aici e log-ul de pornire și eroarea: […] Poți să mă ghidezi cum să o rezolv?
Adresați întrebări adecvate și împărtășiți soluția
Nu este recomandat să pui o întrebare prin mesaj privat unei persoane specifice, cu excepția cazului în care ți s-a spus că ar trebui să întrebi exact pe ea. Mai bine scrie unui grup de oameni pentru că:
- Fiecare este ocupat cu problemele sale. Șansa ca cineva din chat-ul public sau de pe forum să îți acorde timp este mai mare.
- Șansa ca cineva din chat-ul public să știe cum să te ajute este mai mare.
- Le oferi altora oportunitatea de a găsi aceeași întrebare și răspunsul mai târziu.
Uită-te la ultimul punct. Ai învățat deja că problemele trebuie abordate pe cont propriu? Ai folosit deja căutarea prin chat/forum/grup și nu ai găsit menționată problema ta? Bine, atunci întreabă.
Pe de altă parte, nu trebuie să-i deranjezi pe oameni fără motiv. Exclude din lista destinatari pe toți cei care nu pot să te ajute. Cu cât mai multe mesaje primește o persoană, cu atât mai puțin șanse are să le citească pe toate. Nu crea oamenilor obiceiul de a dezactiva notificările sau de a ignora pur și simplu mesajele.
Cu siguranță, experiența dumneavoastră poate fi utilă altcuiva. Economisiți timp pentru dumneavoastră și pentru ceilalți, postând un răspuns sau o soluție. Următorul începător, dacă este deja la curent cu ceea ce discutăm aici, nu va mai deranja pe nimeni — va găsi soluția dumneavoastră prin căutare. De ce spun că puteți economisi timp pentru dumneavoastră? Pentru că s-ar putea să vă confruntați cu această problemă peste un an și nu veți mai aminti cum ați rezolvat-o. Căutarea va salva din nou.
Respectați timpul altora
Maximizați comoditatea vieții pentru cei de la care cereți ajutor.
Asigurați-vă că link-urile pe care le trimiteți funcționează. Încercați să le deschideți în modul incognito. Dacă link-ul necesită autentificare, veți vedea o eroare de acces. De exemplu, dacă ați încărcat codul într-un repository privat sau ați trimis un link de pe Google Drive la care accesul este doar pentru dumneavoastră — persoana va vedea o eroare și va trebui să își piardă timpul pentru a vă informa despre aceasta, și apoi să aștepte până când îi veți configura accesul. Faceți astfel încât persoana să vadă imediat despre ce vorbiți.
Nu vă așteptați ca cineva să vrea să-și amintească despre ceea ce ați întrebat acum două zile. Trimiteți informațiile din nou, reamintiți contextul. Nimănui nu-i place să caute în corespondență ceea ce aveți deja la îndemână. Dacă nu aveți chef să multiplicați informațiile pentru ca oamenii să nu-și piardă timpul căutând, înseamnă că nu aveți nevoie de ajutor.
Nu scoateți din context. Dacă trimiteți un log cu o eroare, este evident că trebuie să includeți nu doar eroarea în sine, ci și codul care a generat-o, cu un exemplu al situației în care s-a rupt.
Dacă există un proces stabilit pentru a rezolva problema dumneavoastră, urmați-l. Nu are sens să inventați bicicleta, dacă există deja un articol cu un HowTo pas cu pas.
Nu încercați să obțineți răspunsul aceleași persoane pe diferite canale (slack, skype, telegram) simultan — persoanei nu-i va plăcea.
Nu trimiteți același mesaj mai multor oameni simultan, în speranța că cineva va răspunde. Toți acești oameni ar putea să vă ofere un răspuns (cel mai probabil, va fi același), dar toți se vor distrage de la treburile lor pentru o vreme. Folosiți chat-uri de grup.
Privind mai larg
Tot ceea ce am discutat aici este aplicabil și în afara sferei IT. Urmează aceste reguli în supermarket, la un service auto, în vacanțe în alte țări, în comunicarea cu prietenii și rudele. Arată-le oamenilor că apreciezi timpul lor și că nu vrei să îi faci să se simtă neplăcut din motive triviale. Demonstrează că ai investit efort și timp pentru a rezolva problema pe cont propriu, dar că nu ai reușit și ai, într-adevăr, nevoie de ajutor. Ca apreciere, oamenii vor fi înțelegători față de problemele tale și te vor ajuta să le rezolvi.
Sursa: habr.com
