Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows Phone
  • Come diventare programmatori. Qualità personali e aziendali necessarie, competenze e capacità professionali per lavorare come programmatore: cosa devi sapere e saper fare? Risorse di apprendimento

Come diventare programmatori. Qualità personali e aziendali necessarie, competenze e capacità professionali per lavorare come programmatore: cosa devi sapere e saper fare? Risorse di apprendimento

Dietro la maggior parte dei servizi tecnici, come una banca online o un pannello informativo aeroportuale, ci sono specialisti in una delle professioni più richieste dei nostri tempi: i programmatori. Né i gadget né i social network funzionerebbero senza di essi. Anche ordinare nuove scarpe da ginnastica da un negozio online sarebbe problematico. Fino ad ora, il settore IT ha solo accelerato il ritmo di sviluppo, richiedendo sempre più nuovi dipendenti. Le campagne sono pronte ad assumere anche i neofiti. Lo stipendio medio di un programmatore parte da 35 mila rubli e professionisti esperti possono guadagnare soldi esorbitanti.

La professione di programmatore è popolare e richiesta

In questo articolo, ti diremo come entrare in una professione prestigiosa, chi sono i programmatori senior e perché avrai difficoltà qui senza l'inglese.

Chi sono i programmatori e cosa fanno

Le richieste del settore IT per i professionisti sono in costante aumento. Pertanto, sono necessarie persone che lo capiscano: creare, riparare, supportare. I programmatori sono diversi e ogni lavoro ha le sue specifiche. Parliamo delle principali specializzazioni degli specialisti IT:

L'opzione più ovvia. Ma non è così semplice come potresti pensare. I programmatori svolgono compiti diversi a seconda del loro linguaggio di programmazione e progetto specializzati.

Ad esempio, uno sviluppatore di applicazioni mobili crea programmi per Android, iOS e altri. Ogni prima persona ha uno smartphone e un tablet, quindi il lavoro non finirà presto.

Un'altra direzione promettente è la programmazione Java. La maggior parte dei sistemi bancari è progettata in questa lingua. Le banche sono disposte a pagare bene per un prodotto di qualità sia ai dipendenti a tempo pieno che alle società terze. Ma anche qui i requisiti sono alti: dovrai essere responsabile del corretto funzionamento dell'applicazione con i soldi di altre persone. Certo, puoi programmare in java non solo in una banca, ma buoni specialisti IT con esperienza ricevono circa 200 mila rubli al mese.

Un tester è uno specialista, senza il quale nessun progetto vedrà un rilascio. Questo tizio IT sa tutto sulle complessità del codice e sui luoghi in cui il programma può bloccarsi. La sua responsabilità è quella di testare la resilienza del prodotto a bug e bug e restituirlo agli sviluppatori per le correzioni. Inizialmente, il controllo viene eseguito manualmente, ma quando vengono rilevati tutti i punti deboli, il tester scrive un programma speciale per automatizzare la risoluzione dei problemi.

Un'altra professione simile è qa engineer, specialista della qualità del prodotto. La sua principale differenza è che non cerca errori nel codice, ma cerca di evitarli. Scoprire in dettaglio le esigenze del cliente, pianificare lo sviluppo, stabilire la comunicazione tra i gruppi di programmatori: tutte queste sono le responsabilità dell'ingegnere qa. Spesso non c'è nemmeno bisogno di conoscere il linguaggio di programmazione, è più importante capire le fasi di sviluppo e le caratteristiche del project management.

La professione è appetibile per il suo stipendio: anche un principiante qui può essere pagato 50mila al mese.

Questa è la professione IT più richiesta del 2017, secondo una ricerca di StackOverFlow. I programmatori Web si dividono in due categorie: front-end e back-end (sono spesso crittografati come UX/UI design). I primi seguono tutto ciò che riguarda la parte utente: l'usabilità dell'applicazione e del sito, l'uso intuitivo e solo una bella immagine. I secondi stanno lavorando sulla componente tecnica: la logica del sito, le sue funzioni, l'interazione con il database. Per rendere moderna la pagina su Internet, gli sviluppatori seguono corsi html e php, master css, java-script, programmazione python.

Il tuo stipendio dipenderà dal numero di strumenti che possiedi. La più piccola remunerazione per i codificatori html, ricevono da 25 mila al mese.

  • programmatore 1C

Una caratteristica della programmazione 1C è una stretta connessione con l'industria economica. Ad esempio, per calcolare correttamente lo stipendio di 3.000 persone in una fabbrica, è necessario archiviare da qualche parte i dati sulle loro ore di lavoro, salari, assenze per malattia, ecc. Questo compito è svolto dal programma 1C-enterprise. 1C-programmer imposta i programmi di contabilità e gestione dei documenti in modo che i documenti vengano facilmente scaricati, i report vengano generati automaticamente.

La possibile routine lavorativa è più che compensata dall'ordine degli stipendi. Se parliamo di una tariffa fissa, un programmatore 1C principiante troverà immediatamente un posto vacante con uno stipendio di 45 mila al mese e uno specialista leader riceve da 120. Ma nel caso del libero professionista, i guadagni dipenderanno dalle tue capacità e dal numero di ore lavorative settimanali. I professionisti guadagnano sia 200 che 500K al mese.

La polemica sui veri programmatori continua fino ad oggi.

Questo tizio IT non è davvero un programmatore. La sua particolarità è che è molto esperto di hardware. Collega una stampante, un laptop, un proiettore, configura il suo funzionamento, distribuisci Internet e progetta una rete locale complicata: per lui è tutto. I guru dei cavi e delle stampanti funzionanti sono pagati da 25 mila rubli e lo stipendio di un programmatore-amministratore di sistema con una buona esperienza può arrivare fino a 150 mila al mese.

È un product manager, è un product owner. Il product manager funge da traduttore tra il cliente, che non comprende la tecnologia dell'informazione, e il programmatore che esegue. Sembra che questo sia un lavoro dal nulla - che il cliente non riesca a capirlo dai programmatori stessi?! Non potranno fare bene. È il product manager che può spiegare la funzionalità al cliente e quindi formulare il compito esatto per gli specialisti IT. È responsabilità del proprietario del prodotto garantire che l'app, il sito Web o il gioco finiti portino il massimo della gioia e del valore all'utente.

  • Direttore del prodotto IT

Qualsiasi specialista IT di successo può raggiungere la posizione più alta nella sfera IT: chief procurement officer (in breve CPO). Questa persona conosce a fondo il prodotto, comprende il sistema di codifica, conosce le migliori strategie per la creazione di software. Il CIO di un'azienda di medie dimensioni può riferire a 30-50 persone. Reddito medio...ben al di sopra della media.

Insegnare la programmazione all'università

Il modo più ovvio per diventare un programmatore è iscriversi a un profilo appropriato in un'università. La vita della maggior parte degli specialisti non è più possibile senza le tecnologie it. In una certa misura, sia ai matematici che ai chimici e ai biologi viene insegnato a maneggiare il codice. Ma per non soffrire in materie che non ti interessano e per studiare solo discipline specializzate, scegli una delle seguenti direzioni:

Ogni opzione ha le sue caratteristiche. Gli scienziati sono laureati da un dipartimento, i manager sono laureati dall'altro e i veri anti-hacker sono laureati dal terzo! Per ulteriori informazioni su questo, dai un'occhiata alla nostra infografica. Gli specialisti di informatica del futuro fanno meglio a scegliere le università tecniche. Questi profili sono in, e altri.

Formazione per programmatori universitari

Non devi aspettare la laurea per dedicarti al tuo passatempo preferito. Puoi iniziare la formazione come programmatore dopo la nona elementare, devi solo scegliere il college giusto. Non ci sono così tante specialità adatte:

  • 09.02.03 Programmazione in sistemi informatici;
  • 09.02.05 Informatica Applicata;
  • 02.09.07 Sistemi informativi e programmazione.

In totale, ci sono 71 istituzioni di istruzione professionale secondaria nel paese con le aree di formazione di cui abbiamo bisogno. Troverai questi profili in College of Information Technologies di San Pietroburgo, Petrovsky College, Novosibirsk College of Electronics and Computer Science, v Collegio Tecnologico degli Urali "MEPhI" e molti altri.

Corsi di formazione aggiuntivi

Hanno iniziato a imparare a programmare in Russia non molto tempo fa, quindi trovare un corso professionale di alta qualità è un'intera avventura. Inoltre, non tutte le opzioni sono gratuite. Per evitare di sprecare denaro, presta attenzione alle recensioni, alla facoltà, al programma e alle prospettive di lavoro.

  • Piattaforme online

Puoi imparare il linguaggio di programmazione che ti piace da solo a un ritmo conveniente su una delle risorse di formazione. Ad esempio su INTUIT è facile trovare un corso di programmazione java. Dopo aver superato con successo il collaudo finale, il sistema rilascerà un certificato gratuito.

  • Scuole online

Se l'idea dello studio autonomo non è di tuo gradimento, dai un'occhiata più da vicino alle scuole online. Un vantaggio significativo: molto spesso i corsi vengono tenuti qui da programmatori praticanti che non solo condivideranno le conoscenze generali, ma racconteranno anche casi reali interessanti. Alla fine della formazione danno un diploma e promettono di aiutare con l'occupazione. La formazione è “ufficiale”, si può ottenere anche una detrazione fiscale. Ma costa anche parecchio. Il corso annuale costerà 150 mila rubli. Ecco, come appari: questa è una grossa spesa o un investimento intelligente in te stesso.

  • Corsi a tempo pieno

Per chi vuole vedere l'insegnante non attraverso lo schermo del monitor, ma dal vivo, ci sono corsi in presenza. Ad esempio, MASSIMO conduce lezioni nello studio della sfera informatica per le scolaresche Competenze digitali. C'è anche la programmazione e puoi venire alla lezione introduttiva gratuitamente.


Come si accede alla specialità Programmazione e cosa prendere?

Le università più spesso richiedono ai futuri specialisti di informatica i risultati dell'Esame di Stato unificato in Lingua russa, matematica specializzata e informatica... Alcuni potrebbero chiedere di più e inglese.

Cosa fare ora per aumentare le tue possibilità di una carriera di programmatore di successo

Devi capire che la sfera IT si sta sviluppando a una velocità incredibile. Fisicamente, le università non avranno mai il tempo di adattare i programmi per fornire agli studenti le informazioni più recenti. L'università getterà le basi sotto forma di capacità linguistiche di base e algoritmi standard. Ecco perché il lavoro di un programmatore è impossibile senza una continua autoeducazione. I linguaggi di programmazione vengono modernizzati, gli sviluppatori stanno creando nuovi strumenti convenienti per semplificare il lavoro per se stessi e i colleghi, stanno inventando nuovi algoritmi per risolvere i problemi. Inoltre ti diremo dove e cosa imparare di più per avere successo nell'it-sphere:

  • Bot inglese. Molte risorse sono in inglese. Per non aspettare che qualcuno abbia pietà e traduca il testo per te, prenditi cura della lingua in anticipo. Questo è così importante che alcuni corsi a pagamento forniscono lezioni di lingua ai loro studenti come parte del loro curriculum principale.
  • Dai un'occhiata sui forum it. Le risposte a molte domande possono essere trovate sui forum dei programmatori, come Habrahabr. La comunità professionale condivide generosamente conoscenze e codici utili. È vero, a volte le ricerche richiedono diversi giorni e allo stesso tempo devi comprendere nuovi strumenti che prima non conoscevi. E sì, spesso il link più utile sarà in inglese.
  • Immergiti nei libri. Non abbiate fretta di acquistare la prima letteratura che incontrate nella libreria più vicina. C'è un sacco di materiale inutile e irrimediabilmente obsoleto sugli scaffali. Anche in questo caso, molte opere sono state originariamente scritte in inglese e la versione russa potrebbe soffrire di gravi difetti di traduzione. Puoi iniziare con i nostri consigli e poi capirai che aspetto ha un buon contenuto.

Hai letto fino alla fine? Ecco un altro paio di fatti interessanti che ti aiuteranno a immaginare meglio la professione di programmatore.

  • Se vai sul sito di lavoro, vedrai: sono richiesti misteriosi sviluppatori di livello intermedio o senior. I programmatori hanno una propria gradazione del grado di professionalità: junior, middle e senior... I primi, principianti, devono padroneggiare tutti i mezzi della lingua in cui lavorano. I secondi sono specialisti IT con 3-5 anni di esperienza. Altri ancora non solo sanno tutto sul codice, ma possono anche organizzare il lavoro del team di sviluppo sul progetto. Con la crescita del grado, anche lo stipendio cresce di conseguenza!
  • Un ritratto popolare di un tipico programmatore è un uomo taciturno con gli occhiali e una tazza di caffè da un litro. In effetti, questa immagine è vera solo per il raro libero professionista. E non devi essere un introverso per entrare in una professione. Come in qualsiasi altra attività, le competenze troppo professionali sono importanti: spiegare, discutere, negoziare, uscire dal conflitto.

