Giornata dei bambini contro il cattivo codice

Giornata dei bambini contro il cattivo codice

Il post è dedicato alla Giornata dei bambini. Qualsiasi coincidenza non è una coincidenza.

All'età di 10 anni ho ricevuto il mio primo computer e un disco con Visual Studio 6. Da allora, ho iniziato a pensare a compiti per me stesso: automatizzare le cose, mettere insieme una sorta di servizio web per tre persone o scrivere un gioco che verrà poi rimosso dal mercato del gioco a causa della vecchiaia. Ovviamente ho perso il codice sorgente e ho scritto codice che mi vergognavo di mostrare alla gente. E a 10 anni non rifiuterei sicuramente di ricevere dal futuro un archivio con tutti gli errori, per non permettere mai che si verifichino.

Un paio di settimane fa ho chiesto ai miei colleghi di Yandex.Money cosa consiglierebbero adesso a un bambino che vuole diventare uno specialista IT, e poi mi sono ricordato qualcosa di me stesso. Ecco come è apparso questo testo. Suggerisco di parlarne.

Non consiglio di spendere molte energie nell’agonia della scelta; è meglio provare tutto e fare tutto. Quando capisci cosa è cosa in termini generali, puoi decidere tu stesso in quale direzione devi muoverti e quale direzione è meglio abbandonare.

Sergey, programmatore junior

Infanzia

Qual è la cosa più divertente da fare come programmatore quando non c'è ancora Internet?

Ne avevo due: smontare tutti i giochi dal disco "800 giochi in russo" con tutti i programmi dal disco "Tutto ciò di cui ha bisogno un hacker", e poi riscrivere da zero tutti i giochi su cui ho trascorso più di 10 ore nella BASE. Non fa alcuna differenza ciò che accade, anche se dovesse andare così.

Giornata dei bambini contro il cattivo codice

Lo prendi, lo provi, riorganizzi i blocchi, sperimenti e raggiungi tutto ciò che puoi raggiungere. Se demolisci Windows, ci vogliono 10 ore per ripristinarlo. Stai cercando di recuperare i driver? Capisci come funziona il DOS. Scopri come posizionare i ponticelli in modo che il tuo disco rigido si avvii nel computer di un amico (ci sono 200 megabyte di nuovi giochi lì!). Torcete il software, torcete l'hardware, smontate e rimontate il computer. Dopotutto sono 13 anni che scrivi un simulatore di calcio.

Quando non c'è nulla, diventi felice per questo.

L’importanza dell’autoesame non può essere sottovalutata. Secondo me, i nuovi arrivati ​​​​nell'IT sottovalutano quanto rigorosamente dovranno controllare il loro prodotto (e anche nell'analisi) e quanto tempo richiederà rispetto alla parte puramente creativa. E più interessante è ciò che fai, più difficile e lungo sarà il test.

Questo, ovviamente, è un consiglio un po' astratto, ma se solo lo sapessi subito.

E non consiglio di concentrarsi su un'area dell'IT. Anche qui contano gli orizzonti.

Anna, analista di sistema senior

Scuola media

Ad un certo punto, sul forum della città della contea di P, si stava discutendo di programmazione - e lì è apparso un thread con il titolo "Si cercano programmatori PHP per una grande azienda". Il testo dell'annuncio era:

В крупную компанию ищутся программисты PHP:

Для того, чтобы понять, стоит ли вам приходить на собеседование, выполните несложное задание: напишите программу на php, которая находит такие целые положительные числа x, y и z, чтобы x^5+y^5=z^5. (^ - степень).

Отвечать можете здесь.

Solo poche persone hanno annullato l'iscrizione a questo thread: c'ero anch'io. Con tutta la mia ingenuità da sedicenne risposi:

Реально чет странное. Да и комп нужен неслабый, штоб ето найти...
Ибо от x,y,z <=1000 таких чисел нет-эт во первых (сел набросал в vb, большего ПОКА не дано), во вторых комп подсаживается намертво.

Не все равно чето нето, ИМХО.

Sì, è uno scherzo, una trappola per principianti, sì, è un bastardo, e allora? Ovviamente, ho trascorso molto tempo su una sceneggiatura semplice, ma mi sono completamente dimenticato dell'esistenza del teorema di Fermat, che l'autore del thread, il venerabile The_Kid, ha chiarito alla fine.

Итог печален - в П. практически нет людей, знающих математику, но каждый второй мнит себя мего программистом. За три часа, на все форумах на которых я разместил сообщение, было суммарно около двух сотен просмотров... и всего два правильных ответа. А теорема Ферма - это ведь школьная программа, и условия ее настолько просты, что должны бросаться в глаза. Кстати, параллельно при опросе в аське 6 из 6 знакомых новосибирских студентов ответили «Это же теорема Ферма».
И кого после этого брать на работу?

Poi questo mi ha causato una tempesta di indignazione nello spirito: "Se non ho scritto del teorema di Fermat, questo non significa che non lo sappia", una scusa classica. Sono triste adesso? No, anche questa è una lezione per la vita. Come quando il mio gioco è apparso nel Windows Phone Store indonesiano e due settimane dopo è stato rimosso perché non avevo aggiornato alcuni termini dell'EULA.

E non è del tutto chiaro: se in una grande azienda non c'è nessuno da assumere, allora chi dovresti essere? Cosa fare? Dove crescere?

Non dovresti pensare che dopo aver ricevuto un’istruzione diventerai un programmatore/tassista/matematico o qualcos’altro.

Sono arrivati ​​i tempi in cui le materie di base (matematica, fisica, informatica, filosofia) diventano molto più importanti in un diploma, piuttosto che le materie applicate (programmazione, progettazione in ambiti specifici, ecc.). L'istruzione superiore cominciò a essere divisa in livelli: base (ingegneria) e applicata. Dovresti apprendere non competenze specifiche, ma il pensiero, un approccio scientifico, la comprensione di come risolvere i problemi, le competenze trasversali.

Si tratta dell'università. Una persona avrà ancora il resto della sua vita per utilizzare le competenze applicate.

Oleg, principale analista di sistemi

Università

Scrivi il codice in "plus", scrivi codice in Java. Tocchi l'assemblatore, allontani la mano, rimani bloccato in Qt e pensi perché ti stanno facendo questo. Al quarto corso, a nessuno importa su cosa scrivi nei prossimi importanti laboratori: gli insegnanti guardano il codice in qualche modo.

Questo, ovviamente, non è così ovunque: ci sono università in cui è potente e buono, ma prendono ragazzi che hanno risolto i problemi dell'ACM a scuola, hanno spremuto tutto dalla teoria dei grafi in classi aggiuntive e hanno riempito di memoria tutti gli algoritmi del mondo per tutto ciò che il mondo richiede.

Non ho deciso, non ho seguito lezioni extra, ho semplicemente completato i miei studi nella lezione di matematica, facendo cose interessanti lungo il percorso. Spoiler: nessuno ne avrà bisogno durante le interviste.

Innanzitutto, è meglio decidere cosa ti piace dell'IT. Se ti piacciono tutte le direzioni, sarà difficile. Impara un po' di lingua - non porterà a nulla, ci sarà solo confusione in futuro.

Jan, specialista finlandese. monitoraggio

Storia vera: per un simulatore Windows realizzato con un amico in ginocchio in terza media, all'università puoi sostenere automaticamente un paio di esami e test. Potrai anche dire a tutti più tardi quanto è stato fantastico. Il problema era che non era bello: aveva un'architettura confusa, un codice terribile e una totale mancanza di standard per qualsiasi cosa.

Queste cose dovrebbero essere fatte per uno scopo: avere il tuo catalogo rake. Anche se questo non ti proteggerà dalla sindrome dell'impostore, quando ti ritrovi in ​​una grande azienda con una conoscenza superficiale di tutto e pensi che stai per essere smascherato.

Giornata dei bambini contro il cattivo codice

Sosterrò, è più importante aiutare con consigli su cosa puoi fare e dove ottenere informazioni, e non viceversa. E non è affatto spaventoso se all'inizio prova a fare qualcosa al tatto, - la consapevolezza arriverà più tardi. È importante che piaccia.

Eric, ingegnere di test

Scriviamo tutti piani di sviluppo: cosa dobbiamo studiare, cosa fare nel prossimo futuro e come migliorare noi stessi. Ma sembra che tutti potremmo trarre beneficio dallo scrivere una lettera a noi stessi del passato: ecco la mia.

  1. Prenditi il ​​tuo tempo, trova un libro e installa la distribuzione Ubuntu che Canonical ti ha inviato gratuitamente. C'è chiaramente qualche semplice problema, Ubuntu si avvia ovunque. E Linux ti sarà molto utile.
  2. Non aver paura della console. Volkov Commander, ovviamente, si adatta a un floppy disk, ma cerca di capire perché hai bisogno di tutti questi comandi, acquisisci familiarità con la riga di comando. E i floppy disk moriranno. I dischi moriranno. Anche le unità flash moriranno. Non preoccuparti troppo.
  3. Leggi informazioni sugli algoritmi, comprendi l'ordinamento, gli alberi e gli heap. Leggere libri.
  4. Non sono necessari corsi a pagamento per comprendere le basi. YouTube apparirà presto: rimarrai sorpreso.
  5. Non rimanere bloccato sul BASIC. Esistono centinaia di tecnologie nel mondo che meritano la tua attenzione e un milione di cose che sono più interessanti che disegnare nuovamente moduli utente in Excel. Prendi Python e lo capirai.
  6. Impara a usare Git, esegui il backup di tutte le fonti. Scrivi almeno un'applicazione client-server per capire come funzionano. Comprendere reti, switch e router.
  7. E se stai leggendo questo adesso, significa che non tutto è stato vano.

Raccontaci nei commenti cosa scriveresti al te stesso del passato? Hai qualche consiglio per gli scolari e gli studenti attuali che sono ancora a un bivio e cercano di trovare la loro strada? Parliamo di questo.

Fonte: habr.com

Aggiungi un commento