
Fin dall'inizio di settembre, un flusso costante di pubblicazioni ha invaso Habr sul tema «L'infanzia del programmatore», «Come diventare un programmatore dopo N anni», «Come sono passato all'IT da un'altra professione», «Il percorso nella programmazione» e così via. Articoli simili vengono scritti continuamente, ma ora sembrano arrivare especialmente in massa. Ogni giorno, scrivono psicologi, studenti e qualcun altro.
E in ogni articolo risuona una musica familiare: il consiglio principale degli autori è sempre lo stesso — «sforzarsi», «non arrendersi», «non avere paura» e «seguire il proprio sogno»; e nei commenti è molto comune trovare l'opinione che, se hai amato i computer sin dall'infanzia, poi lavorare con essi non è sorprendente. Vorrei, prendendo spunto dalla mia biografia, far riflettere i lettori sul fatto che le condizioni iniziali possono essere più importanti degli sforzi fatti. contribuisce al comfort psicologico, ma non riflette molto accuratamente la realtà.
Non è previsto: inizio

Enciclopedia del professor Fortran per adolescentiLa mia storia inizia nella prima infanzia con il computer "Korvet" nell'aula di informatica. Ma è stata una luce casuale nel buio regno dell'istruzione post-sovietica: all'epoca, lo studio ufficiale dell'informatica doveva iniziare in undicesima classe. Mi sono semplicemente iscritto a un corso extrascolastico di informatica per le classi inferiori che è iniziato per caso. Una volta a settimana, ci aprivano la pesante porta di metallo di un'aula buia con le sbarre alle finestre e ci mostravano come stampare "Hello" utilizzando Korvet-BASIC. Era fantastico, ma non è durato a lungo.
Sembra che sia stato un esperimento educativo che è terminato letteralmente dopo sei mesi. Ho imparato poco, ho solo cominciato a interessarmi. Ma quando il corso è finito, mi è stato spiegato chiaramente: i computer non sono realmente per i bambini, prima dell'undicesima classe le persone non sono mature per studiare informatica.
È importante notare che l'atmosfera era quella dei turbolenti anni Novanta, quando molti circoli tecnici presso i palazzi dei pionieri erano già chiusi e i computer domestici non erano ancora comuni. Di conseguenza, non si poteva accedere alla tecnologia — o ai computer — solo perché si voleva studiarli. Ne beneficiavano i bambini di coloro che si erano inseriti nella nuova economia di mercato, oppure di quelli che avevano accesso ai computer per motivi lavorativi — ingegneri, insegnanti di informatica, "tecnici" in varie amministrazioni.
Ad esempio, molti anni dopo ho scoperto che circa nello stesso anno i genitori di un mio (futuro) compagno di classe gli regalarono un ZX Spectrum. Per giocare, ovviamente.
Probabilmente sarei rimasto escluso dal nuovo mondo digitale. Crescevo convinto che avrei avuto accesso a un computer solo in undicesima classe. È curioso, però, che alla fine sia andata proprio così. Ma circa un paio d'anni prima, è avvenuto un vero e proprio miracolo: ho ricevuto un computer nell'ambito di un'iniziativa benefica locale.
Sembra che sia proprio qui che potrei recuperare il tempo perso, ma la vita ha di nuovo pianificato diversamente.
C'è un detto famoso che dice che se si dà un milione di dollari a un povero, non saprà cosa farne. Certo, se è un povero intelligente, userà parte del milione per istruirsi, imparando anche a gestire il denaro. Eppure, non si può paragonare a ciò che può fare una persona cresciuta con i soldi. Questa sfortuna si presenta ogni volta che una persona esce dai confini del proprio strato sociale.
Poiché in circostanze normali non avrei mai potuto avere un computer, non avevo nemmeno soldi per corsi o materiali correlati. Per lo stesso motivo, non avevo legami con persone in grado di darmi consigli, non facevo parte di quel giro. Il computer era letteralmente un pezzo di un altro mondo. Non un semplice elettrodomestico, come ora, ma qualcosa di simile a un artefatto elfico. Pertanto, non potevo sperimentare e imparare attraverso la mia esperienza — "rompere un oggetto costoso". Non potevo nemmeno parlare con i miei coetanei del fatto che avessi un computer a casa — i turbolenti anni '90 intorno, ricordi? Di conseguenza, le possibilità di scambio di informazioni erano drasticamente ridotte — non potevo chiedere aiuto a nessuno, non potevo porre domande né condividere esperienze. Internet? Cosa? Quale internet? Forse Fido? Non avevamo nemmeno il telefono.
Si poteva andare in biblioteca, cercare libri o manuali gratuitamente, e qui si presentava un secondo problema. Era un computer troppo avanzato per quelle condizioni. Aveva installato Windows 95.
Ho preso l'unico libro sui computer che c'era in biblioteca: il famoso manuale di Gein e Zhytomyrsky, "Fondamenti di Informatica e Tecnica Computazionale", con la copertina rossa. Puoi trovarlo su internet e notare il contrasto tra il suo contenuto e quello di un computer completo con Windows 95. La situazione era aggravata dal fatto che era difficile anche trovare software pirata: ci volevano ancora un paio d'anni prima che i negozi di DVD con titoli accattivanti come "Tutto il software da ufficio - 2000" facessero la propria comparsa. E comunque, quando arrivarono, non avevo i soldi per i dischi.
A proposito, è arrivato il momento dell'informatica "ufficiale" nella classe 11 — ci hanno dato il libro di testo del '91 che ho già menzionato, e gli incarichi reali consistavano nel disegnare semplici alberi di algoritmi (con la matita su carta) e utilizzare l'editor di testo "Lessico".
Sformatoio

Io e i veri programmatoriAlla fine, il mio sviluppo informatico in questi ultimi due anni è stato stagnante. Leggevo la guida di Windows, raccoglievo con qualche stratagemma vari programmi per il computer su floppy disk e cercavo di diventare un «utente avanzato», modificando il file autoexec.bat. Ho portato a casa il «lessico» dalla scuola, che altro avrei potuto fare. In generale, al momento in cui sono finalmente riuscito a tornare indietro nel tempo e iniziare a programmare in qBasic, intorno a me regnavano già unicamente le interfacce grafiche.
Questo contrasto ha in gran parte distrutto la mia motivazione per un’analisi approfondita della programmazione testuale tradizionale. La causa era nel pressante disallineamento tra la grafica di Windows 95, con cui ho iniziato il mio vero tuffo nel mondo dei computer, e lo squallido schermo testuale dei linguaggi che conoscevo allora. La generazione precedente di programmatori si rallegrava semplicemente per il fatto che scrivendo POINT(10,15) apparisse un punto sullo schermo. Per loro programmare significava «disegnare sullo schermo qualcosa che non c'era». Per me, lo schermo era già occupato da forme e pulsanti. Per me, programmare significava «far sì che un pulsante facesse qualcosa dopo una pressione» — ed era semplicemente noioso creare il pulsante stesso.
A titolo di riflessione, voglio sottolineare che attualmente lo sviluppo dei linguaggi di programmazione è tornato a una situazione simile. Ora tutti i "veri programmatori" tornano a creare interfacce nel blocco note, e ogni programmatore sembra nuovamente dover essere un designer. È di nuovo necessario posizionare sullo schermo pulsanti, finestre di input e altri elementi di controllo esclusivamente tramite codice. Di conseguenza, la classica regola dell'80/20 si presenta così: "80% del tempo lo trascorriamo a creare interfacce digitando manualmente il codice e il 20% del tempo definiamo il comportamento degli elementi dell'interfaccia". Comprendo perché ciò accadesse ai tempi del DOS e di Pascal; non c'erano alternative. Non capisco perché questo esista ora, quando tutti hanno già visto e toccato VB, Delphi e C#; sospetto che il problema sia legato al costo o alla gratuità dell'ambiente di sviluppo. Ciò che è comodo è sempre costoso, e le versioni gratuite degli ambienti citati sono apparse non molto tempo fa.
Questa è stata una delle ragioni per cui la programmazione web mi è sfuggita. Anche se, come scoprii molto più tardi, sarebbe stato molto più facile costruire un portfolio e diventare programmatore. Ho provato a sperimentare sia con PHP che con JS, ma non volevo "scrivere codice in un editor di testo". Un'altra ragione è che ho avuto accesso a Internet intorno al 2005 o 2006 — prima si trovava da qualche parte ai margini della mia visione del mondo, insieme ai telefoni cellulari — "cose che usano solo i ricchi".
Così ho abbandonato tutta quella programmazione DOS e mi sono immerso nel database didattico "Borey" di Access, che mi ha regalato moduli, pulsanti, macro e l'apice della programmazione applicata — VBA. È probabile che in quel momento avessi già deciso che in futuro avrei voluto lavorare come programmatore. Ho trovato un disco di Visual Studio, comprato un libro cartaceo (!) su VB e ho iniziato a creare calcolatrici e tris, godendo del fatto che tutto il design veniva fatto in un modulo in pochi minuti, invece che a mano. Poiché il computer smetteva di essere una rarità, ho finalmente potuto interagire con altre persone e discutere di programmazione con i miei simili.
In queste discussioni mi sono reso conto che VB è un linguaggio obsoleto, creato per le segretarie, mentre i veri programmatori scrivono in C++ o Delphi. Poiché avevo ancora in mente Pascal, ho scelto Delphi. Forse è stata un'altra mia errore in una lunga serie di ostacoli sul percorso per diventare programmatore. Ma ho seguito la strada di minor resistenza, perché volevo vedere prima i risultati del mio lavoro. E li ho visti! Ho comprato anche un libro su Delphi, l'ho collegato con Excel e Access, che già conoscevo, e alla fine ho creato una sorta di «sistema BI». È triste che ora abbia completamente dimenticato Pascal, dato che non l'ho toccato da dieci anni.
E naturalmente, ho provato due volte ad iscrivermi all'università per diventare programmatore. Nel nostro piccolo paese non c'erano molte opportunità. La prima volta, inavvertitamente, ho scelto il corso di "Matematica Applicata", da cui uscivano persone con tale specializzazione - programmatore, ma richiedevano conoscenze matematiche ben oltre il programma scolastico. Così, all'esame, non sono riuscito a ottenere un punteggio sufficiente. Ho dovuto rimanere in un college, conseguendo un'istruzione secondaria. La seconda volta ho abbassato le mie aspettative e mi sono iscritto a un corso di ingegneria - lavorare come ingegnere non mi attraeva molto, ma comunque era un passo più vicino al lavoro con i computer. Solo che era già tardi - la gente aveva capito i vantaggi dei corsi tecnici e affollava quelle giuste possibilità. Solo i migliori studenti sono riusciti a entrare nei posti finanziati.
Ora ho quindi una laurea umanistica. È rossa, ma non tecnica. Ed è qui che la triste storia della crescita inizia ad incrociarsi con la triste storia della ricerca di lavoro.
Il violinista non è necessario