Questo ritratto di un programmatore è irrimediabilmente obsoleto. I moderni it-specialisti sono ragazzi socievoli e positivi!

  • Un intero gruppo di specialisti IT sta lavorando a grandi progetti. Ognuno è responsabile del proprio pezzo di codice e tutti i pezzi alla fine dovrebbero essere assemblati in un unico prodotto. Per fare in modo che ciò accada, i team tengono costantemente riunioni di pianificazione, aiutando i colleghi a trovare e correggere le carenze. E alcuni uffici hanno persino TV box e giochi da tavolo. Il cambio collettivo di attività aiuta a stabilire un contatto e a cambiare quando il lavoro è "alto".
  • I programmatori celebrano la loro vacanza professionale il 13 settembre. La data non è stata scelta a caso: è il 256° giorno dell'anno, la massima potenza possibile di due, che rientra nel numero 365.

Per iniziare il tuo percorso verso una carriera come programmatore è la risposta alla domanda, hai bisogno di programmazione? Questa domanda non si applica a coloro che studiano o hanno studiato in una specialità vicina alla programmazione. Se a scuola eri più bravo in matematica che in discipline umanistiche, se ti piace passare molto tempo al computer, se vuoi imparare qualcosa di nuovo, allora la programmazione fa per te.

Da dove cominciare

Esistono diverse opzioni per lo sviluppo di eventi, a seguito delle quali una persona diventa un programmatore. Il primo sono i genitori-programmatori che hanno insegnato tutto ai loro figli. Questi ragazzi non hanno nemmeno bisogno di andare all'università. La seconda opzione è la professione alla moda di un programmatore. Dopo la scuola, era necessario scegliere dove andare a studiare, e ho scelto la direzione alla moda dell'IT, sembrava che mi piacesse. E l'ultima opzione è un hobby che è diventato lavoro.

Se non ti è successo nulla di quanto sopra, puoi scegliere tra quattro opzioni:

  • autoeducazione... Questa opzione può essere utilizzata sia indipendentemente che in combinazione con altri metodi. Internet è pieno e applicazioni che ti aiutano a imparare vari linguaggi e tecnologie di programmazione. Ma questo è il percorso più difficile per i principianti.
  • L'Università... Se ti stai diplomando al liceo e vuoi diventare un programmatore, allora vai all'università. Se non per conoscenza, allora dietro una crosta. Può servire come bonus quando si fa domanda per un lavoro. Anche se acquisirai anche una certa conoscenza. Ma non dimenticare di studiare anche da solo. La scelta di un'università dovrebbe essere affrontata in modo molto responsabile. Studia attentamente i programmi di studio e scegli le migliori università tecniche.
  • Mentore... Sarà molto bello se trovi qualcuno che accetterà di aiutarti e indicarti la giusta direzione. Suggerirà libri e risorse adatti, esaminerà il tuo codice e fornirà consigli utili. A proposito, abbiamo già scritto su dove puoi trovare un mentore. Puoi cercare un mentore tra programmatori familiari, a riunioni e conferenze IT, sui forum online e così via.
  • Corsi pratici specializzati... Prova a cercare nella tua città corsi che ti insegnano un linguaggio o una tecnologia di programmazione. Sono rimasto piacevolmente sorpreso dal numero di tali corsi a Kiev, inclusi gratuiti e con successivo impiego.

Quale lingua, tecnologia e direzione scegliere

Quando diventi programmatore, dopo un anno o due sarai libero di scegliere la lingua che preferisci. Ma quando si sceglie il primo linguaggio di programmazione, un principiante dovrebbe considerare i seguenti criteri:

  • Disponibilità sul mercato di posti vacanti... L'obiettivo finale di questo percorso è trovare un lavoro come programmatore. E questo sarà difficile se nessuno cerca sviluppatori nel tuo linguaggio di programmazione sul mercato del lavoro. Controlla i siti di lavoro, vedi chi sta cercando di più, elenca una dozzina di lingue. E passa al criterio successivo.
  • Livello di ingresso basso... Se devi dedicare molto tempo all'apprendimento di una lingua, questo può scoraggiarti dal programmare in generale. Leggi le lingue che hai scelto sopra. Sfoglia la letteratura che devi leggere per imparare queste lingue. E seleziona quelli di cui è scritto che sono facili o che ti sono sembrati facili. Tali linguaggi possono essere PHP, Ruby, Python.
  • L'emozione del processo... Se non ti piace scrivere codice nella lingua scelta, non ti piacerà il processo, il lavoro e la vita. Ne hai bisogno? Fai la scelta giusta.

Inoltre, dovrai decidere la direzione della programmazione. Mobile, desktop, giochi, web, programmazione di basso livello e così via. Le industrie più popolari e relativamente leggere sono lo sviluppo per client web, mobili e desktop. Per ogni direzione, una lingua può adattarsi e non adattarsi affatto a un'altra. Cioè, quando si sceglie un linguaggio di programmazione, vale anche la pena partire da questo fattore.

Impara comunque le tecnologie web. È un linguaggio di markup, stili e questo renderà la tua pagina dinamica. Nel passaggio successivo, impara un linguaggio lato server (Python, PHP, Ruby e altri) e i framework web adatti. Esaminare i database: quasi tutti i posti vacanti di programmatori lo menzionano.

Come ottenere l'esperienza iniziale

Senza esperienza, non troverai un lavoro. Senza un lavoro, non acquisirai esperienza. Il circolo vizioso della vita reale. Ma va bene, ne usciremo.

Innanzitutto, non aspettare di aver letto tutti i libri sul linguaggio di programmazione prescelto. Inizia a scrivere le tue prime righe di codice dopo il secondo capitolo del libro. Completa tutte le attività dai libri, riscrivi gli esempi, capiscili. Complica gli esempi e i compiti dei libri con le tue idee. Crea i tuoi compiti per il materiale coperto. Risolvi questi compiti.

In secondo luogo, devi trovare i tuoi primi progetti. Questa è probabilmente l'opzione più difficile, ma funzionante. Dovrai cercare tu stesso gli ordini, evaderli, preoccuparti del pagamento. Per un principiante, questo è scoraggiante, ma poi tutte le altre opzioni sembreranno un gioco da ragazzi. I progetti completati possono essere scritti in esperienza e mostrati al tuo futuro datore di lavoro. I progetti reali sono un grande vantaggio per il tuo curriculum.

Se conosci l'inglese, è meglio registrarsi su scambi di lingua inglese. Il mercato è più grande lì. Se non conosci l'inglese, imparalo. Nel frattempo, gli scambi freelance in lingua russa sono a tua disposizione. Cerca piccoli progetti che corrispondono o leggermente al di sopra del tuo livello di competenza. Fai domanda per un paio di dozzine di questi incarichi. E preparati a ricevere un mare di rifiuti. Ma se una o due applicazioni si attivano, hai la possibilità di ottenere un'esperienza reale.

Un'altra buona opzione per ottenere un'esperienza reale è l'open source. Tali progetti hanno sempre bisogno di nuove persone, anche principianti. Puoi cercare bug nel progetto o guardare nel bug tracker e suggerire metodi per risolverli. Trovare tali progetti è facile su GitHub o. Sentiti libero di fare domande lì.

Il quarto modo per acquisire esperienza è aiutare i programmatori familiari. Chiedi loro di darti piccoli e semplici compiti. Se qualcosa non funziona, avrai sempre qualcuno a cui rivolgerti. E allo stesso tempo parteciperai a un vero progetto.

L'ultimo modo sono i tuoi progetti, vari hackathon o lavorare in uno spazio di coworking. È difficile iniziare i propri progetti, è meglio cercare conoscenti o amici.

Perché scegliere Python?

Parliamo ancora un po' della scelta del tuo primo linguaggio di programmazione. La prima lingua dovrebbe essere semplice e popolare nel mercato. Questa lingua è Pitone... Consiglio vivamente di sceglierlo come primo linguaggio di programmazione.

Il codice del programma Python è leggibile. Non hai nemmeno bisogno di essere un programmatore per capire in termini generali cosa sta succedendo nel programma. A causa della semplice sintassi di Python, avrai bisogno di meno tempo per scrivere un programma rispetto, ad esempio, a Java. Un enorme database di librerie che ti farà risparmiare un sacco di fatica, nervi e tempo. Python è un linguaggio di alto livello. Ciò significa che non è necessario pensare troppo alle celle di memoria e a cosa metterci. Python è un linguaggio di uso generale. Ed è così semplice che anche i bambini possono impararlo.

Per correttezza, vale la pena menzionare altri linguaggi di programmazione. Giava può essere una buona scelta per un principiante. Questo linguaggio è più popolare di Python, ma anche un po' più complesso. Ma gli strumenti di sviluppo sono molto meglio sviluppati. Basta confrontare Eclipse e IDLE. Dopo Java, sarà più facile passare a lavorare con linguaggi di programmazione di basso livello.

PHPè un'altra lingua molto popolare. E penso che sia anche più semplice di Python. È molto facile trovare un mentore o una soluzione a un problema sul forum. Questo perché nel mondo esiste un numero enorme di programmatori PHP di diversi livelli. PHP non ha importazioni normali, ci sono molte opzioni per risolvere lo stesso problema. Questo rende l'apprendimento più difficile. E PHP è pensato esclusivamente per il web.

Le lingue C e C # molto difficile per un principiante. Rubino- una buona scelta come seconda lingua, ma non come prima. JavaScript- un linguaggio molto semplice, ma non ti insegnerà nulla di buono. E il compito del primo linguaggio di programmazione è ancora quello di insegnarti qualcosa di corretto, di impostare una sorta di logica.

L'inglese è importante?

Importante! Non lo so? Insegnare. Sai? Ottimizzare. Impara a leggere, scrivere, ascoltare e parlare inglese. Focus sulla letteratura tecnica. Ascolta podcast in lingua inglese. Leggi i tutorial di programmazione in inglese.

Quello che devi sapere oltre al linguaggio di programmazione

Ovviamente, oltre al linguaggio di programmazione e all'inglese, devi sapere qualcos'altro. Ma cosa dipende dalla direzione che scegli. Un programmatore web deve conoscere HTML, CSS, JavaScript. Un programmatore desktop insegna l'API del sistema operativo e vari framework. Uno sviluppatore di app mobili insegna framework Android, iOS o Windows Phone.

Tutti hanno bisogno di imparare gli algoritmi. Prova a seguire un corso su Coursera o a trovare un libro sugli algoritmi che funzioni per te. Inoltre, è necessario conoscere uno dei database, i modelli di programmazione, le strutture dei dati. Vale anche la pena conoscere i repository di codice. Con almeno uno. La conoscenza dei sistemi di controllo della versione è un must. Scegli Git, è il più popolare. Devi conoscere gli strumenti con cui stai lavorando, il sistema operativo e l'ambiente di sviluppo. E l'abilità principale di un programmatore è quella di essere in grado di Google. Non puoi vivere senza di essa.

Gli ultimi passaggi

Devi preparare un curriculum. Non solo un curriculum, ma. Non dovresti scrivere lì, ma non devi nemmeno tacere sulle tue capacità. Una volta che sei stato invitato per un colloquio, devi prepararti per questo. Scorri il materiale sul tuo curriculum. Devi essere sicuro delle tue conoscenze. Rivedi i progetti su cui hai lavorato, ricorda le tecnologie che hai utilizzato. E avanti - verso un futuro luminoso con una nuova professione di programmatore.

Per iniziare il tuo percorso verso una carriera come programmatore è la risposta alla domanda, hai bisogno di programmazione? Questa domanda non si applica a coloro che studiano o hanno studiato in una specialità vicina alla programmazione. Se a scuola eri più bravo in matematica che in discipline umanistiche, se ti piace passare molto tempo al computer, se vuoi imparare qualcosa di nuovo, allora la programmazione fa per te.

Da dove cominciare

Esistono diverse opzioni per lo sviluppo di eventi, a seguito delle quali una persona diventa un programmatore. Il primo sono i genitori-programmatori che hanno insegnato tutto ai loro figli. Questi ragazzi non hanno nemmeno bisogno di andare all'università. La seconda opzione è la professione alla moda di un programmatore. Dopo la scuola, era necessario scegliere dove andare a studiare, e ho scelto la direzione alla moda dell'IT, sembrava che mi piacesse. E l'ultima opzione è un hobby che è diventato lavoro.

