La seguente storia è stata pubblicata da Max Stern , un membro della comunità CodeGym. Se questa è una domanda che hai posto, dai un'occhiata. Oppure, se conosci qualcuno che è ossessionato dai dubbi sul fatto che sia troppo tardi per iniziare a imparare a programmare, condividi questa storia.

Semplicemente non sapevo di aver perso il treno, quindi sono andato lo stesso

Quando ho pensato per la prima volta di cambiare professione, la mia giovinezza era già nel passato. Non che sia passato molto tempo, ma avevo tre decenni interi di vita alle spalle e, come probabilmente saprai, per alcuni responsabili delle risorse umane che lavorano nel campo IT questa è un'età molto avanzata.

Ma non avevo idea che la mia età potesse essere pensata come corrispondente alla "prossima pensione". Non mi è nemmeno venuto in mente di chiedere "Non è troppo tardi per me?" E penso che questa sconsideratezza mi abbia salvato. Se mi fossi imbattuto in articoli motivazionali su come "non è mai troppo tardi, anche per un 29enne dai capelli grigi!" all'inizio dei miei studi, mi preoccupavo e concludevo che probabilmente non capivo qualcosa di importante sulla programmazione. Ad esempio, potrei essere arrivato a credere che la programmazione richieda le giovani cellule cerebrali e che all'età di 26 anni inizi una sorta di mutazione irreversibile - e poi basta, spegni le luci e vai a casa. Potrei aver abbandonato del tutto l'idea o optato per un intervento chirurgico radicale al cervello.

Oppure fai ginnastica. A causa delle particolari esigenze muscolari di questi atleti, la loro carriera termina all'età di vent'anni e le giovani ginnaste non vengono accettate sulla pista professionistica dopo gli otto anni. E saranno chiamati vecchi e vecchie per la prima volta nella loro vita.

Non avevo incontrato direttamente professioni così "giovani". Ho studiato matematica e, per un po', scienze. Poi ha lasciato per insegnare al liceo. Una scuola superiore (anche professionale) è l'ultimo posto in cui sentirai qualcuno dire "Cosa?! Hai <inserire un numero qualsiasi da 18 a 105> anni! Non sarai in grado di diventare un insegnante. È troppo in ritardo (presto)" o "Non hai alcuna propensione all'insegnamento". Là, chiunque esprima anche un fugace desiderio di impiantare ciò che è ragionevole, buono ed eterno nelle menti dei nostri giovani sarà rapito con forza. Non c'è nemmeno un controllo speciale per valutare l'idoneità dei candidati alla professione. Solo un controllo per verificare che non ci siano precedenti penali (e se lo sai, lo sai...).

Non avevo mai sentito parlare di limiti di età rigidi per matematici o ingegneri non programmatori. Così ho deciso che dovevo fare qualcosa, perché a un certo punto ho capito: se rimango un insegnante di scuola superiore, finirò in un istituto psichiatrico. O semplicemente non durerò molto a lungo. Quando ho deciso di cambiare professione, amavo ancora la matematica. Ero per lo più indifferente nei confronti dei bambini, ma c'era un disprezzo silenzioso. Ero leggermente perplesso dal mio stipendio, dato il numero delle mie cellule nervose che morirono nella mia impari lotta con quelle giovani creature.

Ok, lasciare il liceo è un'idea. Ma dove andare? Tornato all'istituto, mi sono divertito a risolvere i problemi di programmazione. È vero, non ne ho fatti molti, ed ero già riuscito a dimenticare tutto. Tuttavia, ho deciso. Non avevo idea che stavo perdendo questo treno, quindi sono semplicemente salito a bordo e sono andato via.

Come ho imparato a programmare (molto brevemente)

  1. Ho imparato solo un po' di Pascal al liceo.
  2. Ho studiato un po' di C e Java all'istituto.
  3. Avevo provato corsi Java a tempo pieno, ma ho lasciato (10 anni dopo la laurea).
  4. Sono approdato a CodeGym (un anno dopo aver lasciato i corsi a tempo pieno) — mi è piaciuto, ma è "volato via" in fretta, dato che mi mancava il tempo per approfondire.
  5. Poi ho deciso di prenderlo sul serio. Ho smesso di insegnare al liceo, anche se ho fatto da tutore a diversi studenti. A proposito, se ti mostri un tutor competente, puoi guadagnare il doppio di un insegnante di scuola superiore in un quarto del tempo - e non dirò nulla sul numero di cellule nervose che salverai. Ho continuato a studiare su CodeGym. A volte tormentavo il mio amico programmatore con domande. Ho letto libri e cercato risposte su Internet, un classico!
  6. Ho ottenuto uno stage presso un'azienda e l'ho completato con successo.

