Ciao!
Negli ultimi due anni ho lavorato molto con persone che stanno appena iniziando la loro carriera nell'IT. Poiché sia le domande che il modo in cui vengono poste da molte persone sono simili, ho deciso di raccogliere la mia esperienza e le mie raccomandazioni in un unico posto.
Molto tempo fa ho letto del 2004 scritto da Eric Raymond, e nella mia carriera l'ho sempre seguito in modo scrupoloso. È piuttosto corposa e si concentra maggiormente sugli amministratori di sistema. Io invece devo aiutare persone che spesso non hanno esperienza nello sviluppo a diventare junior e iniziare la loro carriera.
A quelli che sono già diventati o stanno solo sognando di diventare sviluppatori principianti, posso dare le seguenti raccomandazioni:
- Studiate autonomamente il problema
- Innanzitutto comunicate l'obiettivo, poi esplicitate il problema
- Scrivete correttamente e in modo pertinente
- Fate domande pertinenti e condividete la soluzione
- Rispetto per il tempo degli altri
- Guardate oltre
E ora nel dettaglio.
Studiate autonomamente il problema
Stai studiando un linguaggio di programmazione attraverso un libro o un corso. Hai preso un esempio di codice, l'hai eseguito, ma si è bloccato con un errore incomprensibile per te. Se credi al libro, dovrebbe funzionare. Ma i tuoi occhi ti dicono che non funziona. Quali sono le opzioni?
- Decidere che non diventerai mai uno sviluppatore, perché il mondo è contro di te, e anche gli esempi funzionanti non funzionano. Abbandonare lo studio;
- Decidere che non diventerai mai uno sviluppatore, perché sei troppo stupido o non ce la fai. Abbandonare lo studio;
- Iniziare a chiedere a tutti gli amici, anche quelli che sono in qualche modo legati all'IT, di capire perché non funziona nulla. Scoprire molte cose su di sé, offendersi. Abbandonare lo studio;
Qual è l'opzione giusta? Ecco qui:
Capire che non sei unico (qualunque cosa possano dire mamma e nonna), e che il mondo dell'IT non è così semplice come viene raccontato quando ti invitano a corsi e webinar.
Capire che non sei unico porta a renderti conto che il tuo problema è probabilmente già stato affrontato da decine, centinaia, migliaia di persone. Se sei uno sviluppatore neofita, potresti aver semplicemente trascurato qualcosa, non aver installato o configurato correttamente. Ecco una checklist che ti consiglio di seguire prima di renderti conto che non puoi risolvere il problema da solo e hai bisogno di aiuto:
- Assicurati che la domanda sia unica e che non ci sia risposta su internet
- Studiare attentamente la causa del problema, non la conseguenza
- Valutare le possibili soluzioni al problema, i loro pro e contro
- Pensare a opzioni alternative per raggiungere l'obiettivo
- Pensare a cosa potrebbero chiedervi e preparare risposte in anticipo
C prima il punto è piuttosto semplice: se il testo dell'errore non vi è chiaro, copiatelo su Google e leggete attentamente i testi sui link.
Secondo: per esempio, se il vostro codice è crollato con l'errore "Impossibile collegarsi a una libreria esterna", non è colpa del vostro codice. È che non avete installato una libreria che volete utilizzare. Dovete quindi cercare come installarla, non come riparare il vostro codice.
Terzo e quarto sono infatti molto simili: E se il problema fosse proprio in quella libreria, e dovessi semplicemente cercare un'altra soluzione? E se non usassi affatto librerie esterne, ma scrivessi il mio codice utilizzando strumenti standard?
Quinto questo punto ci porta alla parte successiva: pensate a cosa potrebbe chiedervi la persona a cui vi rivolgete e tenete pronte le risposte.
Innanzitutto comunicate l'obiettivo, poi esplicitate il problema
L'obiettivo è ciò che volevate fare. Ad esempio, scrivere un codice che vada su internet e salvi 10 immagini di gatti divertenti. Il problema è il motivo per cui vedete un errore nella console, ma non vedete 10 gatti divertenti. Non iniziate la vostra domanda con il problema. Iniziate con l'obiettivo, concludete con il problema. Se la persona a cui chiedete aiuto è uno sviluppatore esperto e sa molto, sicuramente potrà offrirvi una soluzione più semplice ed elegante al vostro problema. Se avete già scelto la soluzione più semplice e elegante, capirà esattamente cosa e perché volete fare, e questo accelererà la ricezione della risposta.
Bella domanda:
Voglio salvare 10 gatti divertenti ogni giorno, per ridere e allungarmi la vita. Per questo ho scritto un codice del genere: […]. Mi aspetto che si colleghi a FTP server e carichi nuove immagini da lì. Tuttavia, quando l'ho eseguito, ho visto questo errore: […] Anche se tramite browser riesco ad accedere a quel server.
Risposta veloce:
Hai scelto male questa libreria, non viene più supportata né sviluppata da tempo. Usa questa invece — io stesso scarico le immagini di gatti con essa!
Brutta domanda:
Ciao, il mio codice ha restituito questo errore […], sai che potrebbe essere il problema?
Risposta ovvia:
Ciao. No, non lo so.
Scrivete correttamente e in modo pertinente
Non è necessario riversare un flusso di pensieri su una persona. La persona a cui ti sei rivolto per risolvere un problema è occupata con le sue cose. Fai in modo che comprenda rapidamente qual è il tuo problema e cosa desideri da lui. Se hai difficoltà con la correttezza del testo, utilizza i servizi online di verifica ortografica e della punteggiatura. Puoi eliminare il superfluo dal messaggio anche senza servizi online. Non essere prolisso, non iniziare da lontano. Scrivi in modo conciso, chiaro e pertinente. Fornisci degli esempi.
Male:
— Ciao, come sono andati i weekend))) qui sto cercando di raccogliere il progetto in modo più conciso ma non funziona, non so perché O_o anche se ho fatto tutto come si deve, puoi venire per favore))))) qui c'è qualcosa di incomprensibile nella console((( ho già provato di tutto e niente funziona, aaaa(
Bene:
— Ciao, sto cercando di avviare un progetto, ma ho riscontrato un problema. Si ferma subito dopo il comando docker-compose up, eccolo il log di avvio e l'errore: […] Puoi dirmi come risolvere?
Fate domande pertinenti e condividete la soluzione
Non dovresti inviare la tua domanda come messaggio privato a una persona specifica, a meno che non ti sia stato detto che dovresti chiedere a lui. È meglio scrivere a un gruppo di persone, perché:
- Ognuno è occupato a risolvere i propri problemi. La probabilità che qualcuno nella chat generale o nel forum possa dedicarti del tempo è maggiore.
- La probabilità che qualcuno nella chat generale sappia come aiutarti è maggiore.
- Lasci la possibilità agli altri di trovare la stessa domanda e risposta in seguito.
Guarda l'ultimo punto. Hai già imparato che è importante cercare di risolvere i problemi da soli? Hai già utilizzato la ricerca nella chat/nel forum/nella gruppo, ma non hai trovato menzione del tuo problema? Va bene, allora chiedi.
D'altra parte, non è opportuno disturbare le persone senza motivo. Se possibile, escludi dalla lista dei destinatari tutti coloro che non possono aiutarti. Più messaggi riceve una persona, minori sono le probabilità che riesca a leggerli tutti. Non abituare le persone a disattivare le notifiche o a ignorare semplicemente i messaggi.
Sicuramente, la tua esperienza può essere utile a qualcun altro. Risparmia tempo a te stesso e agli altri pubblicando una risposta o una soluzione. Il prossimo neofita, se già conosce ciò di cui stiamo parlando, non disturberà nessuno — troverà la tua soluzione cercando. Perché dico che puoi risparmiare tempo a te stesso? Perché potresti affrontare questo problema tra un anno e non ricordare come lo hai risolto. La ricerca ti salverà di nuovo.
Rispetto per il tempo degli altri
Semplifica al massimo la vita delle persone a cui chiedi aiuto.
Assicurati che i link che invii funzionino. Prova ad aprirli in modalità in incognito. Se per il link è necessaria l'autenticazione, vedrai un errore di accesso. Ad esempio, se hai caricato codice in un repository privato o hai inviato un link a Google Drive al quale hai accesso solo tu — la persona vedrà un errore e dovrà perdere tempo per informarti, aspettando poi che tu imposti l'accesso. Fai in modo che la persona veda subito ciò di cui stai parlando.
Non aspettarti che qualcuno voglia ricordare di cosa stavi chiedendo due giorni fa. Invia nuovamente le informazioni, ricorda il contesto. A nessuno piace cercare nella corrispondenza qualcosa che hai a portata di mano. Se sei troppo pigro per ripetere le informazioni affinché le persone non perdano tempo a cercarle, significa che non hai bisogno di aiuto.
Non strappare dal contesto. Se invii un log con un errore, è ovvio che devi includere non solo l'errore stesso, ma anche il codice che lo ha causato, con un esempio di quello su cui è andato in crash.
Se per risolvere il tuo problema esiste un processo stabilito, seguilo. Non ha senso reinventare la ruota se esiste già un articolo con un procedimento passo-passo.
Non cercare di ottenere la risposta da una persona attraverso diversi canali (scrivere su Slack, Skype, Telegram) contemporaneamente — non sarà piacevole per la persona.
Non è necessario inviare lo stesso messaggio a più persone, sperando che almeno qualcuno ti risponda. Tutte queste persone possono darti una risposta (probabilmente sarà la stessa), ma tutte si distrarranno dai loro compiti per un po'. Usa le chat di gruppo.
Guardate oltre
Tutto ciò di cui abbiamo parlato qui è applicabile anche al di là del settore IT. Segui queste regole al supermercato, in un'officina, durante una vacanza in un altro paese, o nella comunicazione con amici e familiari. Mostra alle persone che apprezzi il loro tempo e che non vuoi affaticarli per cose insignificanti. Dimostra che hai dedicato energia e tempo a risolvere il problema da solo, ma che non ci sei riuscito e hai davvero bisogno di aiuto. In cambio, le persone saranno comprensive riguardo ai tuoi problemi e ti aiuteranno a risolverli.
Fonte: habr.com