Se non ti è successo nulla di quanto sopra, puoi scegliere tra quattro opzioni:

  • autoeducazione... Questa opzione può essere utilizzata sia indipendentemente che in combinazione con altri metodi. Internet è pieno e applicazioni che ti aiutano a imparare vari linguaggi e tecnologie di programmazione. Ma questo è il percorso più difficile per i principianti.
  • L'Università... Se ti stai diplomando al liceo e vuoi diventare un programmatore, allora vai all'università. Se non per conoscenza, allora dietro una crosta. Può servire come bonus quando si fa domanda per un lavoro. Anche se acquisirai anche una certa conoscenza. Ma non dimenticare di studiare anche da solo. La scelta di un'università dovrebbe essere affrontata in modo molto responsabile. Studia attentamente i programmi di studio e scegli le migliori università tecniche.
  • Mentore... Sarà molto bello se trovi qualcuno che accetterà di aiutarti e indicarti la giusta direzione. Suggerirà libri e risorse adatti, esaminerà il tuo codice e fornirà consigli utili. A proposito, abbiamo già scritto su dove puoi trovare un mentore. Puoi cercare un mentore tra programmatori familiari, a riunioni e conferenze IT, sui forum online e così via.
  • Corsi pratici specializzati... Prova a cercare nella tua città corsi che ti insegnano un linguaggio o una tecnologia di programmazione. Sono rimasto piacevolmente sorpreso dal numero di tali corsi a Kiev, inclusi gratuiti e con successivo impiego.

Quale lingua, tecnologia e direzione scegliere

Quando diventi programmatore, dopo un anno o due sarai libero di scegliere la lingua che preferisci. Ma quando si sceglie il primo linguaggio di programmazione, un principiante dovrebbe considerare i seguenti criteri:

  • Disponibilità sul mercato di posti vacanti... L'obiettivo finale di questo percorso è trovare un lavoro come programmatore. E questo sarà difficile se nessuno cerca sviluppatori nel tuo linguaggio di programmazione sul mercato del lavoro. Controlla i siti di lavoro, vedi chi sta cercando di più, elenca una dozzina di lingue. E passa al criterio successivo.
  • Livello di ingresso basso... Se devi dedicare molto tempo all'apprendimento di una lingua, questo può scoraggiarti dal programmare in generale. Leggi le lingue che hai scelto sopra. Sfoglia la letteratura che devi leggere per imparare queste lingue. E seleziona quelli di cui è scritto che sono facili o che ti sono sembrati facili. Tali linguaggi possono essere PHP, Ruby, Python.
  • L'emozione del processo... Se non ti piace scrivere codice nella lingua scelta, non ti piacerà il processo, il lavoro e la vita. Ne hai bisogno? Fai la scelta giusta.

Inoltre, dovrai decidere la direzione della programmazione. Mobile, desktop, giochi, web, programmazione di basso livello e così via. Le industrie più popolari e relativamente leggere sono lo sviluppo per client web, mobili e desktop. Per ogni direzione, una lingua può adattarsi e non adattarsi affatto a un'altra. Cioè, quando si sceglie un linguaggio di programmazione, vale anche la pena partire da questo fattore.

Impara comunque le tecnologie web. È un linguaggio di markup, stili e questo renderà la tua pagina dinamica. Nel passaggio successivo, impara un linguaggio lato server (Python, PHP, Ruby e altri) e i framework web adatti. Esaminare i database: quasi tutti i posti vacanti di programmatori lo menzionano.

Come ottenere l'esperienza iniziale

Senza esperienza, non troverai un lavoro. Senza un lavoro, non acquisirai esperienza. Il circolo vizioso della vita reale. Ma va bene, ne usciremo.

Innanzitutto, non aspettare di aver letto tutti i libri sul linguaggio di programmazione prescelto. Inizia a scrivere le tue prime righe di codice dopo il secondo capitolo del libro. Completa tutte le attività dai libri, riscrivi gli esempi, capiscili. Complica gli esempi e i compiti dei libri con le tue idee. Crea i tuoi compiti per il materiale coperto. Risolvi questi compiti.

In secondo luogo, devi trovare i tuoi primi progetti. Questa è probabilmente l'opzione più difficile, ma funzionante. Dovrai cercare tu stesso gli ordini, evaderli, preoccuparti del pagamento. Per un principiante, questo è scoraggiante, ma poi tutte le altre opzioni sembreranno un gioco da ragazzi. I progetti completati possono essere scritti in esperienza e mostrati al tuo futuro datore di lavoro. I progetti reali sono un grande vantaggio per il tuo curriculum.

Se conosci l'inglese, è meglio registrarsi su scambi di lingua inglese. Il mercato è più grande lì. Se non conosci l'inglese, imparalo. Nel frattempo, gli scambi freelance in lingua russa sono a tua disposizione. Cerca piccoli progetti che corrispondono o leggermente al di sopra del tuo livello di competenza. Fai domanda per un paio di dozzine di questi incarichi. E preparati a ricevere un mare di rifiuti. Ma se una o due applicazioni si attivano, hai la possibilità di ottenere un'esperienza reale.

Un'altra buona opzione per ottenere un'esperienza reale è l'open source. Tali progetti hanno sempre bisogno di nuove persone, anche principianti. Puoi cercare bug nel progetto o guardare nel bug tracker e suggerire metodi per risolverli. Trovare tali progetti è facile su GitHub o. Sentiti libero di fare domande lì.

Il quarto modo per acquisire esperienza è aiutare i programmatori familiari. Chiedi loro di darti piccoli e semplici compiti. Se qualcosa non funziona, avrai sempre qualcuno a cui rivolgerti. E allo stesso tempo parteciperai a un vero progetto.

L'ultimo modo sono i tuoi progetti, vari hackathon o lavorare in uno spazio di coworking. È difficile iniziare i propri progetti, è meglio cercare conoscenti o amici.

Perché scegliere Python?

Parliamo ancora un po' della scelta del tuo primo linguaggio di programmazione. La prima lingua dovrebbe essere semplice e popolare nel mercato. Questa lingua è Pitone... Consiglio vivamente di sceglierlo come primo linguaggio di programmazione.

Il codice del programma Python è leggibile. Non hai nemmeno bisogno di essere un programmatore per capire in termini generali cosa sta succedendo nel programma. A causa della semplice sintassi di Python, avrai bisogno di meno tempo per scrivere un programma rispetto, ad esempio, a Java. Un enorme database di librerie che ti farà risparmiare un sacco di fatica, nervi e tempo. Python è un linguaggio di alto livello. Ciò significa che non è necessario pensare troppo alle celle di memoria e a cosa metterci. Python è un linguaggio di uso generale. Ed è così semplice che anche i bambini possono impararlo.

Per correttezza, vale la pena menzionare altri linguaggi di programmazione. Giava può essere una buona scelta per un principiante. Questo linguaggio è più popolare di Python, ma anche un po' più complesso. Ma gli strumenti di sviluppo sono molto meglio sviluppati. Basta confrontare Eclipse e IDLE. Dopo Java, sarà più facile passare a lavorare con linguaggi di programmazione di basso livello.

PHPè un'altra lingua molto popolare. E penso che sia anche più semplice di Python. È molto facile trovare un mentore o una soluzione a un problema sul forum. Questo perché nel mondo esiste un numero enorme di programmatori PHP di diversi livelli. PHP non ha importazioni normali, ci sono molte opzioni per risolvere lo stesso problema. Questo rende l'apprendimento più difficile. E PHP è pensato esclusivamente per il web.

Le lingue C e C # molto difficile per un principiante. Rubino- una buona scelta come seconda lingua, ma non come prima. JavaScript- un linguaggio molto semplice, ma non ti insegnerà nulla di buono. E il compito del primo linguaggio di programmazione è ancora quello di insegnarti qualcosa di corretto, di impostare una sorta di logica.

L'inglese è importante?

Importante! Non lo so? Insegnare. Sai? Ottimizzare. Impara a leggere, scrivere, ascoltare e parlare inglese. Focus sulla letteratura tecnica. Ascolta podcast in lingua inglese. Leggi i tutorial di programmazione in inglese.

Quello che devi sapere oltre al linguaggio di programmazione

Ovviamente, oltre al linguaggio di programmazione e all'inglese, devi sapere qualcos'altro. Ma cosa dipende dalla direzione che scegli. Un programmatore web deve conoscere HTML, CSS, JavaScript. Un programmatore desktop insegna l'API del sistema operativo e vari framework. Uno sviluppatore di app mobili insegna framework Android, iOS o Windows Phone.

Tutti hanno bisogno di imparare gli algoritmi. Prova a seguire un corso su Coursera o a trovare un libro sugli algoritmi che funzioni per te. Inoltre, è necessario conoscere uno dei database, i modelli di programmazione, le strutture dei dati. Vale anche la pena conoscere i repository di codice. Con almeno uno. La conoscenza dei sistemi di controllo della versione è un must. Scegli Git, è il più popolare. Devi conoscere gli strumenti con cui stai lavorando, il sistema operativo e l'ambiente di sviluppo. E l'abilità principale di un programmatore è quella di essere in grado di Google. Non puoi vivere senza di essa.

Gli ultimi passaggi

Devi preparare un curriculum. Non solo un curriculum, ma. Non dovresti scrivere lì, ma non devi nemmeno tacere sulle tue capacità. Una volta che sei stato invitato per un colloquio, devi prepararti per questo. Scorri il materiale sul tuo curriculum. Devi essere sicuro delle tue conoscenze. Rivedi i progetti su cui hai lavorato, ricorda le tecnologie che hai utilizzato. E avanti - verso un futuro luminoso con una nuova professione di programmatore.

1.1 Perché ne hai bisogno?

Sii uno scriba! Ti libererà dalle tasse, ti proteggerà da ogni tipo di lavoro. Ti toglierà dalla zappa e... e tu non porterai il cesto. Ti separerà dal canottaggio e dalla pagaia, ti allontanerà dalla seccatura. Non sarai sotto molti governanti e molti governanti.
[...]
Diventa uno scriba! I suoi membri sono lisci e le tue mani diventeranno morbide. Quando esci, sei vestito bene, sei esaltato, i cortigiani ti interrogano. Quando qualcuno cerca una persona qualificata, trova te. Chi non sa nulla cerca uno scienziato. Egli [è] esaltato al punto da ricevergli [il titolo di] sera, lodato per il suo comportamento eccellente.

Papiro Apastasi II, Antico Egitto

I tempi passano, ma non cambia nulla. La ragione principale è che i programmatori sono molto necessari nel mercato del lavoro. La domanda è la causa principale di tutti gli altri fattori. Buone condizioni di lavoro, stipendi alti, capi leali. Tutto questo sembra molto, molto attraente. In effetti, la professione di programmatore è l'unico ascensore sociale del nostro tempo. Non hai bisogno di genitori ricchi, connessioni estese con tutti i tipi di "persone giuste", un'istruzione superiore prestigiosa e altri attributi delle persone di successo nel nostro tempo. Tutto ciò di cui hai bisogno è la capacità di creare programmi per computer o siti Web. Puoi iniziare a programmare vivendo nella provincia più lontana e meno prestigiosa. E ottenere un successo fantastico nella vita.

A titolo di prova, nel peggiore dei casi, la tua carriera potrebbe assomigliare a questa. Primo, sei mesi o un anno di studio indipendente. Quelli. studiare senza un ampio aiuto esterno. Il massimo che puoi, chiedi qualcosa sui forum tematici. Sarai sicuramente aiutato. Ma il 99% leggerà libri grandi e spessi e farà esercizi da lì, 3-4 ore al giorno. Quindi puoi essere pagato per le tue conoscenze. E sarà reale trovare un lavoro del genere. Avendo lavorato così per un anno, per lo stipendio più comune di $ 300-400. Avrai un'esperienza che ti apre ogni porta della vita. Puoi ricevere da $ 1000 a distanza e\o andare dove preferisci. Anche in un altro paese. E vivere lì non è peggio della gente del posto. Non sostengo lo stupido slogan "vai via da ...", ma se vuoi davvero cambiare residenza permanente. Questa professione è la via più breve e più semplice.

Una volta terminato il tirocinio, non vivrai mai peggio. Questo sarà molto difficile. Anche puramente psicologicamente, la professione è rilassante. Non avrai paura di crisi, guerre, disastri naturali e cattivi capi. Perché in qualsiasi momento puoi spostarti ovunque e cambiare lavoro per un altro. Avrai sempre abbastanza soldi per un "rotolo di burro" e anche per l'estinzione anticipata del mutuo.

1.2 Chi può diventare un programmatore?

Ora una piccola mosca nell'unguento. Chiunque sia in grado di lavorare con la propria testa può diventare un programmatore. In effetti, il lavoro di testa è duro quanto il duro lavoro fisico. Durante l'esercizio, il cervello consuma molti nutrienti ed energia. Deve essere fatto lavorare con uno sforzo di volontà. Gli amanti del lavoro di testa non si trovano più spesso delle persone che amano l'attività fisica. Sappiamo tutti quante persone possono offrirsi volontarie per fare esercizio al mattino e andare in palestra regolarmente per anni. Circa lo stesso numero vuole caricare volontariamente di lavoro il proprio cervello. Ci vorrà volontà e pazienza. Se sei pronto a risolvere problemi complessi, problemi "irrisolvibili" per più di un anno, puoi diventare un programmatore.

Naturalmente, in questa parte ho dovuto elencare che tipo di istruzione dovresti avere. Quali corsi, diplomi e competenze devi avere. Ma tutto questo è secondario. Perché diplomi, competenze e corsi sono redditizi. Se non sei pronto a rosicchiare il granito della scienza, niente brillerà per te. Altrimenti, sarai in grado di acquisire tutte le conoscenze necessarie in sei mesi.