Ad un certo punto, ho riscontrato vari problemi legati all'età, alcuni dei quali direttamente, mentre altri li ho conosciuti sui forum o parlando con altri futuri sviluppatori junior trentenni. Ma questi problemi sono reali? Sono legati a sfide della nostra età fisiologica, come nel caso delle ginnaste citate sopra, oppure sono di natura sociale e psicologica? Descriverò questi fattori di seguito. E li esporrò come falsi, anche se non sosterrò che "quasi chiunque" può diventare un programmatore.

Fattore numero uno. Una barriera psicologica o "il tempo stringe..."

È stato solo quando ho raggiunto il livello 20+ su CodeGym e ho iniziato a pensare di trovare un lavoro che mi sono sentito un po' a disagio e ho iniziato a sospettare di non essere la persona giovane e imminente che sentivo (e sento) di essere. E non perché stavo andando peggio del diciassettenne John o del 23enne Kyle, con cui ho chattato su un forum. Ma perché mi auguravano sempre buona fortuna, visto che "è così difficile imparare dopo i 30 anni". E diventare uno sviluppatore junior è semplicemente inconcepibile! Non ti assumeranno, e se ti assumono... sarà imbarazzante essere subordinati ai giovani. Questa insicurezza era anche dovuta al fatto che mi sono imbattuto costantemente in articoli che esprimevano l'idea che "non è mai troppo tardi" e ho capito che qualcuno doveva chiedersi se non fosse troppo tardi .

E il mio buon amico programmatore una volta ha detto: "sbrigati, altrimenti non succederà - non guarderanno nemmeno il tuo curriculum". Sentendo ciò, ero completamente sfinito... E ho capito cosa devono provare le donne quando ricevono costantemente suggerimenti maleducati per sposarsi e avere figli. Ricorda quella frase pungente mascherata da preoccupazione: "il tempo stringe".

Mi sono decisamente fermato e mi sono ritrovato incapace di completare una singola attività. Ho aperto IDEA, ma non sono riuscito a digitare una sola riga. Invece di sentire il battito del mio cuore, ho sentito un "ticchettio dell'orologio", e ogni ticchettio era in realtà una battaglia a tutto campo, minacciosa e rumorosa, come i rintocchi delle campane dell'orologio del Cremlino.

Francamente, questi rintocchi nella mia testa mi hanno messo fuori gioco per un po'. Ho concluso che stavo solo sprecando il mio tempo. Che per un principiante trentenne programmare è tutt'al più un hobby, e io non potrei diventare un professionista. Quando avevo 22 anni, ho iniziato a imparare a suonare la chitarra e sono andato a ballare swing. Ma imparare a suonare la chitarra e ballare ha richiesto molto meno tempo e non avevo speranze di diventare un ballerino o un chitarrista professionista. Quindi cosa potevo aspettarmi qui?

Fortunatamente, questa insicurezza non è durata a lungo. La logica ha preso il sopravvento. E questa logica ha detto che questa era tutta ansia ordinaria. Che il problema era solo nella mia testa: "Ci sono sviluppatori senior di 23 anni, e qui questo vecchio non è nemmeno uno sviluppatore junior". "Non riuscirò mai a stare al passo con loro." Ma poi mi sono chiesto: "Perché rincorrerli? Non sarebbe meglio continuare a studiare diligentemente e vedere cosa succede?"

E sono stato in grado di riprendere a scrivere codice. E più scrivevo, meglio riuscivo a farlo. Abbastanza logico, eh?

Fattore numero due: gli adulti sono peggiori a scuola?

È vero che l'apprendimento non è sempre facile per gli adulti. Ma questo non perché i cervelli degli adulti si riducano automaticamente all'età di 28 anni, indipendentemente da ciò che un 28enne sta facendo della propria vita. In realtà, la ragione di questa difficoltà è che molti adulti hanno semplicemente perso l'abitudine allo studio regolare. È come andare in palestra. Se vai, almeno rimani in buona forma o aumenti la tua forma fisica. Se non vai, tutte le tue metriche di fitness si deteriorano lentamente. Come nelle bellissime ma sciocche parole di "Attraverso lo specchio", ci vuole tutta la corsa che puoi fare per rimanere nello stesso posto. Se vuoi andare da qualche altra parte, devi correre almeno il doppio della velocità .

Quindi, se hai 30 anni o più e impegni regolarmente il tuo cervello in senso lato (ad es. leggi, scrivi, studi una lingua straniera, studi uno strumento musicale o costruisci aeromodelli), allora non sarà più difficile per te da studiare che per te all'età di 20 anni. L'unica cosa importante qui è che tu stia facendo qualcosa regolarmente. Ho studiato regolarmente. In primo luogo, c'era il mio studio della matematica. Poi ho imparato a insegnare (in tutta serietà, ho studiato psicologia infantile, ho pensato a come trasmettere informazioni matematiche a menti impreparate, ho scritto abstract, ecc.), E ho anche imparato l'inglese, la danza e la chitarra. E più recentemente, sto imparando a boxare.

