Dicono che le persone senza istruzione tecnica non hanno posto nella programmazione. Cercano di spaventarti e allontanarti dal pensare a un cambio di carriera dopo aver raggiunto i 30 anni. Ma cosa succede se solo all'età di 30 anni diventa chiaro che tutte le tue precedenti conoscenze ed esperienze ti hanno portato alla destinazione sbagliata?

In realtà, non è così spaventoso. Chiunque può diventare un programmatore a qualsiasi età. Ecco la storia di PielsLie, uno dei nostri studenti di San Pietroburgo con formazione umanistica e che ha lavorato per 10 anni nel management e nelle vendite.

Quando ha scritto la sua storia di successo, aveva 32 anni. In circa 5 mesi, ha raggiunto il livello 35 su CodeGym. Ha trascorso 2-3 mesi in autoeducazione e progetti di scrittura, e qualche altro mese in cerca di lavoro. A quel punto, ha ricevuto una buona offerta e ha ottenuto un lavoro come sviluppatore di software.

FASE 1. Apprendimento

I requisiti per la principale fonte di apprendimento erano chiari: una presentazione strutturata del materiale Java Core, molta pratica e una grande comunità:

  • durante le interviste, ti potrebbe essere chiesto qualsiasi cosa sulla "conoscenza di base" - dallo spostamento bit a bit e dal casting di generici all'IO e alla serializzazione;
  • la pratica è obbligatoria; puoi ricordare cose nella programmazione se comprendi profondamente il materiale e lo rafforzi attraverso la pratica;
  • E per quanto riguarda la community: se risolvi un compito, vai avanti e mettiti in mostra nei commenti; se non riesci a risolverlo, sei libero di fare domande, ma è probabile che nessuno ti dia una soluzione già pronta.

Sotto tutti gli aspetti, CodeGym è all'altezza della piattaforma di apprendimento principale. Il laureato consiglia di disossare leggendo libri: "Questo stesso Schildt copre meglio l'argomento in questione e spesso mette a nudo alcuni punti".

Suggerimenti per coloro che si stanno avvicinando all'apprendimento di Java con una tabula rasa

  1. Chiunque inizi da zero trova il viaggio difficile. Non una percentuale enorme di coloro che iniziano arriva alla fine del corso. Il tuo obiettivo è diventare uno di quelli che lo fanno.
  2. Proverai il massimo entusiasmo dopo un mese o due, quando i compiti diventano più difficili e più interessanti. Sopportare.
  3. La cosa più importante è fare progressi settimanali. Dopo una pausa di due settimane, è difficile tornare in sella, ma non tutti possono scrivere codice ogni giorno per diversi mesi di seguito.

Stabilisci un obiettivo per te stesso, misurato in ore alla settimana: ad esempio, 15. Puoi programmare per 1,5 ore ogni giorno della settimana e altre 3-4 ore ogni giorno del fine settimana, oppure puoi riposare per un paio di sere, ma poi il tuo la "quota del fine settimana" aumenterà. Se lo fai in questo modo, il tuo programma sarà flessibile ma coerente. Naturalmente, in seguito sarai in grado di misurare il tuo lavoro in termini di attività e progetti completati, ma quando parliamo di sintassi e conoscenza di base, ha senso trattare in ore.

In totale, sono stati necessari circa 5 mesi per completare il corso (prima di accedere allo stage), comprese le ferie e le brevi pause, e questo è stato ottenuto con una settimana lavorativa standard di cinque giorni che ha lasciato solo il tempo libero nei fine settimana e nei giorni feriali dalle 10 PM a mezzanotte.

Quindi, se hai un programma più aperto o adotti un regime di allenamento più rigoroso, potresti farcela molto più velocemente.

FASE 2. Autoeducazione

Dopo aver raggiunto il livello 35, per diversi mesi ha esplorato in modo indipendente Spring MVC, Spring Boot + Data, Spring Security, Hibernate, jUnit, Maven, Git e RDBMS, ha padroneggiato SQL e ha riunito tutte queste conoscenze in un insieme unificato. Sei mesi dopo, lo studente aveva progetti che gli davano esperienza pratica utilizzando framework "per adulti" e un profilo Github, che poteva mostrare se un potenziale datore di lavoro lo richiedeva.

Come creare un piano di sviluppo personale

  1. Esamina le offerte di lavoro per le posizioni di sviluppatore Java junior/medio (o qualche altra area di interesse) e vedi quali tecnologie e framework sono menzionati più spesso.
  2. Sogna e scrivi alcuni compiti di prova per loro. Fissati delle scadenze per implementarle.

FASE 3. Alla ricerca di lavoro

Questa fase è stata la più lunga e non liscia come le due precedenti.

Invio di un curriculum onesto per principianti

Dopo aver completato i progetti personali, lo studente ha inviato circa 30 candidature per posti vacanti per junior/tirocinanti (tramite HH, LinkedIn e agenzie di personale), indicando nel suo curriculum lo stack tecnologico familiare, insieme ad alcune competenze trasversali e una modesta menzione della sua esperienza.

Ciò ha prodotto due chiamate, una delle quali è terminata immediatamente a causa delle sue competenze in inglese pre-intermedie (quindi impara anche l'inglese). Altre due aziende hanno inviato le loro attività di test. Ha avuto un "colloquio" che si è concluso con un "ti chiameremo".

Tentativo di ottenere uno stage

Forse puoi acquisire esperienza attraverso stage non retribuiti o pagati in modo condizionale e in qualche modo prendere piede in una grande azienda IT? Questo è un buon approccio, ma a quanto pare non è per tutti. L'autore della storia ha eseguito il test, ma non ha superato il colloquio finale.

Dopo questa esperienza, il nostro ex studente scrive che "è diventato un po' depresso e ha messo in pausa l'intera ricerca di lavoro per quasi sei mesi". Ha lavorato nella sua precedente professione e ha scritto alcune domande per se stesso.

Ciò è continuato fino a quando non si è imbattuto in un conoscente con il quale ha condiviso i suoi fallimenti nel trovare un lavoro da sviluppatore junior. A quel tempo, il suo conoscente lavorava come sviluppatore di medio livello, ma ha iniziato allo stesso modo: con lo studio autonomo.

Il suo amico ha dato un paio di consigli (alcuni "trucchi", secondo l'autore):

  1. In un modo o nell'altro, procurati più di 6 mesi di esperienza professionale sul tuo curriculum: stage, progetti di tesi, freelance, lavoro a distanza - qualunque cosa. Ciò sarà di grande aiuto nella fase in cui le persone delle risorse umane eseguono lo screening iniziale della pila di curriculum;
  2. Rimuovi la parola "junior" e il tuo stipendio previsto dal tuo curriculum; lascia semplicemente "sviluppatore Java" e discuti il ​​​​tuo stipendio individualmente con ciascuna azienda;
  3. Cerca di convincere la persona delle risorse umane a divulgare la possibile fascia salariale prima di dichiarare le tue aspettative. Se un'azienda offre 5.000-6.500 dollari e sei disposto a iniziare per $ 2.000, alcuni responsabili delle assunzioni ti daranno una bassa opinione.
  4. Rispondi a tutte le offerte di lavoro che corrispondono al tuo stack tecnologico, anche se sono richiesti 1-3 anni di esperienza professionale.

E tutto ha funzionato.

Prima offerta

Dopo che l'autore della storia ha seguito le raccomandazioni, la situazione della ricerca di lavoro è migliorata in modo significativo.

Innanzitutto, su circa 12 nuove risposte, la metà si è conclusa quasi immediatamente con un incontro di persona, un colloquio su Skype o un'attività di prova.

In secondo luogo, i rappresentanti delle risorse umane hanno iniziato a contattare di propria iniziativa, tramite app di messaggistica, e-mail e LinkedIn.

In terzo luogo, i requisiti sull'esperienza professionale si sono rivelati in qualche modo flessibili: molte aziende erano pronte a comunicare con un candidato che non rientrava nell'intervallo specificato di 1-3 anni di lavoro nel mondo aziendale.

La linea di fondo era un'offerta per una posizione di sviluppatore junior e una per una posizione di medio livello con un periodo di prova. In totale, la ricerca di lavoro è durata due mesi.

Non puoi scrivere un sacco di codice Java, quindi cercare un lavoro per molto, molto tempo e poi alla fine tutto è finito nel nulla.

L'acqua consuma la pietra e, come scrive l'autore, "se uno studente trentenne di scienze umane può farcela, allora ci riuscirai anche tu. L'importante è non aver paura delle telefonate iniziali, dei compiti di prova e interviste. Ogni 'fallimento' può essere un'occasione per imparare qualcosa di nuovo su di te e colmare eventuali lacune nella tua conoscenza. E ogni volta ti sentirai più sicuro di te."