Ha senso che più conosci il tuo computer, più facile sarà il tuo percorso. Devi essere un utente esperto di computer. Quelli. sapere cos'è un file system, in termini di come archiviare i file lì, come aprirli con programmi diversi, come installare programmi e utilizzarne uno, se ciò non richiede alcuna conoscenza speciale su cosa fanno questi programmi. Penso che in sei mesi si possa imparare a usare un computer a sufficienza. Anche se prima non l'avevi mai visto.

La maggior parte di coloro che desiderano diventare programmatori, appassionati di giochi per computer, i cui genitori hanno spento Internet per tornare alla realtà. Torna in realtà, dove devi nutrirti, non un personaggio virtuale. Configurato dagli amministratori di sistema, il livello più basso. Vanno a lavorare nel supporto tecnico, perché l'unica cosa che possono usare è un computer. Queste persone hanno già la base di conoscenze necessaria.

Se hai difficoltà a comunicare con un computer, il mio consiglio è di imparare prima a usarlo con sicurezza. Se non altro perché i problemi che incontrerai durante l'apprendimento della programmazione richiedono lo stesso approccio e le stesse abilità di quando risolvi i problemi di un utente comune. Pertanto, gli utenti inesperti devono diventare esperti. Ci sono tonnellate di letteratura gratuita, corsi online, tutorial video e utenti esperti in giro per aiutarti. Per lo meno, i compiti nell'apprendimento della programmazione sono molto più difficili dei compiti di un utente normale. Buone capacità informatiche sono responsabilità di qualsiasi programmatore!

Il resto delle conoscenze, come le lingue straniere e persino la matematica, possono essere considerate insignificanti nella fase iniziale.
Certo, ci saranno persone che chiederanno: "Aspetta !!! E se fossi stupido (vecchio, disabile, ecc.) ??? Che QI dovrei avere???"

In effetti, non esiste un modo al 100% per definire la tua capacità di programmazione con alcuni criteri formali. Secondo un famoso neuroscienziato, il cervello umano è molto variabile. Se il peso, l'altezza, le dimensioni dei principali organi umani variano, convenzionalmente + \ - 50% nella maggior parte degli adulti, le dimensioni dei lobi del cervello variano di dieci volte. Pertanto, è molto difficile capire quale attività è più adatta a te. Per questo, è necessario creare un nuovo tipo di dispositivo medico già follemente costoso. Quindi assumi specialisti rari e costosi che analizzeranno le letture del dispositivo. E non è un dato di fatto che per i tuoi soldi, semplicemente non commetteranno errori. Come accade in tutti i progetti complessi e costosi, nella fase iniziale.

Certo, tutti pensano che tutto si possa ridurre a qualcosa di simile a un esame di ammissione per un'università, dove la materia principale sarà la matematica. Ma no! Mi affretto a sconvolgere tutti. All'esterno, la matematica è simile alla programmazione, ma questo è solo a prima vista. Ricordo di aver letto un estratto da un libro di 10 anni fa in cui l'autore, un programmatore esperto, diceva che la programmazione è più simile alla linguistica. Si si! Secondo lui, i linguisti professionisti possono essere programmatori migliori dei matematici professionisti! Non posso essere d'accordo al 100%. Ma c'è una venatura razionale in questo.

Facciamo un esempio. Devi redigere istruzioni per tuo figlio per acquistare generi alimentari nel negozio. Tipo: “Vai al negozio a cercare lo zucchero di canna, se non ce l'hai, compri lo zucchero normale. Poi compri il pane, una pagnotta bianca e nera. Se non c'è il nero, compra un grigio ... "Rimarrai sorpreso, ma questo tipo di istruzioni è pura programmazione. Inoltre, puoi scriverli in lingue straniere. Oppure puoi, usando la sintassi di un linguaggio di programmazione allo stesso modo di uno straniero. E un altro programmatore sarà in grado di capire cosa è scritto.

Per coloro che non credono, diamo un'occhiata a semplici logiche implementate in centinaia di programmi. “Richiedi il numero di righe selezionate nella tabella. Se la quantità è maggiore di zero, rendere attivo il pulsante "Applica". Altrimenti passivo ... ”Puoi anche scrivere questo algoritmo in una lingua nativa o straniera naturale o in un linguaggio di programmazione.
Sarai sorpreso anche tu, ma tradurre algoritmi da un linguaggio naturale in un linguaggio di programmazione è il lavoro più comune. Quando a un programmatore viene affidato il compito di implementare una logica chiara inventata da altri. Al contrario, è necessaria anche la traduzione della logica programmata in linguaggio naturale. Quando questi "altri" hanno bisogno di descrivere come funziona esattamente il programma. Sì, è vero, C ++, PHP e altri linguaggi di programmazione possono essere percepiti come speciali stranieri. A volte è necessaria anche la matematica, ma, di norma, quando si eseguono alcune attività altamente specializzate che potresti non incontrare mai. Puoi iniziare senza alcun background matematico.

La programmazione è un ramo separato della scienza. È in qualche modo legato alla matematica. Ma può anche essere associato alla linguistica. Certamente alcune tecnologie di programmazione sono legate a qualcos'altro. Pertanto, è impossibile dire semplicemente se avrai successo o meno.

1.3 Tre tappe nel percorso verso la professione

Ora che sei abbastanza stanco di ogni sorta di assurdità da quasi programmatore e di fatti un po' sorprendenti, è ora di passare direttamente allo studio. Il tuo sviluppo professionale dovrebbe avvenire in tre fasi:

1) Periodo di prova. Dovresti provare questa attività.
Il fatto è che padroneggiare una professione richiede sei mesi o addirittura un anno di studio. E devi capire il prima possibile se puoi o no. Dovresti investire il tuo tempo e anche denaro. O la delusione attende.

Durante questo periodo, è necessario padroneggiare 2-3 tecnologie di programmazione reale. Ma non dovrebbero volerci molto tempo per padroneggiarli. Se puoi farlo, ha senso passare i sei mesi o un anno promessi nella fase successiva.

2) Studio autonomo.
Se hai superato la fase precedente, puoi investire il tuo tempo nella padronanza della professione.

3) Tirocinio.
Il tuo primo lavoro e i primi soldi.

2 Periodo di prova

2.1 Cosa fare?!

In effetti, c'è solo un modo per sapere se puoi o no. “Per iniziare a programmare, devi iniziare a programmare. E per iniziare a programmare, devi iniziare a programmare! "

Molte persone considerano la programmazione un'occupazione difficile, devi sapere molto per lavorare come programmatore. Ed è vero. Se fosse facile, non verrebbero pagati stipendi così alti. Ma d'altra parte, ci sono molti libri di pubblico dominio. Inoltre, la maggior parte di essi sono di alta qualità. I professionisti di grandi aziende tendono a scrivere libri o articoli enormi che descrivono la loro preziosa esperienza agli altri. Gente strana, certo. Invece di guadagnare molti soldi per il loro lavoro, si dedicano alla scrittura di libri, per i quali pagano meno, o addirittura niente. Queste "stranezze" saranno discusse in seguito. E ora dobbiamo imparare chiaramente, ci sono pochissimi segreti in questa professione. La maggior parte delle domande viene risolta effettuando una ricerca in Internet. Pertanto, nonostante la complessità, la programmazione è una delle professioni più accessibili.

Durante il periodo di prova, devi decidere le tecnologie su cui iniziare. Non dovrebbero essere troppo complicati e richiedere molto tempo per l'apprendimento. Ma, d'altra parte, devono essere richiesti dal mercato in modo che anche quelle due settimane o un mese spesi per loro non vadano sprecati.

Personalmente la mia opinione dovrebbe essere:

2.1.1 HTML
Un linguaggio di programmazione molto semplice. Per essere più precisi, questo non è nemmeno il linguaggio di programmazione a cui tutti sono abituati. Procedurali e orientati agli oggetti, come C++, PHP, Ruby, ecc. È impossibile scrivere "cosa fare nel negozio" su di esso. È un linguaggio di markup che incontrerai su qualsiasi pagina web. Le istruzioni di questa lingua sono simili a questa: "Questo paragrafo dovrebbe avere un carattere corsivo", "Mostra un'immagine qui picture.png", "La dimensione del carattere di questa parte di testo è di 12 punti. Il colore è rosso".

È un linguaggio molto utile per i principianti. Anche se non ti occupi di sviluppo web, questa conoscenza ti sarà utile. Tempo di sviluppo stimato, 2-5 giorni. Tuttavia, non è necessario memorizzare dati di riferimento estesi. Basta imparare a usare questi stessi libri di riferimento. Tra i programmatori, l'HTML non è considerato qualcosa di serio o difficile. Ma l'ignoranza delle basi dell'HTML, che puoi confessare solo alle persone più vicine. I datori di lavoro e i colleghi ti percepiranno come ritardato mentale.

Man mano che impari l'HTML, incontrerai costantemente riferimenti alla tecnologia CSS. La ricerca non è necessaria in questa fase. Ma se ti lasci trasportare dai CSS, questa conoscenza non sarà superflua.

2.1.2 JavaScript

Questo è già un linguaggio di programmazione "reale". Il suo studio è strettamente correlato all'HTML. È qui che ti aspettano le prime vere difficoltà. Sebbene ci sia un'enorme varietà di libri di testo, tutorial video e tutti i tipi di siti in termini di lingua, dove tutto è masticato nei minimi dettagli. Questa sarà una vera prova.

Sicuramente qualcuno è desideroso di iniziare a imparare C, Python e persino Haskell. Ma anche se diventerai un programmatore di sistemi. Molto probabilmente, prima o poi ti imbatterai in HTML e JS.

Uno dei motivi per scegliere JS come primo linguaggio di programmazione è la sua applicabilità in vari campi. A partire dalla logica delle pagine web lato client. Per finire con il linguaggio simile a JS QML, dove gli sviluppatori del framework Qt ci stanno prendendo per le orecchie.

Se un programmatore principiante non conosce cose semplici, non fa molta differenza da dove cominciare. Le tecnologie proposte non richiedono ambienti di sviluppo ed esecuzione grandi e pesanti. Ci sono molti libri di testo e libri di riferimento in russo per loro. Non è necessario confondersi con l'aritmetica degli indirizzi e specifiche simili. Il tuo compito è imparare come creare costrutti logici di base come loop, rami, ecc.

Qualsiasi tutorial contiene esercizi. E nella fase iniziale, dovresti fare questi esercizi. Piu 'grande e', meglio 'e!

Tuttavia, ci sono due piccole categorie di persone che possono sostituire JS con qualcos'altro:

1) Coloro che hanno buoni mentori in altre tecnologie di programmazione.
Ad esempio, un fratello / matchmaker che lavora come programmatore di sistema C. Ed è pronto ad aiutarti. In questo caso, C può essere preferibile. Ma per quanto ne so, circa il 30% dei programmatori sono programmatori WEB. Quindi è probabile che JS sia la scelta giusta.

2) Persone che hanno bisogno di un'altra lingua per lavorare in questo momento. Gli amministratori di sistema sono solitamente SQL e bash.

Nel caso di SQL, non mi illustrerei. Anche questo è un linguaggio "falso". Complessità tra HTML e JS. Molto probabilmente dovrà essere insegnato a tutti in ogni caso. Ma nel tempo, ti consiglierei di provare ancora qualcosa come JS che supporti i paradigmi procedurali e OOP. C'è ancora un vantaggio nell'apprendimento di SQL. Se non lo padroneggi, non ha senso continuare.

Ma con bash è diverso. Ho sentito che JS ti consente di sostituire bash tramite un modulo in node.js. Quindi, se hai bisogno di scrivere script da zero, JS sarà più interessante. Se correggi ciò che è stato scritto prima di te, non c'è altra scelta. Proprio come con SQL, JS rimarrà a tua volta.

2.2 Tutorial

Una domanda molto importante è quali tutorial usare. Ecco le opzioni in bene che dovrebbe passarli.
  1. Videolezioni. Ce ne sono molti su qualsiasi argomento. Youtube distribuirà sicuramente playlist utilizzando qualsiasi tecnologia popolare. Anche in russo. Lì è tutto chiaro e inizia a scolpire il tuo primo "Hello, world!" è necessario da loro. C'è solo un inconveniente. Potrebbero non coprire tutte le profondità della lingua di destinazione. Ma avrai già abbastanza problemi senza di essa.
  2. Libri di testo multimediali. Molto probabilmente, queste sono raccolte di tutorial video più qualcos'altro. Sono spesso venduti per soldi.
  3. Libri. Il più difficile da percepire. Coprono solo più complessità di varie tecnologie. Lascialo per dopo. Quando esaurisci le possibilità delle opzioni precedenti.
Ma per favore, di seguito. Non devi acquistare alcun corso e pagare per i libri di testo miracolosi. Tutti i "miracoli" esistono da molto tempo, al massimo su torrent. Secondo me, rutrracker, bandito in Russia, contiene la migliore raccolta di libri di testo e libri multimediali.