Sono un insegnante da diversi anni e posso affermare con competenza che l'importanza dell'età di un bambino è estremamente sopravvalutata. Ho incontrato ragazzi incredibilmente, inimmaginabilmente stupidi, scusate le mie dure parole. Sedevano in classe come invalidi novantenni, o meglio come drogati di oppio. In terza media non sapevano sommare le frazioni e alcuni avevano solo una vaga idea di moltiplicazione. Ma ho anche incontrato ragazzi dalla mente estremamente debole che hanno iniziato a imparare e sviluppare le loro capacità. Ho visto bambini molto dotati e sono sicuro che, salvo qualche incidente molto brutto, si riveleranno adulti altrettanto dotati.

Allo stesso modo, da adulto, ho incontrato un ex compagno di classe che ha superato a malapena la lezione di inglese e solo per pietà. All'età di 29 anni ha ripreso l'inglese, ha studiato la lingua e ora si occupa di traduzioni e, inoltre, mi ha aggiornato.

Sì, ci sono alcune cose che i bambini possono fare meglio. Ma non è il caso della programmazione, credimi. Se hai perso l'abitudine di imparare, allora è importante provare ad abituarti di nuovo, a darti il ​​tempo solo per questo: per prendere un'abitudine. Forse coloro che sono "fuori dall'abitudine" dovrebbero seguire corsi faccia a faccia (nemmeno necessariamente sulla programmazione) e poi procedere con CodeGym o uno studio autonomo di programmazione. Se non sei disposto o poco motivato a studiare, allora sì, per te è davvero troppo tardi. Anche se hai 20 anni.

Fattore numero tre: non abbastanza tempo

Ho riscontrato questo problema all'inizio dei miei tentativi di studiare. Per gli studenti dalla scuola elementare all'università, due terzi del loro tempo attivo è dedicato allo studio in un certo senso. Di conseguenza, l'aspetto di un'altra materia accademica non è così evidente per loro, né li influenza in modo critico se i processi di apprendimento sono strutturati correttamente.

Trascorrevo metà del mio tempo al lavoro. Un'altra parte è andata alle mie relazioni personali. Dedicavo un'ora al giorno agli hobby. E parte della giornata mi riposavo (ma la maggior parte del tempo controllavo i miei odiosi compiti). Oh, e ho dormito a volte. Dato il mio programma, anche se ho completamente abbandonato tutti gli hobby, non ho avuto abbastanza tempo per uno studio serio ad alta intensità cerebrale. Ero troppo stanco dal lavoro.

Forse questo è un problema molto spinoso per la maggior parte delle persone. Devi coordinare il tempo di studio con i tuoi cari, rinunciare a qualche intrattenimento, elaborare un piano di studio e non bighellonare, nonostante la stanchezza. Sono stato in grado di lasciare il mio lavoro facilmente, perché, in primo luogo, avevo pensato in anticipo a come avrei potuto ottenere un reddito (tutoraggio), e in secondo luogo, sapevo che avrei sempre potuto riavere il mio lavoro per i motivi che ho descritto sopra. Quindi qui non ho intenzione di gridare "È facile, fallo e basta!" Questo non è vero. Soprattutto quando hai una famiglia. Ma nella maggior parte dei casi, puoi trovare un modo. Ad esempio, un amico di famiglia ha ridotto il numero di pause fumo e chiacchiere con i colleghi. Dopo aver fatto i conti, si è resa conto che queste attività occupavano circa due ore del suo tempo di lavoro. Ha iniziato a lavorare di più e ha liberato un'altra ora. Di conseguenza, è riuscita a fare tutto il suo lavoro e ha usato le due o tre ore recuperate per studiare su CodeGym. A proposito, è lei che mi ha fatto conoscere il sito web. E sì, è già una sviluppatrice di medio livello. E sì, ha la mia età. Ecco la mia conclusione: il problema è grave, ma in molti casi c'è una soluzione. Una soluzione radicale, come la mia. O una soluzione per risparmiare manodopera, come quella del mio amico. O qualcos'altro. Prova almeno a trovarne uno.

Fattore numero quattro: il complesso del custode di qualcuno o "Oh, quella donna delle risorse umane..."

Sono sempre stato in grado di comunicare facilmente con persone molto più grandi o molto più giovani di me. Ma dopo aver osservato i miei conoscenti, mi sono reso conto che questo è lontano dalla norma e che sono piuttosto insolito in questo senso. Non so perché le cose stiano così, ma devono cambiare. Sia nell'IT che nella vita in generale.

