CodeGym /Java Blog /Random-IT /Una storia per un pubblico ultratrentenne
John Squirrels
Livello 41
San Francisco

Una storia per un pubblico ultratrentenne

Pubblicato nel gruppo Random-IT
Bene, ho trovato il tempo per condividere la mia piccola storia.

Prologo

Cominciamo dal fatto che ho 30 anni, ho una formazione superiore in chimica (non entrerò nei dettagli) e lavoro in fabbrica da quasi 8 anni. Il lavoro in realtà era piuttosto interessante, ma guardando i miei colleghi mi sono reso conto che non volevo lavorare qui per vent'anni fino alla pensione. Non è questo il modo in cui voglio trascorrere la mia vita. Voglio anche aggiungere che ho una famiglia, di cui due figli (il mio più grande ha 6 anni, il più piccolo ha 1 anno) e, prevedibilmente, un mutuo. Alla fine, ho deciso di provare a trasferirmi in un altro posto, in un'altra fabbrica con una paga più alta e una reale crescita professionale. Avevo messo radici nella prima fabbrica, quindi è stato difficile andarsene, ma avevo deciso. Il mio viaggio a San Pietroburgo è durato un mese. Ero ufficialmente al lavoro lì da una settimana quando mi sono reso conto che la situazione delle fabbriche nel nostro paese (Sviatoslav è russo, ndr) è per la maggior parte deprimente. Sono tornato nella mia città natale. Non volevo tornare indietro, perché mi sembrava che questo fosse un passo indietro. A questo punto, ho deciso che se avessi cambiato la mia vita – e la avrei cambiata radicalmente! Per circa una settimana ho riflettuto su quale linguaggio di programmazione scegliere e, beh, la scelta è caduta su Java. Successivamente ho iniziato a cercare corsi. La realtà è che di buoni corsi ce ne sono tanti, alcuni anche a prezzi ragionevoli, ma avevo un problema: ero super motivato e avevo molto tempo per studiare, ma il mio cuscino finanziario sarebbe durato al massimo 3-4 mesi. Tutti i corsi che mi sono piaciuti erano della durata di sei mesi o più con due lezioni a settimana (il più delle volte). Ma poi un'amica mi ha consigliato CodeGym dopo aver sentito che è un'ottima risorsa. Ho visto che questo corso ha tutto ciò di cui avevo bisogno:
  • un abbonamento con materiali didattici e compiti;
  • nessun limite di tempo: potevo studiare tanto quanto il mio programma (che era molto aperto) e il mio desiderio (come ho detto sopra, ero super motivato) me lo permettevano.

Parte 1: Alla ricerca della conoscenza

Il 26 novembre 2019 mi sono iscritto e ho iniziato i miei studi. Dirò subito che ci sono stati alcuni giorni in cui sono rimasto seduto per 14 ore di fila, studiando, leggendo tutti i link correlati e cercando di trovare soluzioni più belle (senza sbirciare l'Help). Solo quando ho pensato che la mia soluzione fosse la migliore ho guardato la Guida. Molto spesso sono rimasto stupito dalle soluzioni che erano ancora più belle e concise. Alla fine di gennaio, una volta raggiunto il livello 17, ho deciso di iniziare a fare colloqui, mettere a frutto le mie capacità e vedere cosa vuole il mercato. Si dà il caso che nessuno mi abbia veramente risposto, ma c'è stato un ufficio che mi ha assunto come stagista di prova non retribuito: il primo mese non era retribuito, il secondo e il terzo prevedevano un piccolo stipendio. Successivamente ci sarebbe stato un altro colloquio basato sulle mie prestazioni dopo tre mesi e, se lo stage avesse avuto successo, allora l'occupazione.

Parte 2: Correre in battaglia

Il mio tirocinio prevedeva la scrittura di un plug-in Chrome con un back-end Java per automatizzare le attività di routine di uno dei dipartimenti interni dell'azienda. Ho avuto un mentore meraviglioso con molte conoscenze, che penso sia anche importante. In sostanza, per non perdermi nel dimenticatoio, ti parlerò ora dello stack tecnologico che ho utilizzato, e poi alla fine dell'articolo fornirò diversi link che mi sono stati molto utili.

Stack tecnologico:

Java 11 (il progetto è stato scritto completamente da zero), Spring (Boot, Security, OAuth2); Ho usato MongoDB per un database; per i test automatizzati ho utilizzato AssertJ, Mockito e Spring-boot-starter-test; e ho usato il flusso GitHub abbastanza popolare (vedi questo articolo ). A proposito, se hai difficoltà con l'inglese, allora questo è il momento di consigliarti di impararlo. Il mio livello di conoscenza è A2, ma cerco sempre di leggere articoli in inglese (senza usare un traduttore, ovviamente). Questa è stata la mia più grande difficoltà quando ho iniziato il progetto di tirocinio, perché dovevo lavorare con un CRM di terze parti e tutta la sua documentazione era in inglese. Inoltre, quando si lavora con Spring, è meglio leggere la documentazione originale. È molto buono e dettagliato. Inoltre, quasi tutta la documentazione è in inglese (un po' di Captain Obvious). Inoltre, il mio mentore mi ha detto di scrivere tutti i commenti nel codice e nella documentazione API in inglese, quindi lo ripeto ancora una volta: impara l'inglese, se non sei madrelingua! Anche se non lavorerai con clienti stranieri o viaggerai all'estero, questa abilità semplificherà semplicemente notevolmente il tuo studio e il tuo sviluppo.