2.3 Risoluzione di problemi tecnici

Con forza di volontà e pazienza, hai iniziato eroicamente il tuo studio dell'argomento. E tutti i tipi di problemi tecnici hanno cominciato a sorgere davanti a te. Puoi fare tutto secondo le istruzioni. Ma i tuoi esempi potrebbero non funzionare. Se non altro perché le istruzioni possono essere scritte per le versioni precedenti degli strumenti software. Il passo più difficile può essere la prima esecuzione del codice sorgente, che hai appena riscritto dal tutorial.

Gli errori più comuni sono legati al fatto che i principianti tendono ad avere fretta e considerano alcune cose facoltative. Tu, come ogni persona normale, pensi che ci siano punti secondari nei libri sulla programmazione. Probabilmente vuoi ottenere rapidamente il risultato, sotto forma di una posizione di stage. E poi, circondato da colleghi competenti, capirai tutto e lo studierai a fondo. Quindi "un po' di tutorial" su JavaScript che non sarà nemmeno la tua lingua principale. Può essere percepita come una distanza di maratona che deve essere superata il più rapidamente possibile. In effetti, qualsiasi manuale di programmazione dovrebbe essere pensato come un campo da arare. Chi salta le piccole cose finisce per affrontare problemi intrattabili. E invece di una compagnia di colleghi competenti, saranno completamente soli nello studiare di nuovo il materiale.

Ad esempio, ricordi male un termine secondario? E dopo un paio di giorni l'interprete di codice o il compilatore ti darà un output dettagliato dell'errore. In cui ci saranno dozzine di termini, come quelli che sono stati incontrati in precedenza nel libro di testo, così come quelli che non sono stati incontrati. E l'errore che riconosci può essere quello fondamentale. Dopo averlo riparato, tutti gli altri scompariranno magicamente. La maggior parte delle ragioni dell'abbandono scolastico nella fase iniziale sono legate proprio all'analisi degli errori emessi dall'interprete o dal compilatore.

Pensi che la descrizione dettagliata dell'uso delle virgolette con le operazioni aritmetiche sia una follia assurda che non userai mai? Potresti non esserlo. Ma l'autore lo considera semplice. Pertanto, più avanti nel libro di testo, l'aggiunta di caratteri con e senza virgolette si troverà ovunque. Ma anche se decidi che è meglio prendere un libro di testo su un altro linguaggio di programmazione in cui hai grandi speranze. Anche lui ti tormenterà con versi come "5" + 3. Inoltre, con le stesse spiegazioni verbose "stupide".

I problemi irrisolvibili fanno parte della vita di qualsiasi programmatore. E non importa quanto diligentemente fai tutto, non ti allontanerai da loro. Personalmente, pur avendo 5 anni di esperienza, guardo anche libri su qualcosa di oscuro e complesso. E a volte penso anche: "È ancora una specie di assurdità. Come farò a deciderlo?!" Ed esattamente uguale al tuo. Per me molto dipende dalla soluzione di problemi che sembrano completamente senza uscita.

Se hai problemi con cui puoi contattare il forum o il gruppo tematico del social network, allora con i miei problemi è inutile.

In effetti, esiste un algoritmo speciale per risolverli:

1) Bisogna pensare molto bene alle ragioni. Analisi dei messaggi del compilatore, del runtime o dell'interprete (JavaScript) associati all'errore. Dovresti capire molto bene che il computer ti sta parlando del problema. Se non capisci, cerca in Internet il testo o il codice di errore. Molto spesso si trovano spiegazioni, ma in inglese. Anche dopo la traduzione, si capisce poco. Ma devi sforzarti molto. Non è solo una situazione in cui stai risolvendo un problema specifico. Questa è una situazione in cui ottieni nuove esperienze. Non meno importante della conoscenza del libro di testo. Insieme a questo, viene eseguita l'analisi del codice potenzialmente problematico. Se hai riscritto o copiato codice da qualche parte, devi capirlo a fondo.
Se in un'ora e mezza o due ti è sembrato di aver studiato e capito tutto. Ma non hanno trovato una soluzione. Quindi dobbiamo lasciare il problema a domani. Anche se ci sono più idee.

2) Fai qualcos'altro che non dipenda dal tuo problema e si scopre. Puoi anche continuare a studiare il tuo tutorial attuale. Rimarrai sorpreso, ma nel tempo ti verranno in mente idee su come risolvere il problema. Se non sono del tutto chiari. Non è consigliabile affrettarsi subito alla soluzione. Meglio scriverlo e lasciarlo per domani.

3) Il giorno successivo o qualunque altro. Proviamo tutte le nuove idee per risolvere il problema. Ripetiamo la prima fase.

4) Se tutto va ancora male, prepariamo una domanda per il mentore o per il forum. Devi essere chiaro su cosa volevi fare. E qual è il tuo codice. Chiedere di sistemare il codice per te che non ti sei nemmeno preso la briga di studiare bene è completamente irrispettoso.

Di norma, questo è sufficiente per risolvere qualsiasi problema.

2.4 Lavorare con i mentori

Un piccolo insieme di regole per lavorare con vari professionisti esperti, mentori, mentori, ecc.
  • Prima di chiedere, devi cercare di trovare una soluzione da solo.
  • Prova a chiedere solo ciò che non è descritto nei libri, nella documentazione e in Internet. In caso contrario, verrai inviato lì.
  • Se sei stato mandato da qualche parte, dovresti andare lì. Altrimenti, il mentore andrà lì da solo e troverà una soluzione. Questo rovinerà notevolmente la sua opinione su di te.
  • In modo che il mentore non stia al tuo tavolo per ore e guardi ogni tuo passo, devi raggruppare le domande. Chiedi loro "alla rinfusa", molti accumulati in una volta. E non come si presenta.
  • È meglio fare domande quando il tuo movimento in avanti è bloccato. Se c'è qualcos'altro da fare, fallo. Può anche sollevare domande. Cosa è meglio chiedere insieme.

3 Studio autonomo

Mettiti al tuo posto! I libri sono già davanti ai tuoi compagni. Prendi il tuo vestito e prenditi cura dei tuoi sandali. Leggi il libro diligentemente. Non passare la giornata pigramente, altrimenti guai al tuo corpo! Scrivi con la mano, leggi con la bocca, chiedi consiglio a qualcuno che ne sa più di te.

Non trascorrere le tue giornate pigramente, altrimenti sarai picchiato, perché l'orecchio del ragazzo è sulla sua schiena e ascolta quando viene picchiato.

Non essere un uomo senza ragione, senza educazione! E di notte ti viene insegnato, e durante il giorno sei educato, ma non ascolti alcuna istruzione e fai ciò che hai pianificato. E i leoni sono addestrati e i cavalli sono addomesticati - e solo tu! Non ti conoscono come in tutto il paese. Nota questo a te stesso!

Mi dicono che abbandoni l'apprendimento, ti dedichi ai piaceri, vaghi di strada in strada, dove profuma di birra. E la birra seduce le persone, ti sconvolge l'anima. Sei come una casa di preghiera senza il suo dio, come una casa senza pane. Ti viene insegnato a cantare al flauto. Ti siedi di fronte a una ragazza e sei unto con l'incenso. La tua corona di fiori è appesa al collo.

Ti legherò i piedi se vaghi per le strade e vieni picchiato con una frusta da ippopotamo!
Istruzioni per lo scriba. Antico Egitto

Dopo aver imparato le basi di JavaScript. Hai già una buona idea di cosa significhi scrivere il codice del programma.

E sei pronto a passare sei mesi o un anno a padroneggiare la professione. E ciò che è importante, è una questione di tempo per te.

3.1 Cosa imparare?

Tutte le persone che cercano di padroneggiare una professione possono essere suddivise in due categorie: dilettanti e professionisti.

amanti, persone a cui piace questa attività. E sono pronti a farlo anche gratis. Sacrificando il tempo che può essere speso per l'intrattenimento, il relax, ecc. Da quando l'hai provato, sai perfettamente se ti piace programmare o meno. I dilettanti hanno una qualità molto buona. Non hanno bisogno di essere motivati. Lavoreranno sodo, lavoreranno coscienziosamente e riceveranno nuove conoscenze con piacere. Poi, con lo stesso piacere condivideranno questa conoscenza con colleghi e amici. Ma i più dilettanti tra i dilettanti scrivono articoli e persino interi libri sulle loro esperienze.

Professionisti sono pronti a farlo solo per soldi. O per la prospettiva di ottenerli. I professionisti devono essere motivati. E quasi sempre si fermano nel loro sviluppo non appena ottengono un buon lavoro. Anche un aumento di stipendio. due volte potrebbe non essere motivo sufficiente per continuare gli studi. Di norma, solo i dilettanti sono adatti per l'allenamento avanzato.

Naturalmente, i professionisti e i dilettanti puri sono rari. Ad alcune persone piace la metà o un quarto di lavoro. Qualcuno, dopo aver provato diverse tecnologie, trova qualcosa di suo gradimento.

Diciamo che uno sviluppatore ha lavorato per se stesso per soldi. Ha avuto la possibilità in qualche modo di andare dal cliente, di chiarire i requisiti con gli utenti diretti. E lo sviluppatore ha capito. Visitare i contabili è molto più interessante che scrivere codice. Di conseguenza, lo sviluppatore cavalcherà per l'intera squadra. Anche dopo ore. Riqualificazione graduale come analista di sistemi o project manager.

Ma fondamentalmente, provano diverse tecnologie. Alcuni di loro sono accattivanti, altri no. Anche la stessa tecnologia può prima affascinare e dopo un anno annoiarsi.

È molto importante per ogni persona capire quale tipo di attività gli piace di più. Perché il comfort della vita dipende fortemente da questo. È un malinteso comune che il lavoro sia solo per fare soldi. Anche se questa è una parte enorme e migliore della vita. Al lavoro puoi essere creativo, comunicare e molto altro ancora. Se vai a un lavoro non amato per motivi di denaro, dovrai in qualche modo compensarlo con l'intrattenimento, il riposo. Di conseguenza, potrebbero non esserci nemmeno abbastanza soldi per il risarcimento.

I professionisti più pagati sono dilettanti esperti. Ottengono anche il massimo piacere dal lavoro e dalla vita. Pertanto, in questa fase, devi decidere cosa ti piace di più.

La tecnologia (il linguaggio di programmazione che imparerai) deve essere disponibile in commercio. Dalle 10 lingue più popolari. Altrimenti, non sarai in grado di ricevere denaro per il tuo lavoro. Ciò significa che non puoi diventare un programmatore. Dovrai guadagnare separatamente, programmare separatamente. Il che, ovviamente, è impossibile.

Hai ancora uno stage davanti a te. E accettano volentieri stage solo in specialità scarse. Soprattutto a distanza. Pertanto, pensa / decidi a cosa vuoi dedicare la tua vita. Cosa studierai in questa fase. JavaScript può essere continuato. Puoi provare qualcos'altro. Nessuno si preoccupa di farti cambiare idea in mezzo alla strada. Ti sei già messo alla prova e c'è un certo campo di sperimentazione.

L'unica eccezione che farei è per C++. È una lingua difficile. Probabilmente ci vuole il doppio del tempo per padroneggiarlo. Che solo C o JS. In questo caso, lo stipendio sarà più alto di un massimo del 20%. C++ è il linguaggio degli hobbisti del C++.

Se non ti piace JS e ti senti il ​​"professionista" descritto sopra, Java è probabilmente la scelta migliore. Una volta non riuscivo nemmeno a eseguire un programma scritto in questo linguaggio (archivio jar). Ma d'altra parte, gli sviluppatori Java insieme a Oracle (PL \ SQL) di grandi aziende sono probabilmente gli sviluppatori IT più pagati. Nonostante si tratti di tecnologie di media complessità. (Suppongo che nel mondo Java paghino solo per la possibilità di eseguire file jar.)

C'è anche un meraviglioso linguaggio Python. Sarà molto utile a tutti i tipi di matematici, statistici, perché apre loro le porte al mondo della Data Science. D'altra parte, è il linguaggio di sviluppo web per tutti gli altri.

Gli studi in questa fase mirano ad elevare al massimo le loro qualifiche. In effetti, aumenterai il valore di mercato del tuo lavoro. Siate certi che tutto ciò che perdete attraverso la programmazione in questa fase tornerà molte volte.

Lo studio autonomo ha la precedenza sui tirocini. Puoi ottenere una conoscenza più fondamentale. In effetti, la maggior parte dei programmatori sono professionisti. Hanno imparato un po'. Dobbiamo lavorare. E sfruttano la loro poca conoscenza. La maggior parte di ciò che leggono sono piccoli articoli su come cucinare qualcosa velocemente. O chiudi qualsiasi problema. Mancano davvero le conoscenze fondamentali. Rimarrai sorpreso, ma non tutto è possibile
"Google". Qualcosa che devi sapere ed essere in grado di sapere inizialmente. Se non altro perché devi fare i conti con ciò che "google". Il codice che trovi può essere scritto da una persona molto brava. Con una mancanza di conoscenza fondamentale, semplicemente non lo capirai.

