Ciao!
Negli ultimi due anni ho lavorato molto con persone che stanno appena iniziando la loro carriera nell'IT. Poiché le domande e il modo di porle sono simili per molti, ho deciso di raccogliere la mia esperienza e le mie raccomandazioni in un unico posto.
Tempo fa ho letto un'opera del 2004 di Eric Raymond, e l'ho sempre seguita con rigore nella mia carriera. È abbastanza ampia ed è più orientata per gli amministratori di sistema. Tuttavia, mi trovo spesso a dover aiutare persone senza esperienza nello sviluppo a diventare junior e iniziare la loro carriera.
A chi è già diventato o sogna di diventare un giovane sviluppatore, posso dare i seguenti consigli:
- Studiate il problema in modo autonomo
- Comunicare prima l'obiettivo, poi esporre il problema
- Scrivete in modo chiaro e conciso
- Fate domande pertinenti e condividete le soluzioni
- Rispettate il tempo degli altri
- Guardate oltre
E ora, in dettaglio.
Studiate il problema in modo autonomo
State studiando un linguaggio di programmazione tramite un libro o un corso. Avete preso un esempio di codice, lo avete eseguito, ma si è bloccato con un errore che non capite. Se credete al libro, dovrebbe funzionare. Ma i vostri occhi vi dicono che non funziona. Quali sono le opzioni?
- Decidere che non diventerai mai uno sviluppatore, perché il mondo intero è contro di te e persino gli esempi funzionanti non funzionano. Abbandonare l'apprendimento;
- Decidere che non diventerai mai uno sviluppatore perché sei troppo stupido o non sei portato. Abbandonare l'apprendimento;
- Iniziare a chiedere a tutti i conoscenti legati all'IT di scoprire perché non funziona. Scoprire molte cose nuove su di te, offendersi. Abbandonare l'apprendimento;
Qual è la risposta giusta? Eccola qui:
Comprendere che non sei unico (nonostante quello che dicono mamma e nonna), e che il mondo IT non è così semplice come viene presentato quando ti invitano ai corsi e ai webinar.
Realizzare che non sei unico porta alla consapevolezza che il tuo problema è sicuramente già stato affrontato da decine, centinaia, persino migliaia di persone. Se sei un principiante, potresti facilmente non aver notato qualcosa, non aver installato o configurato. Ecco un checklist che ti consiglio di seguire prima di capire che non puoi risolvere il problema da solo e hai bisogno di aiuto:
- Assicurati che la domanda sia unica e che non ci sia una risposta su internet
- Studiare attentamente la causa del problema, non solo la conseguenza
- Valutare le possibili soluzioni al problema, i loro pro e contro
- Considerare alternative per raggiungere l'obiettivo
- Pensare a cosa potrebbero chiederti e preparare risposte in anticipo
C primo il primo punto è semplice: se il messaggio di errore non ti è chiaro, copialo su Google e leggi attentamente i testi nei risultati.
Secondo: ad esempio, se il tuo codice fallisce con l'errore “Impossibile collegare una libreria esterna”, il problema non è nel tuo codice. Il problema è che non hai installato qualche libreria che desideri utilizzare. Quindi devi cercare come installarla, non come correggere il tuo codice.
Terzo e un quarto molto simile: E se il problema sia proprio in quella libreria e devo cercarne un'altra? E se non usassi affatto una libreria esterna, ma scrivessi il mio codice utilizzando strumenti standard?
Quinto il punto ci porta alla parte successiva: pensa a cosa potrebbe chiederti la persona a cui ti rivolgi e tieni pronte le risposte.
Comunicare prima l'obiettivo, poi esporre il problema
L'obiettivo è ciò che volevi fare. Ad esempio, scrivere un codice che si connetta a Internet e salvi 10 immagini di gattini divertenti. Il problema è il motivo per cui vedi un errore nella console, ma non trovi i 10 gattini divertenti. Non iniziare la tua domanda con il problema. Inizia con l'obiettivo, concludi con il problema. Se la persona a cui ti rivolgi per aiuto è un sviluppatore esperto e sa molto, sicuramente potrà offrirti una soluzione più semplice ed elegante al problema. Se hai già scelto la soluzione più semplice ed elegante, capirà chiaramente cosa e perché vuoi fare, e ciò accelererà il ricevimento della risposta.
Una buona domanda:
Voglio salvare 10 gattini divertenti ogni giorno, per sorridere e prolungare la mia vita. Per questo ho scritto questo codice: […]. Mi aspetto che si connetta a FTP server e carichi lì nuove immagini. Tuttavia, quando l'ho eseguito, ho visto questo errore: […] Anche se attraverso il browser posso accedere a quel server.
Risposta rapida:
Hai scelto male questa libreria, non è più supportata e sviluppata da tempo. Meglio usare quest'altra: io stesso scarico immagini di gatti con essa!
Una cattiva domanda:
Ciao, il mio codice ha restituito un errore del genere […], sai di cosa si tratta?
Risposta evidente:
Ciao. No, non lo so.
Scrivete in modo chiaro e conciso
Non è necessario sommergere qualcuno con un fiume di pensieri. La persona a cui ti sei rivolto per risolvere il problema è impegnata con le sue cose. Fai in modo che capisca rapidamente qual è il tuo problema e cosa vuoi da lui. Se hai problemi di scrittura — utilizza servizi online di controllo ortografico e di punteggiatura. Puoi eliminare il superfluo dal messaggio anche senza servizi online. Non dilungarti, non partire da lontano. Scrivi in modo conciso, chiaro e diretto. Fornisci esempi.
Male:
— Ciao, come sono andati i tuoi weekend))) Sto cercando di raccogliere il progetto ma non funziona, cade per qualche motivo O_ó anche se sembra che abbia fatto tutto come si deve, per favore vieni qui))))) Qui in console ho qualcosa di incomprensibile (( ho già provato tutto ma non funziona, aaaa(
Bene:
— Ciao, sto cercando di avviare il progetto ma ho un problema. Cade subito dopo il comando docker-compose up, ecco il log di avvio e l'errore: […] Puoi aiutarmi a risolverlo?
Fate domande pertinenti e condividete le soluzioni
È meglio non scrivere un messaggio privato a una persona specifica, a meno che non ti sia stato detto di contattarlo. È preferibile scrivere a un gruppo di persone perché:
- Ognuno è occupato a risolvere i propri problemi. La possibilità che qualcuno nella chat generale o nel forum possa dedicarti del tempo è maggiore.
- È più probabile che qualcuno nella chat generale sappia come aiutarti.
- Lasci spazio agli altri per trovare la stessa domanda e risposta in un secondo momento.
Guarda l'ultimo punto. Hai già appreso che i problemi devono essere affrontati in modo autonomo, giusto? Hai già utilizzato la funzione di ricerca nella chat/forum/gruppo, ma non hai trovato menzione del tuo problema? Bene, allora chiedi.
D'altra parte, non disturbare le persone inutilmente. Se possibile, escludi dal tuo elenco di destinatari tutte quelle persone che non possono aiutarti. Più messaggi riceve una persona, minori sono le possibilità che li legga tutti. Non far abituare le persone a silenziare le notifiche o a ignorare semplicemente i messaggi.
Sicuramente, la tua esperienza può essere utile a qualcun altro. Risparmia tempo a te e agli altri condividendo una risposta o una soluzione. Il prossimo neofita, se già sa di cosa stiamo parlando, non disturberà nessuno: troverà la tua soluzione cercando. Perché dico che puoi risparmiare tempo a te stesso? Perché potresti imbatterti di nuovo in questo problema tra un anno e non ricorderai come risolverlo. La ricerca ti salverà di nuovo.
Rispettate 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à incognito. Se il link richiede autenticazione, vedrai un errore di accesso. Ad esempio, se hai caricato il codice in un repository privato o hai inviato un link a Google Drive, a cui hai accesso solo tu, la persona vedrà un errore e dovrà impiegare tempo per avvisarti, e poi aspettare che tu configuri l'accesso. Fai in modo che la persona veda subito ciò di cui parli.
Non aspettatevi che qualcuno voglia ricordare cosa avete chiesto due giorni fa. Inviate nuovamente le informazioni e ricordate il contesto. Nessuno ha voglia di cercare nella corrispondenza ciò che avete a portata di mano. Se vi sembra faticoso duplicare le informazioni affinché le persone non perdano tempo a cercarle, significa che non avete bisogno di aiuto.
Non strappate dal contesto. Se inviate un log con un errore, è ovvio che dovete includere non solo l'errore stesso, ma anche il codice che lo ha causato, con un esempio di ciò su cui si è bloccato.
Se esiste un processo stabilito per risolvere il vostro problema, seguitelo. Non vale la pena di reinventare la ruota se c'è già un articolo con come fare passo dopo passo.
Non cercate di ottenere una risposta da una sola persona attraverso canali diversi (scrivere su Slack, Skype, Telegram) contemporaneamente — sarà sgradevole per la persona.
Non inviate lo stesso messaggio a più persone contemporaneamente, sperando che qualcuno risponda. Tutte queste persone possono darvi una risposta (probabilmente sarà la stessa), ma tutte si distrarranno dai loro compiti per un po'. Utilizzate le chat di gruppo.
Guardate oltre
Tutto ciò di cui abbiamo parlato qui si applica anche al di fuori del settore IT. Segui queste regole al supermercato, in un'officina, in vacanza in un altro paese e quando parli con amici e familiari. Mostra alle persone che apprezzi il loro tempo e che non desideri disturbarli per questioni insignificanti. Dimostra che hai speso energie e tempo per risolvere un problema da solo, ma che non ci sei riuscito e hai davvero bisogno di aiuto. In segno di gratitudine, le persone saranno comprensive nei tuoi confronti e ti assisteranno nella risoluzione delle tue difficoltà.
Fonte: habr.com