Anche se in tutti i forum IT le persone strombazzano che "non è la tua età ma la tua conoscenza che è importante", in realtà, l'età spesso influisce sui curricula selezionati. Soprattutto quando si tratta di stage presso le aziende. Il mio amico ha completato un corso di programmazione a tempo pieno retribuito decente e ha detto che il ragazzo più intelligente del gruppo, che aveva la mia età, veniva costantemente elogiato dal loro insegnante. A proposito, l'insegnante è un eccellente sviluppatore Java senior attivo. Prima di ottenere il mio tirocinio, che ho completato con successo, mi sono consultato con lui diverse volte, ricevendo preziosi consigli. Del gruppo di questo insegnante fanno parte anche due studenti universitari. Uno "buono" e uno "cattivo".

Bene, questi ragazzi hanno fatto domanda per uno stage (non uguale a me, uno diverso) dopo aver completato il corso su "Java Enterprise, Spring e Hibernate". Di tutta la classe, sono stati accettati due candidati. Chi penseresti? Esatto, i due universitari. Anche quello "cattivo". È vero, ha abbandonato rapidamente il tirocinio, ma la sua accettazione cambia la situazione: gli è stata data una possibilità solo per la sua età, proprio come non l'ha data al candidato più promettente del gruppo, anche per la sua età. Di conseguenza, lo studente "promettente" è diventato un programmatore, ma il "vecchio" ha dovuto impegnarsi davvero.

Non ho ricevuto una sola risposta al mio curriculum quando includeva la mia data di nascita, ma non appena l'ho rimosso, le cose hanno iniziato a succedere. Non sto scherzando. Responsabili delle risorse umane, dici sul serio? Era un'altra questione quando ero già a un colloquio e riuscivo a conquistare le persone. Allora la mia età era davvero insignificante e le mie conoscenze e capacità comunicative venivano facilmente alla ribalta. Quindi il mio consiglio è di rimuovere la tua data di nascita e rimuovere qualsiasi informazione che riveli la tua età dai social network (i responsabili delle risorse umane a volte li guardano). Non lasciare che ti giudichino in base alla tua età.

Per essere onesti, noterò che ci sono eccellenti responsabili delle risorse umane che non selezionano i curriculum per essere "troppo vecchi".

Conclusioni

  1. La programmazione non è un balletto. Non è un coro di ragazzi. Non è ginnastica. Qui, i cambiamenti che derivano dall'età non sono una barriera intrinseca. Il tuo stile di vita è più importante.
  2. È importante superare la barriera psicologica. I giovani occupano posizioni più alte? Chiediti solo perché ti stai confrontando con loro. Basta già misurarsi con le future potenziali posizioni. Misurati più tardi. È troppo tardi per diventare un professionista in qualcosa di nuovo? Beh, forse non sarai proprio il virtuoso della programmazione che saresti diventato se avessi iniziato a 17 anni (e questo potrebbe non essere un dato di fatto), ma i progetti Java hanno bisogno di sviluppatori di medio livello decenti non meno di, se non di più, hanno bisogno di "stelle". Se ti piace programmare o sai pensare in modo logico e sei determinato a entrare in un campo che paga bene, allora coraggiosamente fai il primo passo.
  3. Devi dedicare del tempo allo studio regolare. Questa è davvero una sfida per un adulto gravato dal lavoro e dalla famiglia, ma in molti casi questo problema può essere risolto se si cerca diligentemente una soluzione. Analizza cosa fai nei giorni feriali e nei fine settimana. Pensa a cosa puoi tagliare, cosa puoi riorganizzare e poi vai avanti.
    "Non è mai troppo tardi per imparare", ha detto la persona che non ha mai smesso di imparare. Se hai avuto una pausa di dieci anni o più, allora sarà davvero difficile. Potrebbe valere la pena dedicare un paio di mesi a qualche hobby più semplice o qualche corso solo per cercare di abituarsi al processo di apprendimento. Se stai già imparando (qualcosa, in qualche modo), l'apprendimento della programmazione non sarà un problema per te, almeno non un problema di età.
  4. Puoi affrontare i punti 2-4? Allora non è troppo tardi per diventare un programmatore. E non sto chiedendo quanti anni hai =).
  5. Un responsabile delle risorse umane dalla mentalità ristretta può essere un grosso ostacolo per una persona in cerca di lavoro più anziana, ma questo può essere superato. Tuttavia, quando invii il tuo curriculum, non far sapere agli estranei quanti anni hai. Lascia che guardino il tuo stack tecnologico e le tue capacità di comunicazione.
  6. È troppo tardi solo se sei troppo pigro per studiare e agire, se non sei disposto a sacrificare nulla per la tua educazione e non puoi dedicare del tempo. E se è così, allora è troppo tardi anche se hai solo 19 anni.