Parte 3: risultato

Questa parte sarà molto più breve :) Alla fine dello stage, ho superato con successo il colloquio di valutazione delle prestazioni e ho ottenuto un lavoro, dove ho continuato a lavorare su questo progetto. La prima fase doveva essere implementata come parte del mio tirocinio, ma in tutto erano tre fasi. A causa dell'inizio della pandemia, molti progetti commerciali sono scomparsi e ho implementato tutte le fasi e ogni altra idea/desiderio che potesse esserci per questo progetto. C'erano altri compiti, ma, come si suol dire, questa è un'altra storia.

Parte 4: C'è stato un lieto fine, anche se le cose sono tutt'altro che finite ;)

A metà luglio ho ricevuto una telefonata e mi è stato chiesto se stavo cercando lavoro. Avevo pubblicato il mio curriculum, anche se non veniva aggiornato da molto tempo. Ho deciso di mettermi alla prova. Ho attraversato 3 fasi: un compito di prova, un colloquio tecnico e un colloquio con il capo. Mi hanno mandato un'offerta e... Era un'offerta che non potevo rifiutare. Capisco, ovviamente, che nei tuoi primi due lavori proverai ad entrare ovunque ti porteranno, ma comunque. Il mio primo lavoro era una posizione di personale esterno, ma il mio lavoro attuale è nel settore alimentare. Mi hanno anche assunto come sviluppatore junior, ma non sono affatto arrabbiato, dato che c'è spazio per crescere sia in termini di conoscenze che di denaro.

Epilogo

Quindi, amici, non scoraggiatevi. La cosa principale è prendere una decisione e non deviare dal tuo percorso. Nel mio caso, avevo l’enorme responsabilità di prendermi cura della mia famiglia e il desiderio di cambiare qualcosa nella mia vita, di iniziare a fare ciò che mi piace davvero. Lo sviluppo di software è particolarmente utile perché puoi fare carriera, indipendentemente dal fatto che ci sia un numero maggiore di posti vacanti nella tua azienda, indipendentemente dal fatto che qualcuno sia andato in pensione dopo aver lavorato per vent'anni e indipendentemente dal fatto che tu abbia i collegamenti personali per ottenere il posto di lavoro. lavoro più alto. Nel nostro campo, tutto è nelle nostre mani!

Ecco alcuni articoli che vorrei condividere:

  • Capire l'architettura . Personalmente ho letto questo articolo 4 volte proprio mentre stavamo elaborando l'architettura di una futura applicazione. Uso la parola "noi", perché il mio mentore ha controllato tutto e lo ha rispedito per le correzioni (cioè ha effettuato revisioni del codice). La prima volta non ho capito molto. Poi l'ho letto 3 mesi dopo e ho scoperto di aver capito il motivo. Successivamente l'ho letto altre 2 volte per consolidare e assimilare completamente tutte le informazioni.
  • Apprendimento interattivo di Git .
  • Consiglio a tutti di imparare a lavorare con i flussi. Sono davvero eccezionali: spesso puoi sostituire enormi volumi di codice con un piccolo flusso.
  • Documentazione primaverile.
  • Poiché ho lavorato con un database non relazionale e la maggior parte delle aziende (soprattutto quelle di grandi dimensioni) lavora con SQL, nel mio tempo libero ho provato a risolvere almeno un paio di problemi relativi alla creazione di query SQL. Ci sono molti siti web diversi per questo.
  • Consiglierei anche di leggere i test di scrittura (Assertj, Mockito), ma non ricordo nessun buon articolo, solo documentazione.
  • E quando sviluppi un'applicazione (ma ormai siamo oltre il livello principiante), prova a utilizzare i design pattern . Almeno dai una rapida occhiata ai modelli noti. Ti sarà utile quando inizierai.
Ancora una volta auguro a tutti voi buona fortuna nel perseguire i vostri sogni!
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION