
Questo post è dedicato alla Giornata internazionale dell'infanzia. Qualsiasi somiglianza è puramente casuale.
A 10 anni ho avuto il mio primo computer e un disco con Visual Studio 6. Da allora ho iniziato a crearmi dei compiti — automatizzare le cose, creare qualche servizio web per tre persone o scrivere un gioco che poi verrà rimosso dal Play Store per obsolescenza. Certamente ho perso sorgenti e scritto codice che mi vergognerei di mostrare. A 10 anni, avrei sicuramente gradito ricevere un archivio dal futuro con tutti i miei errori — per non commetterli mai più.
Alcune settimane fa ho chiesto ai miei colleghi di Yandex.Money cosa consiglierebbero ora a un bambino che vuole diventare un informatico, e poi ho ricordato qualcosa di me. Così è nato questo testo. Vi propongo di parlarne.
Non consiglio di spendere troppe energie nel difficile processo di scelta, è meglio provare tutto e dedicarsi a qualsiasi cosa. Quando capirai in generale cosa c'è, potrai decidere da solo quale direzione intraprendere e quale meglio abbandonare.
Sergei, programmatore junior
Infanzia
Qual è l'attività più divertente durante l'infanzia di un programmatore, quando non c'è ancora internet?
Ne avevo due: smontare tutti i giochi dal disco «800 giochi in lingua russa» con tutti i programmi dal disco «Tutto ciò che serve a un hacker», e poi riscrivere da zero tutti i giochi a cui avevo dedicato più di 10 ore, in Basic. Non c'è differenza nel risultato: anche se funzionerà così.

Prendi, provi, scambi i blocchi di posto, sperimenti e raggiungi tutto ciò che puoi raggiungere. Rimuovi Windows e ci metti 10 ore per reinstallarlo. Cerchi di recuperare i driver. Inizi a capire come funziona DOS. Scopri come devono essere collegate le jumpers affinché il tuo hard disk parta nel computer di un amico (ci sono 200 megabyte di nuovi giochi!). Maneggi software, gestisci hardware, smonti e rimonti il computer. Scrivi un simulatore di calcio per 13 anni, alla fine.
Quando non c'è nulla, sei felice anche per questo.
Non si può sottovalutare l'importanza dell'autocontrollo. Secondo me, i principianti nell'IT sottovalutano quanto severamente sarà necessario controllare il proprio prodotto (e anche nella propria analisi) e quanto tempo richieda rispetto alla parte puramente creativa. E più interessante è ciò che fai, più difficile e lungo sarà il controllo.
Certo, è un consiglio un po' astratto, ma se solo avessi saputo subito.
E non consiglio di concentrarsi su un'unica direzione nell'IT. Qui anche l'orizzonte ha importanza.
Anna, analista di sistema senior
Scuola superiore
A un certo punto, nel forum della città di provincia P, si è discusso di programmazione — e là è emerso un thread con il titolo «Cercasi programmatori PHP per una grande azienda». Il testo dell'annuncio era questo:
Cercasi programmatori PHP per una grande azienda:
Per capire se vale la pena venire al colloquio, esegui un semplice compito: scrivi un programma in php che trova numeri interi positivi x, y e z tali che x^5+y^5=z^5. (^ - potenza).
Puoi rispondere qui.In questo thread hanno risposto solo poche persone — c'ero anche io. Con tutta la mia innocentissima sedicenne, ho risposto:
Strano, è anche vero che ci vuole un computer potente per trovare questo...
Perché per x, y, z <= 1000 non ci sono tali numeri — questo per prima cosa (ho provato a buttarlo giù in vb, non sono riuscito a ottenere di più per ora), in secondo luogo il computer si blocca completamente.
Non è che non ci sia niente, IMHO.Sì, un sorteggio, una trappola per principianti, sì, un mito, e quindi? È ovvio che ho speso un po' di tempo su uno script semplice, ma avevo completamente dimenticato l'esistenza del teorema di Fermat — come ha chiarito l'autore del thread, il rispettabile The_Kid, alla fine.
La situazione è triste: in P. ci sono praticamente poche persone che conoscono la matematica, ma ogni secondo pensante si considera un grande programmatore. In tre ore, su tutti i forum dove ho pubblicato il messaggio, ci sono stati complessivamente circa duecento visualizzazioni... e solo due risposte corrette. Eppure il teorema di Fermat fa parte del programma scolastico, e le sue condizioni sono così semplici che dovrebbero saltare all'occhio. A proposito, nel frattempo, in un sondaggio su Messenger, 6 su 6 studenti universitari di Novosibirsk hanno risposto 'È il teorema di Fermat'. E chi dovremmo assumere dopo questo?Allora questo ha suscitato in me una tempesta di indignazione nel senso di: 'Se non ho scritto del teorema di Fermat, non significa che non lo sappia' — una scusa classica. Mi sento triste ora? No, è anche una lezione per tutta la vita. Come allora, quando il mio gioco è stato messo in evidenza nello store di Windows Phone indonesiano, e dopo due settimane è stato rimosso perché non avevo aggiornato alcune condizioni dell'EULA.
È davvero incomprensibile: se in una grande azienda non ci sono persone da assumere, chi dovremmo essere? Cosa dovremmo fare? Dove potremmo crescere?
Non pensare che, una volta laureato, diventerai programmatore/tassista/matematico o qualcosa del genere.
Sono arrivati i tempi in cui nei diplomi contano molto di più le materie di base (matematica, fisica, informatica, filosofia), piuttosto che quelle applicate (programmazione, progettazione in specifici settori, ecc.). L'istruzione superiore ha iniziato a dividersi in strati: di base (ingegneria) e applicata. Dovresti studiare non solo abilità specifiche, ma anche pensiero, approccio scientifico, comprensione di come risolvere i problemi e soft skills.
Questo vale per l'università. Le abilità pratiche saranno utili per tutta la vita.
Oleg, analista sistemico senior
Università
Scrivi codice in C++, scrivi codice in Java. Tocchi l'assembly, tiri indietro la mano, ti infili in Qt e ti chiedi perché ti trattano così. A partire dal quarto anno, a tutti non importa più su cosa scrivi i tuoi progetti importanti: i docenti guardano il codice alla rinfusa.
Sì, certo, non ovunque — ci sono università dove si fa bene e si lavora sodo, ma lì prendono ragazzi che a scuola risolvevano problemi dell'ACM, sfruttavano al massimo la teoria dei grafi in lezioni extra e memorizzavano quanta memoria richiedono tutti gli algoritmi esistenti al mondo.
Io, invece, non ho risolto nulla, non ho frequentato corsi extra, ma ho completato il mio percorso nella mia classe di matematica, facendo nel contempo cose interessanti. Spoiler: in fase di colloqui non serviranno a niente.
All'inizio è meglio capire cosa ti piace nel mondo IT. Se ti piacciono tutte le aree, sarà difficile. Imparare un linguaggio — non porterà a nulla, porterà solo confusione in seguito.
Jan, esperto di monitoraggio finanziario
Una storia reale: per un simulatore Windows, realizzato con un amico in maniera improvvisata in terza superiore, all'università si possono ottenere automaticamente un paio di esami e crediti. Si può anche poi raccontare a tutti quanto fosse bello. Il problema è che non era affatto bello: c'era un'architettura confusa, un codice orribile e una totale mancanza di qualsiasi standard.
È fondamentale fare queste cose con un obiettivo preciso: avere un proprio catalogo di esperienze. Anche se questo non ti salverà dalla sindrome dell'impostore quando ti trovi in una grande azienda con solo delle conoscenze superficiali, e temi di essere smascherato.

Sono d'accordo, è più importante aiutare con consigli su cosa fare e dove trovare informazioni, piuttosto che il contrario. E non è affatto spaventoso se all'inizio procederà a tentoni. — La consapevolezza arriverà in seguito. È importante che ti piaccia.
Eric, ingegnere del testing
Tutti noi scriviamo piani di sviluppo: cosa dobbiamo studiare, cosa fare nel prossimo futuro e come migliorarci. Ma sembra che sarebbe utile per tutti noi scrivere una lettera a noi stessi dal passato — ecco la mia.
- Prenditi del tempo, trova un libro e installa quel sistema operativo Ubuntu che ti è stato inviato gratuitamente da Canonical. Ci sarà sicuramente un problema semplice, perché Ubuntu funziona ovunque. E Linux ti sarà molto utile.
- Non avere paura della console. Volkov Commander, ovviamente, sta su un solo floppy disk, ma prova a capire perché hai bisogno di tutti questi comandi e fai amicizia con la riga di comando. E i floppy moriranno. I dischi moriranno. Anche le chiavette USB moriranno. Non preoccuparti troppo.
- Leggi sugli algoritmi, comprendi le ordinazioni, gli alberi e gli heap. Leggi dei libri.
- Per comprendere le basi, non sono necessari corsi a pagamento. Presto arriverà YouTube – ti stupirai.
- Non rimanere bloccato sul Basic. Ci sono centinaia di tecnologie nel mondo che meritano la tua attenzione e milioni di cose più interessanti che disegnare per l'ennesima volta le user form in Excel. Prendi almeno Python — e poi te la caverai.
- Impara a usare Git, fai il backup di tutti i tuoi sorgenti. Scrivi almeno un'applicazione client-server, così comprenderai come funzionano. Approfondisci le reti, gli switch e i router.
- E se stai leggendo questo ora, significa che non è stato tutto vano.
Raccontaci nei commenti, cosa diresti a te stesso nel passato? Consiglia qualcosa agli attuali studenti e scolari che sono ancora indecisi e cercano il loro cammino. Parliamone.
Fonte: habr.com