...ma non necessariamente sopravviverò...Esiste un mito molto diffuso secondo cui «non si chiede il diploma a un programmatore». Questo mito ha diverse origini, e cercherò di elencarne le principali.
In primo luogo, nei primi anni Novanta - e anche un po' negli anni Novanta tardivi - la conoscenza delle tecnologie informatiche era in generale una rarità. Se una persona sapeva accendere un computer e avviare un programma, era in grado di fare ciò che il business richiedeva. Il caos generale nel mercato del lavoro costringeva i datori di lavoro a trovare rapidamente qualsiasi persona capace di svolgere il lavoro richiesto: non importava cosa avesse studiato, era importante ciò che sapeva fare in quel momento. Pertanto, un numero considerevole di autodidatti mostrava tranquillamente le proprie abilità durante il colloquio e otteneva lavoro.
In secondo luogo, negli stessi anni, il business cresceva rapidamente, ma non esisteva ancora il concetto moderno di HR. I reclutatori rimanevano funzionari sovietici che gestivano i libretto di lavoro e i contratti, mentre i colloqui erano condotti personalmente da specialisti o dai dirigenti. Poiché la maggior parte di loro era interessata ai risultati, i criteri formali come l'istruzione venivano considerati davvero per ultimi.
Questo ha portato a una distorsione enorme nella coscienza collettiva. Le persone che hanno trovato lavoro in quelle condizioni possono raccontare sinceramente che un programmatore non ha bisogno di un diploma e possono citare se stessi come esempio. Riconoscerete questo tipo, naturalmente. Se qualcuno vi dice "basta dimostrare di saper fare, e ti assumeranno" — è proprio un tale programmatore, di quel periodo, lo hanno assunto così, e lui ha creduto nell'immutabilità del mondo. In modo simile, gli anziani sovietici dicono qualcosa come "ma tu lavori al computer e riesci a leggere in inglese, con tali abilità, wow!". Non capiscono più che con tali abilità, il "wow" era solo ai tempi sovietici, mentre ora è una competenza che ha ogni secondo.
Poi, esattamente la stessa cosa è successa nei primi anni 2000, quando il prezzo del petrolio ha iniziato a salire, l'economia ha cominciato a crescere e folle di nuovi imprenditori si sono lanciate nel mercato del lavoro in cerca di chiunque sappia almeno accendere un computer.
Ma allo stesso tempo, il flusso di denaro petrolifero ha generato personale non produttivo — i dipartimenti HR. Qui si sono ritrovati i soliti vecchi reclutatori sovietici, ai quali è stata improvvisamente affidata la responsabilità di valutare la qualità di qualsiasi lavoratore. Certamente, non potevano prendere decisioni di tale livello. Così hanno sviluppato propri criteri di valutazione, piuttosto lontani dalla realtà, basati su libri tradotti dall'amato occidente e su criteri formali come l'istruzione. Così si è compiuto un grande cambiamento: dalle competenze reali ai criteri formali.
Il mito è rimasto vivo, solo con qualche lieve modifica.
L'economia continuava a crescere, le persone venivano reclutate da ogni parte, attratte da altre aziende, ma i recruiter avevano già preso in mano il processo di selezione. E ciò che contava di più non era 'mostra cosa sai fare' — tanto il recruiter non avrebbe capito cosa gli viene mostrato — ma 'esperienza lavorativa'. Così le persone che una volta erano state assunte senza una formazione specifica in informatica per la loro capacità di premere pulsanti venivano ora attratte in un'altra azienda semplicemente perché in precedenza avevano lavorato come 'ingegneri informatici'. E ancora una volta nessuno chiedeva il diploma, perché non era il momento — hai 'esperienza'? Beh, allora mettiti e inizia a lavorare!
Infine, l'ultima, terza ragione — lo sviluppo rapido di Internet e dei progetti privati. Le persone creavano progetti collaterali, che potevano mostrare a chiunque, dimostrando così le proprie competenze. Invi tu una mail, alleghi il link al tuo sito — e così hai già, in un certo senso, dimostrato le tue abilità.
Cosa succede adesso?
I prezzi del petrolio, come sappiamo, sono crollati, ma il mito persiste. Ci sono ancora molti "ingegneri informatici" che sono riusciti ad ottenere questi ruoli senza un'istruzione specifica. Tuttavia, ora nessuna di queste ragioni funziona pienamente e al giorno d'oggi pochi di loro potrebbero ripetere questo trucco nel trovare un lavoro.
- La conoscenza delle tecnologie informatiche è diventata universale. L'abilità di utilizzare un computer non è più indicata nei curriculum, proprio come l'abilità di leggere e scrivere (cosa che, tra l'altro, non guasterebbe — ho iniziato a notare frequenti errori grammaticali anche nei media ufficiali, e negli articoli su Habr compaiono con una regolarità sorprendente).
- Sono nati dipartimenti HR e specialisti HR che non si assumono alcuna responsabilità per le loro decisioni e possono utilizzare qualsiasi criterio di selezione. Naturalmente, prevalgono i criteri formali — si guardano l'età, l'istruzione, il genere e il tempo trascorso nel precedente posto di lavoro. Le competenze e le abilità sono considerate solo per sempre.
- Non c'è più carenza di programmatori. C'è una carenza di buoni dei programmatori, ma questo è vero per qualsiasi professione. Oggi chiunque può lavorare come programmatore; gli studenti combattono online per ottenere il diritto di fare qualcosa gratuitamente per il proprio portfolio sui siti di freelance.
- I progetti personali sono diventati una norma. Internet è pieno di siti personali e cloni di Tetris, e ora questo progetto sta diventando quasi obbligatorio: superando il filtro di selezione HR, ti ritrovi davanti a un secondo filtro di esperti che chiedono: «mostraci il tuo GitHub».
Le persone con un'istruzione formale o con esperienza che sostituisce l'istruzione agli occhi dei reparti HR vedono solo la seconda parte. Di solito dicono qualcosa del tipo: «per lavorare non è necessario un diploma da programmatore, ma progetti su GitHub sarebbero utili».
Ma poiché i reparti HR non sono scomparsi, si può dire in modo veritiero che: «Per lavorare, un programmatore ha bisogno di una laurea (per superare le HR), ma anche di progetti su GitHub (per affrontare il colloquio tecnico)». E io, con la mia formazione umanistica, lo percepisco appieno — perché conosco GitHub solo attraverso le lamentele di programmatori con formazione tecnica, mentre il rigoroso filtro del personale mi scarta già nella prima fase.
Le persone non vedono l'aria, i pesci non vedono l'acqua, e le persone con formazione tecnica o esperienza lavorativa in «OOO KODTEHNOСOFT» non vedono che non viene richiesto il diploma, perché è già presupposto. È particolarmente divertente sentire scuse da parte di chi dice «lavoro da anni, non ho mai mostrato il diploma». Chiedi — ma l'hai indicato nel curriculum? Certo che sì. Allora mi proponi di indicare nel curriculum un'istruzione fittizia, dato che comunque non chiederanno conferma? Rimangono in silenzio, non rispondono.
A proposito, nella specializzazione in cui tutti i posti a budget erano occupati da studenti medalisti, solo metà del gruppo era a pagamento. L'altra metà erano studenti del corso a pagamento — sapete, comprare un diploma a rate con i soldi dei genitori. Un mio amico è stato ammesso lì, ha ottenuto il diploma. Di conseguenza, è diventato un "ingegnere-programmatore" a tutti gli effetti e da allora non ha mai avuto problemi a lavorare come programmatore. Perché nel diploma non si specifica se hai studiato a pagamento o gratuitamente. Ma la specializzazione “tecnica” è annotata.
Fuori dalla zona di comfort

Così procedo con sicurezza nella mia carrieraQuando sono arrivato a Mosca e ho cominciato a cercare lavoro, non sapevo nulla di tutto questo. Credevo ancora al mito secondo cui a un programmatore basta mostrare il risultato del suo lavoro. Portavo davvero con me una chiavetta USB con esempi dei miei programmi — anticipando, posso dire che nessuno ha mai dato un'occhiata a quel materiale. Tuttavia, le offerte di lavoro erano estremamente rare.
Allora ricordavo ancora Delphi e cercavo di entrare in qualche azienda tecnica, anche solo come stagista. Inviavo una decina di email al giorno, spiegando che sin da bambino ero interessato ai computer e volevo continuare a imparare. Mi rispondevano onestamente più volte che dovevo avere una qualifica tecnica: i responsabili delle risorse umane sono proprio lì per difendere le aziende grandi da coloro che non hanno competenze tecniche. Ma per lo più ricevevo solo risposte standardizzate. Alla fine non riuscivo più a continuare la ricerca e sono finito in un lavoro d'ufficio normale, dove era semplicemente necessario usare Excel.
Dopo un paio d'anni, a Excel si sono aggiunti Access e SQL, perché mi sono ricordato della gioventù e ho iniziato a scrivere attivamente script VBA. Tuttavia, non era comunque «programmazione reale». Ho fatto un'altra tentativo, scaricando l'attuale Visual Studio e immergendomi nello studio di C#. L'ho studiato in modo generale, ho scritto un piccolo programma e ho provato di nuovo a cercare lavoro, senza trascurare offerte vere o proposte di tirocinio.
Questa volta, non ho ricevuto alcuna risposta a cento delle mie email. Nessuna. Perché, come capisco ora, la mia età si avvicinava ai trenta anni e, insieme alla mia laurea in una disciplina umanistica, questo diventava un marchio nero per qualsiasi reparto HR. Questo ha fortemente influenzato sia la mia autostima che le mie convinzioni sui miti dei programmatori riguardo al mercato del lavoro. Ho completamente abbandonato il "vero programmazione" e mi sono concentrato su un lavoro d'ufficio ordinario. Di tanto in tanto rispondevo ancora a varie offerte di lavoro, ma continuavo a ricevere solo silenzio in cambio.
In qualche modo, ho iniziato a comprendere quanto sia prezioso per una persona ciò che non nota o ciò che considera scontato. Le persone a cui chiedi consiglio o a cui semplicemente ti lamenti della vita non si soffermano su queste sfumature. Hanno letto libri di psicologia popolari e ti raccontano che è necessario uscire dalla propria zona di comfort. Anche se esiste una battuta comune sul fatto che prima bisogna entrare nella zona di comfort. Con l'età, il costo di questo ingresso o uscita cresce — ad esempio, ora non posso più permettermi di licenziarmi e andare a lavorare in un tirocinio. Posso solo cambiare attività con cautela, restando al lavoro attuale, finché i redditi non si allineano.
Ci sono consiglieri ragionevoli che danno raccomandazioni che potrei dare anche io. Si tratta di apprendimento autonomo e lavoro a distanza o creazione di un progetto personale. Ma qui ci sono delle insidie.
Il fatto è che il lavoro remoto è un privilegio riservato esclusivamente a chi ha "esperienza lavorativa". Per un neofita, che ha bisogno di aiuto e formazione, è assolutamente irrealizzabile accedervi. Nessuno vuole occuparsi di te in generale, e qui c'è anche l'aggiunta della componente remota.
L'autoapprendimento è terribilmente inefficace. Ciò che ti insegnano, ad esempio, in sei mesi, lo analizzerai da solo in circa due anni. Il rapporto è più o meno questo. Dovrai scoprire autonomamente tutte le piccole cose, le tecniche standard e le trappole comuni, reinventando continuamente la ruota. Certo, in un certo modo questo può renderti più esperto, poiché hai scoperto e superato tutto da solo. Ma ciò richiederà quattro volte più tempo e non avrai comunque esperienza reale su progetti produttivi reali.
Tuttavia, so bene che l'esperienza reale e utile si ottiene solo risolvendo problemi pratici. In questo senso, attività come "scrivere tris" possono aiutarti inizialmente a familiarizzare con la lingua. Ma anche dopo aver programmato tris, battaglia navale e serpente, non sarai comunque in grado di fare ciò che il business richiede nella pratica.
Qui i più impazienti vorranno di nuovo dare un consiglio: prendi un vero progetto da qualche sito di freelance e scrivi in base a quello; così imparerai e otterrai un portfolio.
Bene, consideriamo finalmente il metodo del "pet project". Bisogna scrivere un programma utile per le persone, dopodiché andare a cercare lavoro in un luogo dove si sviluppano programmi simili. In teoria suona magnifico, ma in realtà è una trappola. Anziché lavorare fin dall'inizio su un progetto reale, perdi tempo su compiti chiaramente privi di senso, per poi svolgere gli stessi compiti, ma già con un significato.
Fermati! - diranno i lettori. - Aspetta! È solo una simulazione! È sempre e ovunque così! E sarei d'accordo se questa simulazione offrisse una possibilità di successo. Ma no. Torniamo al fatto che ho già esperienza con tentativi e simulazioni simili.
Esiste una sola azienda al mondo che dice: 'Ecco, la nostra azienda crea messaggeri, scriveteci un messaggero in un certo linguaggio, con specifici parametri e allora vi assumeremo'? No. È sempre una questione di probabilità, e per una persona con un'età e un'istruzione inadeguate, la probabilità è molto bassa. La vita mi ha spiegato tutto questo molto bene. Per esempio, in diversi periodi della mia vita ho conosciuto e utilizzato VB e VBA, Pascal e Delphi, SQL, R, JS, C# e persino (sono stupito anch'io!) Genesis32. Di fatto, ho trovato e seguito corsi, ho realizzato i famosi progetti, potevo mostrarli durante i colloqui e rispondere alle domande su di essi. E allora?
Innanzitutto, nessuno si è realmente interessato o ha chiesto di vedere qualcosa, semplicemente non sono passato a questi colloqui. In secondo luogo, da tutto ciò ricordo davvero solo VBA e SQL, perché li uso continuamente — il resto non è stato utile ed è dimenticato. E la situazione era davvero dura: non è che i miei progetti venissero guardati e dicessero 'ascolta, qui è tutto sbagliato, non sai scrivere codice, qui e qui non funziona'. No, semplicemente mi ignoravano. Un'istruzione umanistica, capisci? 'È perché sono di colore'.
Risultati

Anche sotto la pressione delle circostanze, mantieni la tua serenità interioreNonostante il tono pessimista del testo, non smetto di tentare. Ora lo spazio delle possibilità si è drasticamente ristretto, vedo solo un percorso realistico: il sopracitato "pet project", ma orientato non tanto verso la "ricerca di lavoro", quanto verso il "tentativo di creare un'attività". È necessario trovare un problema irrisolto, risolverlo e individuare almeno alcune decine di persone che utilizzeranno la propria soluzione. L'altro punto è che sembra semplice, ma in realtà è difficile trovare un compito che non sia stato già risolto da qualcuno dei milioni di programmatori e aspiranti — e che sia anche sufficientemente facile per un principiante.
Adesso sono arrivato a Python, seguendo l'esempio di molti predecessori, ho analizzato Habr e sto preparando un articolo sui risultati. Spero di pubblicare proprio questo come il mio primo articolo su Habr, ma devo ancora completare un po' di testo. E ora, le pubblicazioni sul tema "Come sono diventato programmatore, semplicemente facendo un po' di sforzo" si stanno susseguendo praticamente ogni giorno, a volte anche due al giorno.
Quindi non ho potuto resistere e ho raccontato perché ho fatto molti sforzi, ma alla fine non sono diventato programmatore.
In sintesi, volevo dire quanto segue:
- Desideri e sforzi possono davvero fare molto, ma ciò che conta di più è la base materiale. Chi la possiede — i desideri e gli sforzi aiutano a ottenere di più. Chi non la possiede — i desideri e gli sforzi non aiutano nemmeno a raggiungere risultati normali. Una passione per i computer sin da piccoli può aiutare a diventare programmatori, ma non è di grande aiuto. Ha molte più probabilità di diventare programmatore chi, pur non avendo mai avuto interesse per i computer, è stato mandato da genitori benestanti a studiare una specializzazione tecnica alla moda. Ma anche un grande interesse non è sufficiente se — come in una recente pubblicazione — non ti comprano durante l'infanzia calcolatori programmabili.
- È ora di abbandonare il mito che per lavorare come programmatori sia sufficiente saper programmare. Nel migliore dei casi, è sufficiente saper fare bene programmatori, ad esempio "scrivere codice alla lavagna" — sì, di questi ci sono. Le affermazioni secondo cui assumono neolaureati da strada, purché sappiano da che parte si accende il computer, sono enormemente esagerate; in tali discorsi assistiamo a un errore tipico di chi è sopravvissuto. Intorno a ciascun annuncio di lavoro per programmatori c'è un "muro di vetro" del dipartimento HR — le persone con formazione tecnica semplicemente non lo vedono, mentre gli altri possono solo colpirlo inutilmente con la testa. Oppure — come in una delle recenti pubblicazioni — cercare lavoro "per conoscenze".
- Per "diventare" un programmatore in età adulta, è necessario avere lo stesso insieme di circostanze favorevoli che si richiede in giovane età. Certo, un adulto può fare molte cose meglio (vede l'obiettivo verso cui si dirige, ha esperienza nell'apprendimento e nello sviluppo, conosce le reali esigenze del mercato), ma è anche privato di molto (deve provvedere a se stesso, dedicare tempo alla vita quotidiana, e la salute non è più quella di una volta). E se — come recentemente pubblicato — c'è supporto materiale da parte della famiglia e stabilità nel vivere in una casa propria, allora cambiare attività è davvero molto più semplice.
Fonte: habr.com