Dovresti scegliere un libro ampio e fondamentale su un linguaggio di programmazione per te stesso. E studialo fino alla fine. Insieme a tutti i compiti di studio.

Completare i compiti educativi in ​​questa fase è un compito difficile e noioso! Sarai annoiato, poco interessante, vorrai rinunciare a tutto. La maggior parte lo fa. Motivati, trova compiti interessanti, continua a imparare. E tu non sarai quella maggioranza.

Oltre al linguaggio di programmazione principale come C, Java, JS, ecc., devi imparare quanto segue:

lingua inglese
Come sai, i programmatori sono il tipo di persone che sanno leggere l'inglese, ma non parlano. Questa è la lingua in cui cercherai soluzioni ai tuoi problemi, comunicherai con i clienti. L'inglese colloquiale amplia notevolmente la gamma di ricerca di lavoro. Questo è molto buono per lo stipendio. Anche se, ammettiamolo, puoi dedicarci tanto tempo quanto su un linguaggio di programmazione.

Inglese tecnico, più facile da imparare. Traduci semplicemente i materiali di cui hai bisogno in vari traduttori. Memorizza parole sconosciute.

SQL
Nella maggior parte dei casi, prima o poi avrai bisogno di questa tecnologia. Non è necessario imparare i componenti aggiuntivi PL \ SQL (a parte l'apprendimento di Java). Ma è molto desiderabile padroneggiare la creazione di tabelle, join e unioni. Il più utile, forse, sarà lo studio sull'esempio di PostgreSQL.

SQL ha un altro aspetto. Questa lingua è forse la cosa più difficile da chiedere quando si assume un tester. Pertanto, se lo impari solo, c'è la possibilità di ottenere un lavoro molto vicino alla programmazione. In un lavoro del genere, sarà un po' più facile imparare a programmare da sé. E sarai trasferito molto facilmente dai tester agli sviluppatori. Una volta dimostrato che puoi scrivere un buon codice.

Padroneggia il metodo di digitazione "cieco" a dieci dita sulla tastiera
C'è molto da stampare. Pertanto, assicurati di padroneggiare. Ci sono abbastanza simulatori online gratuiti sul web. Puoi provare a padroneggiarlo prima della prima fase di "test". Se non hai la pazienza nemmeno per questo, non ha senso andare avanti.

Sistemi di controllo versione
Questo sarà ovviamente Git. Assicurati di imparare le basi e provalo nei tuoi progetti di apprendimento. Ma ultimo ma non meno importante. All'inizio sarà difficile capire di cosa si tratta, quali vantaggi offre.

Queste materie sono buone perché ti permettono di stare al passo con i tuoi studi. Anche quando bloccato con l'apprendimento della lingua principale. Probabilmente avrai i problemi "irrisolvibili" descritti. Passa qui e cerca lentamente una soluzione.

3.2 Modi comuni di acquisizione della conoscenza

Università
Posso dirti molto sull'istruzione superiore. Ma questo non ha alcun significato pratico. In breve. È meglio essere uno stagista dopo un anno di studio indipendente che dopo quattro anni di frequentazione dell'università. Chi inizia a studiare secondo i miei consigli adesso, tra 4 anni, condurrà prove tecniche quando assumerà chi ora si iscrive all'università.

Corsi di formazione per programmatori a pagamento
Tutto è molto complicato qui. La domanda crea l'offerta. Ma questa offerta è spesso di pessima qualità. Puoi provarne uno qualsiasi. Ma per favore non avere speranze. Prova a prendere le prime lezioni gratuitamente. E scappa da lì se non capisci niente in classe. Nessuno dei marchi con cui sono realizzati questi corsi aumenterà la tua comprensione dell'argomento. La "garanzia di occupazione" lì, di regola, è un inganno.

Corsi e scuole gestite da grandi aziende per i loro futuri dipendenti
Il caso più famoso, forse, è la "Scuola di analisi dei dati" di Yandex.

Qui ti verrà insegnato da specialisti davvero costosi. E lo faranno per i loro bisogni interni. Di norma, tali corsi hanno una sorta di requisiti per i candidati. Yandex richiedeva una formazione matematica. EPAM richiedeva conoscenze di programmazione di base. Semplicemente non puoi arrivarci. Ma se c'è un'opportunità per frequentare questi corsi, vale sicuramente la pena impegnarsi lì! Anche se rimani in "schiavitù" da queste compagnie per circa 400-500 dollari al mese per un anno intero. Un grande vantaggio di tali corsi. Non richiedono alcuna istruzione.

3.3 Strategia di apprendimento

La maggior parte degli studenti si aspetta di imparare a programmare semplicemente imparando. Come se mi fossi seduto su un libro di testo che non conosceva la materia, ma ho finito di insegnarla e ho cominciato a capire tutto. L'intero processo è lineare per i principianti. Passando da un capitolo all'altro, passando compiti educativi, una persona acquisisce conoscenza. Le persone non rappresentano altri modelli. Perché non abbiamo mai realizzato progetti complessi e lunghi. Ma in realtà, non tutto è così semplice. Qualsiasi programmatore sa che nel corso di un progetto vengono inevitabilmente scoperti nuovi dettagli che ostacolano o, al contrario, aiutano nella sua realizzazione. Di norma, più grande è il progetto, meno assomiglia a ciò che è stato originariamente concepito.

Un semplice esempio. Hai ordinato un abito da una sartoria. Abbiamo concordato tutti i dettagli. Una settimana dopo, il maestro chiama con la notizia, la forma concordata delle cuciture sembra molto brutta sul vestito, deve essere cambiata. Quindi si scopre che parte del materiale deve essere cambiata. Non c'è bisogno. Tu cambi e cambi. Alla fine, ottieni circa i 2/3 di quanto originariamente previsto. Nel caso dello sviluppo di software. Nel progetto di un tailleur, puoi ottenere un costume da bagno. E per il prezzo del vestito. Se pensi che sia incredibile, chiedi a un project manager intelligente in seguito. Nel frattempo, hai una cosa da imparare, ci saranno molte cose inaspettate nel tuo progetto di studio. E devi essere in grado di affrontare queste sorprese.

Se non ti addentri nella giungla del project management, non dovresti svilupparti nell'IT in modo lineare, come descritto all'inizio. E "in una spirale". Sembra qualcosa del genere. Se non conosci bene il computer. Non c'è bisogno di pensare che tra un anno sarai un programmatore C++ o PHP. Per prima cosa, studi il computer. Nuove opportunità e ostacoli si stanno aprendo per te. Ad esempio, sono diventati più consapevoli di cosa vuoi fare alla fine, siti Web o applicazioni desktop. Quindi, durante il periodo di prova, proverai a programmare per il web (html, js). Imparerai ancora di più sulla programmazione. Dopo il periodo di prova, puoi già indovinare la tua direzione principale. Che lingua imparerai. Qualcuno all'inizio del viaggio potrebbe non aver sospettato della programmazione del sistema. Che esiste un'area separata in cui gli sviluppatori scrivono programmi invisibili all'utente medio. E forse sarà più interessante per te di quello che hai sognato all'inizio.

Nel processo di apprendimento, ci sarà sicuramente la lettura di libri di testo e la risoluzione di problemi da lì. Ma la sequenza stessa e l'ordine di passaggio dei libri di testo devono obbedire al ciclo "a spirale". In modo che ogni fase fornisca una buona base per la successiva.

Devi essere il tuo manager e il tuo piano realizzabile obiettivi, fasi. In questo momento, molti giovani sognano di diventare i creatori di un sito Web o di un sistema operativo di prim'ordine. E qualcuno vuole scrivere una calcolatrice e ottenere un posto di tirocinio con essa. Spero che tu possa indovinare chi sarà un programmatore di successo tra un anno. È molto importante che i tuoi progetti e le tue idee abbiano la loro implementazione di successo. Un uccello in mano vale due nel cespuglio.

Inoltre, le qualità "gestionali" sono molto utili per coloro che si considerano "stupidi". In IT, è molto facile essere intelligenti e molto duri al contrario. Uno intelligente può facilmente prendere un libro di testo, leggerlo e fare immediatamente qualcosa di utile. Chi è stupido leggerà lo stesso libro di testo e non capirà nulla. Quindi è necessario suddividere il materiale di formazione in parti e addestrare di più (scrivere codice) in base a queste parti. Puoi suddividere il materiale in parti in modo che chiunque possa ottenerlo. Per chi sa programmare il proprio percorso educativo e risolvere "problemi insolubili" (2.3) non esistono ostacoli insormontabili. Dominerai assolutamente tutto, indipendentemente dall'intelligenza. Lascia che ci metta molto più tempo. Ma è molto più importante per te avere una conoscenza / esperienza olistica e testata rispetto alla velocità della loro acquisizione.

Certo, sarà molto difficile per te capire e, soprattutto, applicare in pratica un tale modello. Ma chi avrà successo avrà un bel bonus sotto forma di prospettiva di diventare un "project manager". Se ora vuoi solo ottenere lo stipendio di un programmatore, allora vorrai così tanto lo stipendio di un project manager che non sarai in grado di dormire. C'è solo un aspetto negativo qui. Tuttavia, prima devi diventare un buon programmatore.

3.4 Quando cercare lavoro

È molto difficile dire quando cercare il tuo primo lavoro in questa specialità. In effetti, puoi iniziare la tua ricerca di lavoro subito dopo la prima fase. Sospetto che molti lo faranno. Se hai meno di 23 - 25 anni e vivi in ​​un'industria di sviluppo software ben sviluppata, puoi farlo. Potresti non essere un buon professionista. Ma ti guadagnerai sicuramente da vivere.

Dall'altro lato. Ci sono persone che vivono dove nessuno è coinvolto nello sviluppo del software. E ci sono persone che hanno più di 25 anni. Queste persone dovrebbero studiare più a lungo. Per passare da poco qualificato ad altamente qualificato. Per ottenere programmatori altamente qualificati nei suoi ranghi, il datore di lavoro è pronto per molto. Potrebbe essere offerta assistenza per il trasferimento. O anche il lavoro a distanza. L'età tra i 30 o i 40 anni non importa molto. La cosa principale è mostrare il tuo alto livello di esperienza.

Ha senso iniziare a cercare un lavoro il prima possibile se svolgi già un lavoro con un carico di lavoro elevato. Dove non leggi libri di programmazione. In questo caso, non fa differenza per te dopo quale lavoro studi la materia la sera. Stagista attuale o post-lavoro.

Le prime ricerche hanno un grosso svantaggio. Dopo il colloquio, il datore di lavoro avrà un'opinione su di te. Che non vuoi cambiare nel tempo, se una volta hai mostrato un basso livello di conoscenza. Tra sei mesi, quando saprai molto di più, il tuo curriculum potrebbe non essere nemmeno preso in considerazione. Perché l'opinione di te rimarrà la stessa. Si può solo sperare che alla fine la prima intervista venga dimenticata. Ma questo è almeno sei mesi. È possibile che il datore di lavoro mantenga un database di candidati. Per non intervistarli due volte. In questo caso, tutto sarà molto triste.

3.5 "Cosa devo sapere per essere assunto come Junior?"

I neofiti fanno spesso questa domanda. Non c'è una risposta certa. Questa domanda può essere risolta solo da un datore di lavoro specifico in un momento specifico. È impossibile essere sempre responsabili dell'intero mercato del lavoro. Le tue possibilità di ottenere un lavoro come “Junior” o, come ho detto, come “stagista”, variano nel tempo, a seconda di diversi processi e fattori.

Il tuo processo di autoapprendimento ti rende più attraente per i datori di lavoro. In questo momento vengono visualizzati i posti vacanti adatti a te. Strettamente correlato al linguaggio di programmazione che stai imparando. Invia il tuo curriculum lì. E il datore di lavoro sceglie tra gli intervistati il ​​candidato più adatto. Le qualifiche dei candidati sono limitate dall'alto dallo stipendio del posto vacante. Forse sarai il migliore per questo stipendio. O forse no. Quindi, nel tempo, impari e diventi più costoso. E ad un certo punto, comunque, sarai il migliore di tutti quelli che hanno risposto.

C'è anche il fattore età del candidato. Il che diminuisce un po' la tua attrattiva. Maggiore è l'età, maggiore è il declino. C'è un fattore di avere un buon portafoglio che aumenta. Esperienza, consigli e molto altro.

Potresti valere molto come programmatore C++, ma molto poco come programmatore PHP.
Il fattore più "gratuito" è la tua popolarità con i datori di lavoro. Quando sei noto a più datori di lavoro. Più possibilità che tu venga portato da qualche parte.

"La pazienza e il lavoro macineranno tutto!" L'autoeducazione continua è la tua garanzia di trovare un lavoro!

4 Primo lavoro come stagista

4.1 Come cercare il tuo primo lavoro?

4.1.1 Portafoglio

Per prima cosa, scrivi un portfolio. Dovrebbe essere un piccolo programma o script per il sito che fa il lavoro che sembra utile. L'incarico deve essere chiaro per il tuo potenziale datore di lavoro. Ad esempio, una rubrica. Se crei una calcolatrice per calcolare le traiettorie dei satelliti terrestri, sarà sicuramente bello. Ma il tuo futuro datore di lavoro non è certo nell'argomento. Pertanto, non sarà in grado di valutare il risultato. È auspicabile che il programma memorizzi in qualche modo le impostazioni e i dati dell'utente. Dovrebbe esserci un pezzo di codice piccolo e coerente. Ad esempio, se invii la tua patch a un progetto gratuito, il datore di lavoro potrebbe essere troppo pigro per approfondire il codice sorgente dell'intero progetto. E valuta cosa hai cambiato lì in questo contesto. È positivo se l'applicazione utilizzerà il database SQL dove ha senso.

E la cosa più importante, ovviamente. Come sarà scritto. Dovrebbe essere un codice ben formattato e strutturato. Preparati, il datore di lavoro prenderà una riga da questo codice e la inserirà in un motore di ricerca.

Affinché il codice nel portfolio sia buono, deve essere consentito di "riposare" per una settimana. Quelli. scrivi e parti per una settimana. Quindi rivedere l'intero codice. Dopo aver corretto gli errori, caricalo su qualche pallina temporanea e crea un topic sul forum con la richiesta di vedere il codice sorgente dei programmatori più esperti. Con l'indicazione obbligatoria che questo è il tuo portafoglio.

Dopo aver corretto gli errori che ti verranno segnalati. Forse sarà anche una rielaborazione globale del tuo lavoro. Carica il codice su uno degli hosting del codice sorgente. Elimina l'argomento in cui ti è stato detto dei tuoi errori. Il futuro datore di lavoro non ha bisogno di conoscere gli errori.

In definitiva, è molto importante capire ogni riga che scrivi. Molto probabilmente, verrai trascinato in giro e ti verranno poste ogni sorta di domande difficili.

Credimi, la creazione di un portfolio e la revisione del codice (revisione del codice) da parte di colleghi più esperti aggiungeranno + 30% alla tua esperienza. Ti consente inoltre di valutare adeguatamente le tue qualifiche attuali. Il tuo codice non sarà certamente perfetto. Preparati, troveranno errori lì (gratuitamente!) È ancora metà del problema. Ma quando non sai perché hai scritto il codice in questo modo, e non in un altro modo, il vero guaio. Significa che è solo che non hai scritto il codice! In questo caso, partiranno con il desiderio di tornare tra sei mesi con il proprio codice.

4.1.2 Riepilogo

In generale, un curriculum può dire molto su una persona. Ad esempio, un curriculum mal strutturato. Molto probabilmente sarà scritto da uno sviluppatore a cui non interessa molto la struttura del codice sorgente.
Una sezione copiata dalla rete, ad esempio "Qualità professionali". Dice che il candidato è incline a mentire. La mancanza di risultati, che non vengono ricordati nemmeno durante l'intervista, dice che la persona è "professionale". E altro ancora.

C'era una storia divertente una volta. Impegnato a criticare il curriculum di un collega. I risultati sono stati deludenti. Dico: “Hai un curriculum così brutto che ti assumerei! Sei un buon specialista. Ma con il tuo curriculum non troverai un buon lavoro. Pertanto, puoi essere mantenuto con un piccolo stipendio. E tu non vai da nessuna parte!"

Per evitare che ciò accada. Si consiglia inoltre di fornire un curriculum agli specialisti delle risorse umane e ai programmatori per la valutazione.

Naturalmente, non è necessario mentire o fornire fatti dubbi nel curriculum. Sarà letto con molta attenzione da persone con una vasta esperienza di vita. Qualsiasi tentativo di nascondere o abbellire qualcosa sarà considerato estremamente negativo.

Meglio avere un curriculum umile. Ma assicurati di rispondere per qualsiasi parola contenuta.
Se hai già maturato qualche esperienza lavorativa e hai qualcosa di cui vantarti. Puoi aggiungere una sezione "Portafoglio" alla fine. Descrivi in ​​dettaglio i progetti a cui hai partecipato. Interessanti soluzioni tecniche, realizzazioni (in dettaglio). Almeno 10 pagine. Ma proprio alla fine.
Assicurati di indicare che sei pronto per il trasferimento (trasloco) e i viaggi di lavoro.
Anche un profilo completo su LinkedIn, HeadHunter e altri siti di ricerca di lavoro ti aiuterà.

4.1.3 Ricerca di lavoro

Ora passiamo alla parte divertente.
Devi capire chiaramente, i tirocinanti e gli sviluppatori inesperti sono raramente necessari a nessuno. I datori di lavoro cercano principalmente persone con esperienza. Ma i loro stipendi non sempre consentono loro di assumere le persone giuste. Pertanto, il tuo curriculum con zero esperienza verrà preso in considerazione prima o poi. E il codice del tuo portfolio aiuterà molto in questo.

Pertanto, dovresti inviare curriculum a tutte le posizioni vacanti che si adattano al tuo profilo. Ad esempio, abbiamo studiato JavaScript. Invia il tuo curriculum ovunque fosse richiesto questo JavaScript. Nonostante l'anzianità di servizio minima richiesta, la presenza di un'istruzione superiore specializzata, il fatto che il posto vacante sia già stato chiuso e molto altro ancora. L'"altro capo della linea" sa meglio cosa farne. Invia anche a tutte le aziende che teoricamente hanno o potrebbero avere specialisti nel tuo profilo. La posta viene solitamente smistata dalle segretarie. Non è un grosso problema se mandano la tua email nel cestino. L'opinione di questi datori di lavoro su di te non ha importanza. Anche se queste sono le aziende più prestigiose.

La stessa ricerca di lavoro richiede da un mese a due. Di solito, se ti candidi per un posto vacante, sarai contattato in 2-3 giorni. Poi, entro una settimana, un colloquio e/o un compito di prova. E poi, entro un mese, il datore di lavoro penserà ai risultati. I rifiuti diretti di solito non vengono inviati. Si dimenticano di te e basta. Quindi preparati per tonnellate di interviste che ti faranno dimenticare di loro. Non riporre le tue speranze su nessuna opzione. Completa il tuo colloquio e tuffati di nuovo nell'apprendimento della programmazione.

4.1.4 "Karma" del programmatore

C'è un momento molto curioso quando si cerca un lavoro. Diciamo che hai imparato JavaScript. Imparato e studiato coscienziosamente. Quindi in cerca di lavoro come programmatore JavaScript. E ti viene improvvisamente offerto di diventare, ad esempio, un programmatore di sistemi. Il datore di lavoro potrebbe dire che il tuo JavaScript è buono. Ma ha solo posti vacanti per tirocinanti per programmatori di sistema C. Pertanto, puoi scegliere tirocinante S.

Il trucco qui è dopo questo primo lavoro. Tornare a lavorare con JavaScript sarà problematico. E questa non è una specie di magia lì. Proprio come un programmatore C sarai esperto. Come programmatore JavaScript, inesperto. Quelli. il ritorno a JavaScript riduce il tuo stipendio. Forse anche due volte. Pertanto, rimarrai un programmatore di sistema C per il resto della tua vita. Non credo che questa sia una cattiva opzione. Ma è necessario essere consapevoli di tali restrizioni.

4.1.5 Intervista

Saresti sorpreso, ma la maggior parte delle interviste per i programmatori si svolge a distanza. Pertanto, anche se vuoi trovare un lavoro in città, a centinaia di chilometri da te, va bene che ora ti trovi in ​​un posto diverso. Un datore di lavoro può verificare a distanza le tue competenze e decidere se dovresti sostenere un colloquio faccia a faccia o andare direttamente a lavorare nella sua città.

Se il colloquio è in contumacia, tutto è semplice. Avrai bisogno di una buona connessione, internet e telefono. E da un'ora e mezza a due ore, quando nessuno interferirà. Se il silenzio e una buona internet a casa tua sono impossibili. Concorda con i tuoi amici che ti daranno la loro sala computer o appartamento per il colloquio. La videocomunicazione di solito non è richiesta. Molto probabilmente hai bisogno di Skype e TeamViewer. Di solito non sono necessari ambienti di sviluppo pesanti, compilatori, editor. È sufficiente un semplice editor di codice come Sublime o Notepad ++. Il datore di lavoro stesso scriverà ciò che è necessario avere per il colloquio.

Molto è stato scritto sulle interviste faccia a faccia. Non vedo motivo per ripetermi. In ogni caso, dopo aver ricevuto un invito, dovrebbero conoscere il più possibile l'azienda invitante. Vedi le recensioni su di lei come datore di lavoro. E decidi se vuoi lavorare lì. Se vuoi, assicurati di trovare un motivo esattamente lì. Perché hai inviato il tuo curriculum lì?! Dopotutto, potrebbe non soddisfare i requisiti formali.

In ogni caso, dovresti desiderare, prima di tutto, un lavoro interessante e una crescita professionale. Come abbiamo provato a programmare, ti è piaciuto molto. E ora stai cercando un lavoro interessante in questa direzione. Prima di tutto, ti aspetti compiti interessanti dal tuo futuro impiego. La capacità di comunicare con colleghi che la pensano allo stesso modo. E, naturalmente, affina le tue capacità professionali. Questo è il tipo di domanda che dovresti fare all'inizio. Dovresti essere interessato al tipo di esperienza che avranno i tuoi futuri colleghi. Quali tecnologie vengono utilizzate nel progetto per il quale stanno cercando un dipendente.

Certo, siamo franchi. La maggior parte di loro prude alla domanda principale, sullo stipendio. Questa è l'ultima cosa da scoprire. Queste domande vengono solitamente poste inizialmente da "professionisti". I capi cercano dilettanti.

Di solito, lo stipendio di uno stagista, con una certa conoscenza dell'argomento, è lo stipendio di un normale criceto d'ufficio nella stessa città. Ma se l'offerta è inferiore, il mio consiglio è di accettare comunque. Diciamo che lavori come amministratore di sistema. Ottieni $ 500. Penso che $ 500 per un amministratore di sistema nella Russia centrale sia il tetto. E ora ti viene offerta la posizione di un programmatore (in realtà un tirocinante) per $ 300. Se fa schifo per te. Non iniziare nemmeno a imparare nulla. Chiudi questo articolo. E dimentica la programmazione come futura professione.

Il tuo primo stipendio da sviluppatore deve essere sufficiente per sopravvivere. Il fatto è che insieme a $ 300 riceverai $ 1000 di esperienza e conoscenza. Ottieni un'esperienza di sviluppo collaborativo. I colleghi più esperti valuteranno il tuo lavoro. Ottieni accesso illimitato alla loro esperienza. Molto probabilmente il tuo portfolio crescerà con progetti reali. Tutto questo farà di te un vero specialista ricercato. Se non sei pigro e approfitta di tutto questo. In sei mesi, recupera i tuoi $ 500. E questo sarà solo l'inizio della tua carriera.

Certo, può succedere che "Esperienza e conoscenza per $ 1000" non otterranno. In questo caso, cerca un altro lavoro.

Durante l'intervista, non dovresti aver paura di nulla. Devi comportarti in modo naturale, ma avere un atteggiamento lavorativo. Le interviste sono di solito condotte educatamente. Il compito del tuo futuro capo è capire che tipo di persona e specialista sei. Piuttosto ti guarderanno molto da vicino.
Nessuno ti dirà mai una vera opinione su di te. Una cattiva opinione può metterti contro. Il che non ha alcun senso. E se tornassi ancora utile. Una buona può essere motivo di richieste di stipendio più alto.

Un'intervista è come un primo appuntamento con una ragazza. Tutto è sempre educato, colto e buono. Solo il prossimo potrebbe non aver luogo.

4.2 Tirocinio

Il compito dello stage è quello di affinare le conoscenze acquisite.

4.2.1 Libero professionista

I programmatori alle prime armi possono leggere articoli da Internet che raccontano quanto sia bello essere un "libero professionista". Seduto sotto le palme, prendere ordini una tantum e "non lavorare per mio zio".

Per comprendere i vantaggi e gli svantaggi del libero professionista, devi capire che il datore di lavoro è pronto a investire nella tua formazione, vedendo solo la prospettiva a lungo termine. Altrimenti, è più facile per lui pagare più del dovuto uno specialista già pronto che aspettare che i principianti risolvano problemi complessi. Pertanto, il freelance non fornisce un'esperienza approfondita. Nessuno ti darà semplicemente ordini se non hai le competenze necessarie. D'altra parte, il freelance è la prima pratica interessante e i primi soldi. E per i soldi del cliente, puoi creare un portafoglio per te stesso allo stesso tempo.

Non c'è bisogno di riporre grandi speranze. Prova a trovare ordini alla fine dello studio autonomo. Sarà fantastico se avrai successo. Ma non dare per scontato di aver completato uno stage e diventare un vero programmatore. Questa è una buona attività solo quando non sei ancora assunto da aziende serie. Oppure hai già lavorato lì per 3-5 anni.

4.2.2 Aziende

Una volta ho sentito parlare di una legge economica. Più grande è il sindacato dei lavoratori, maggiore è il reddito che questo sindacato riceve per ciascun dipendente. Di conseguenza, nelle grandi imprese, i salari dei lavoratori sono generalmente più alti. Di alcuni "liberi professionisti". Almeno nell'informatica. Sono i famosi colossi del settore che pagano i migliori stipendi e comprano le menti migliori. Pertanto, lo "zio" che raccoglie specialisti in un pugno e dà lavoro deve essere amato. Perché insieme puoi guadagnare molto di più che separatamente.

E se così fosse. Devi imparare a lavorare in squadra. Utilizzare strumenti di sviluppo collettivo. I colleghi condivideranno la loro esperienza con te, ti aiuteranno a correggere gli errori. Tu stesso sarai sorpreso di quante novità ci siano nella professione che non hai mai incontrato prima.

Come affermato in precedenza, la maggior parte delle persone sono "professionisti". Quando arrivano al loro primo lavoro, si "calmano". E la loro strategia è la sopravvivenza. Padroneranno solo la conoscenza necessaria qui e ora. Supponiamo che tu debba scrivere query SQL per il codice. Cercheranno rapidamente su Internet come effettuare una richiesta per un'attività specifica. E scriveranno il codice su questa base. Quindi il codice viene inviato a un collega esperto per la revisione del codice. Si scopre che invece di due richieste e un mucchio di codice, puoi scrivere una richiesta, ma con "join". E poi lo stagista si arrampica su Internet. Lì legge un pezzo di materiale sui "join". Rielabora il codice. Quindi ogni giorno. Questo è il modo in cui la maggior parte dei tirocinanti acquisisce conoscenza.

Sarebbe corretto, dopo 3-4 domande simili relative al database, prendere il manuale su questo DBMS e studiarlo completamente. Questo di solito è fatto solo da "amatori". Il che diventa curioso cosa, oltre ai "join", c'è ancora.

Va notato che la lettura di eventuali manuali in questa fase è molto più interessante. Hai già familiarità con la tecnologia. E una buona conoscenza può rendere il lavoro molto più facile. Questo è molto più attraente dei semplici esempi astratti dai libri nel passaggio precedente.

Il tirocinio scorre senza intoppi nel lavoro regolare. È difficile individuare il momento in cui puoi considerarti uno sviluppatore a tutti gli effetti. Probabilmente quando le tue domande ai colleghi esauriscono le risposte semplici. E capisci, la maggior parte dei problemi dovrà essere risolta da noi stessi. Di solito questo periodo è di sei mesi. Se hai fatto un buon lavoro nella fase precedente. Se eri di fretta, ti sei sistemato, avendo finito di leggere il libro sulla lingua principale per metà. Quindi continua a padroneggiare il libro e le tecnologie aggiuntive.

Dopo il tirocinio, sei libero di fare quello che vuoi. Libero professionista. Realizza progetti indipendenti e altro ancora. Ma il mio consiglio per te. A volte leggi la letteratura relativa al tuo lavoro. Per la formazione avanzata. Se hai già letto come scrivere codice. Ora puoi leggere come farlo molto bene e correttamente. Stai tranquillo, vedrai sempre nuovi orizzonti per la formazione professionale. Non essere pigro! Soprattutto se vuoi un grande stipendio.

5. conclusione

Spero che questo articolo aiuterà tutti coloro che vogliono padroneggiare la nostra meravigliosa professione.
Se ti piace questo lavoro. Ho un'idea per parlare dei pro e dei contro dell'istruzione superiore in informatica.

tag:

  • programmazione
  • carriera di programmatore
  • studialo
  • studio indipendente
  • autoeducazione
  • tirocinio in esso
Aggiungi i tag

Commenti 179

Come diventare un programmatore da zero da solo? Come iniziare a imparare a programmare una teiera?

Abbiamo preparato istruzioni dettagliate su come padroneggiare la programmazione e scrivere codice ottimizzato e comprensibile.

Come imparare a programmare da zero?

1. Indipendentemente

Se hai una forza di volontà ferrea e sei desideroso di diventare un programmatore, puoi raggiungere il tuo obiettivo attraverso l'autoeducazione. Questo non è il percorso più facile e più breve. Dovrai capire da solo il caos delle informazioni, ma puoi studiare in un momento conveniente e completamente gratuito.

Il punto di partenza più semplice sono i corsi online interattivi. Ci sono molti siti sulla rete i cui materiali spiegano le basi della programmazione in modo accessibile e impostano la direzione per un ulteriore sviluppo.

Presta particolare attenzione a quei corsi che insegnano su esempi di progetti reali, cioè ti spiegano passo dopo passo come creare un programma o un sito Web specifico.

Piattaforma di sviluppo web FreeCodeCamp

Ricorda che non puoi fare nulla senza pratica. Studia corsi orientati al progetto e prova a scrivere i programmi e i siti che sono smontati in essi. Cerca lezioni su YouTube sui progetti che vorresti sviluppare. Per prima cosa, copia il lavoro di altre persone e analizzalo. Quindi prova ad allontanarti dall'originale, sperimenta, modifica i singoli elementi fino a quando non puoi creare qualcosa di unico.

Oltre ai corsi e alle lezioni video, troverai la documentazione ufficiale disponibile sui siti web di lingue e libri. Quando ottieni le nozioni di base, cerca i titoli di Best Practice più recenti per il tuo linguaggio di programmazione. Questi libri contengono le migliori tecniche di progettazione.

(!) Assicurati di fissare un obiettivo per te stesso per creare il tuo progetto e lavoraci costantemente.

Ciò contribuirà a consolidare le conoscenze acquisite e a capire quali informazioni ti mancano ancora. Le tue abilità si svilupperanno insieme al progetto. Quando lo finisci, lavora su uno nuovo e più complesso.

In caso di difficoltà nel processo di apprendimento o sviluppo, puoi sempre rivolgerti a comunità di programmazione come "" e Stack Overflow per qualsiasi domanda.

Ad esempio, ti aiuteranno a risolvere un problema, a scegliere un buon corso o a segnalare errori nel codice.

È conveniente affinare le abilità su siti speciali in cui puoi competere con altri programmatori risolvendo vari problemi pratici con l'aiuto del codice. Questi servizi includono Codewars, TopCoder e HackerRank.

2. Con l'aiuto di un mentore

Mentore- un mentore personale che segnala gli errori, mette in guardia dalle insidie, aiuta a tracciare un corso di formazione. Una raccomandazione utile, ricevuta al momento giusto, può farti risparmiare molti problemi e farti risparmiare molto tempo. Pertanto, un mentore non disturberà nessuno.

Scopri se ci sono sviluppatori che conosci. Forse uno di loro vorrà aiutarti. Se non conosci queste persone, puoi cercarle nelle comunità di programmazione. Ad esempio, sullo stesso "". Solo i servizi di tutoraggio non sono economici e nessuno vuole passare molto tempo con estranei in questo modo.

3. Ai docenti dei corsi "live"

I corsi a distanza e faccia a faccia con istruttori che formano i programmatori da zero sono diventati incredibilmente popolari negli ultimi anni. All'interno di questo formato, devi anche lavorare molto da solo. Ma studierai secondo un programma preparato professionalmente e una persona reale controllerà la soluzione dei problemi. Gli svantaggi dei corsi includono l'alto costo della formazione.

Piattaforme online popolari in lingua russa impegnate nella formazione sistemica dei programmatori: Netology, GeekBrains e Loftschool.

Se preferisci studiare internamente, puoi cercare centri educativi che insegnano la programmazione nella tua località. Sfortunatamente, tali stabilimenti sono spesso presenti solo nelle grandi città.

4. All'università

Se ti rimane molto tempo e sei sicuro di voler connettere la tua vita con la programmazione, puoi studiare informatica all'università. Ma tieni presente che le istituzioni educative tradizionali sono in ritardo rispetto ai progressi, quindi dovrai padroneggiare da solo i moderni linguaggi di programmazione e altre tecnologie.

D'altra parte, l'università fornirà conoscenze fondamentali di matematica, algoritmi e altre aree che ti aiuteranno a diventare un programmatore di alta qualità. Negli anni di diligente studio svilupperai la giusta mentalità, grazie alla quale imparerai tutto al volo in ambito professionale.

Come scegliere una direzione e una lingua

Esistono diverse direzioni nel settore della tecnologia dell'informazione, ognuna delle quali utilizza il proprio set di lingue. Elenchiamo le principali direzioni in ordine di complessità crescente, si ricorda che abbiamo selezionato i linguaggi di programmazione più conosciuti e diffusi:

  1. sviluppo web: JavaScript, PHP, Python, Ruby.
  2. Sviluppo mobile: Java (Android), Swift, Objective-C (IOS).
  3. Sviluppo di giochi e programmi per computer desktop: C++, C#, C.
  4. Intelligenza artificiale, apprendimento automatico: Python, R, Scala.

Cosa cercare quando si sceglie?

Per fare la giusta scelta della direzione e, in particolare, della lingua, tieni conto dei seguenti fattori: la difficoltà di padronanza e la quantità di materiali didattici su Internet, le tue preferenze personali (cosa esattamente vuoi sviluppare) e il domanda di lingua nel mercato del lavoro.


Il grafico della domanda di linguaggi di programmazione nel mercato del lavoro internazionale / research.hackerrank.com

La domanda per la lingua nella tua regione è facile da controllare sui siti di ricerca di lavoro. Basta aprire la sezione per gli sviluppatori di software e vedere il numero di posti vacanti disponibili.

Se non puoi decidere

Se sei confuso, dai un'occhiata più da vicino a JavaScript, il linguaggio in cui è scritto quasi l'intero web. Molte organizzazioni e programmatori consigliano ai principianti di scegliere questa lingua come prima lingua.

Ad esempio, Quincy Larson, fondatore della risorsa educativa freeCodeCamp, consiglia JavaScript tutti principianti. Larson fa argomenti molto semplici:

  1. JavaScript relativamente facile da imparare. E per scrivere qualcosa ed eseguirlo in questa lingua, devi solo avere un editor di codice e un browser.
  2. JavaScriptè la lingua più richiesta nel mercato del lavoro internazionale e ha grandi prospettive. Grandi aziende come Google, Microsoft e Facebook stanno investendo nell'ecosistema JavaScript.
  3. Ho JavaScript un ambito molto ampio: dai siti Web e browser game alle applicazioni mobili.

Inoltre, attorno a questo linguaggio si è formata una grande comunità di sviluppatori. L'elevato interesse per JavaScript offre un numero enorme di corsi, libri e altri contenuti educativi.

Cos'altro dovrebbe sapere un programmatore: matematica e inglese?

Ogni programmatore trarrà vantaggio da una profonda comprensione della matematica. Per cose come la grafica dei giochi o i big data, una mente matematica è un must. Ma per quanto riguarda lo sviluppo web e la creazione di programmi semplici, nella maggior parte dei casi puoi fare a meno della matematica. Anche se non c'è consenso tra i professionisti su questo argomento.

Ma capire l'inglese, almeno a livello di lettura fluente della documentazione, è un must per tutti i programmatori. I documenti ufficiali e la maggior parte dei materiali didattici vengono visualizzati principalmente in inglese. I libri sono spesso obsoleti prima che venga pubblicata la traduzione. Inoltre, la conoscenza dell'inglese apre prospettive di lavoro con il mondo intero.

Come fare la tua prima esperienza e il tuo primo lavoro

Per trovare il tuo primo lavoro come programmatore, devi avere un portfolio. Questo è un progetto che hai creato, o meglio ancora, diversi che dimostrano tutte le tue capacità di sviluppatore. La maggior parte dei corsi include lo sviluppo di progetti che possono essere inseriti nel tuo portfolio.

L'esperienza lavorativa, in particolare lo sviluppo del team, sarà un elemento molto prezioso su un curriculum. Ma dove puoi trovarlo se stai cercando il tuo primo lavoro?

  1. Completa più ordini su scambi freelance. Può essere freelance o upwork. Offri i tuoi servizi gratuitamente, poi i primi clienti verranno da te.
  2. Trova persone che la pensano allo stesso modo e crea un progetto comune con loro. Le persone si uniscono per tali scopi in quasi tutti i siti educativi dove ci sono corsi di programmazione.
  3. Seleziona i corsi che l'organizzatore aiuta con l'occupazione. Ad esempio, in GeekBrains, dopo la formazione, si apre l'accesso a stage di varie aziende, anche a pagamento. GeekUniversity e STEP garantiscono l'occupazione ai propri laureati.

(!) Prima del colloquio, assicurati di cercare in Internet elenchi di attività e domande che spesso i datori di lavoro pongono.

Unisciti al nostro canale Telegram per essere sempre aggiornato su tutte le ultime notizie dal mondo di Apple, Samsung, Microsoft, Google e altre aziende innovative.

Principali articoli correlati