CodeGym /Java Blog /Random-IT /Ho giurato di non legare la mia vita a Java: la storia de...
John Squirrels
Livello 41
San Francisco

Ho giurato di non legare la mia vita a Java: la storia dello sviluppatore di software Anzor

Pubblicato nel gruppo Random-IT
Sappiamo che gli studenti di CodeGym vogliono ascoltare le storie di coloro che già lavorano nel settore IT. Abbiamo preso in mano la situazione e lanciato una serie di sviluppatori di vari paesi e aziende che hanno completato la nostra formazione Java. Questa storia parla di uno sviluppatore di software di nome Anzor Karmov (ha imparato Java nella versione in lingua russa del nostro corso). Fin dal liceo, questo ragazzo amava programmare in Pascal, ma non aveva intenzione di diventare un programmatore. Alla fine ha imparato a programmare al nostro corso e ora lavora come sviluppatore backend da diversi anni. Anzor ci racconta come ha fatto."Ho giurato di non legare la mia vita a Java" — La storia dello sviluppatore di software Anzor - 1

"Non toccherò mai questo orrore"

Al liceo ero appassionato di programmazione e del linguaggio Pascal. Avevo un tutore. Sono entrato all'università per una laurea in Business Analytics. Questo corso di studi comprendeva lezioni di programmazione, incluso l'apprendimento di C# e Java. Ricordo quando giurai di non legare la mia vita a Java: il mio insegnante non ci spiegava le basi. I materiali didattici sembravano presupporre un sacco di conoscenze pregresse, quindi molto non era chiaro. Si presumeva che tutti conoscessero già la programmazione. È stato allora che ho pensato: "Non toccherò mai questo orrore". Il mio percorso nel settore IT è iniziato quando ho superato un colloquio di lavoro presso un'azienda che aveva implementato un sistema ERP di Microsoft. Avevano due tipi di dipendenti nel reparto IT: sviluppatori e consulenti. I consulenti hanno svolto il ruolo di tester e product manager, mentre gli sviluppatori, ovviamente, hanno sviluppato. Sono stato assunto come consulente, ma il mio curriculum indicava che avevo studiato Pascal a scuola. Sulla base di ciò, mi hanno suggerito di diventare uno sviluppatore. Abbiamo codificato nel linguaggio C#L, affettuosamente chiamato "feci", una sorta di "discendente" di Pascal. Quando più o meno mi sono orientato in questo spazio, mi sono reso conto che questo è, grosso modo, il posto più basso in cui uno sviluppatore può lavorare. Non perché l'azienda fosse cattiva, ma perché il linguaggio che usavamo era applicabile in modo molto ristretto. Era semplicemente irrealistico aspettarsi di applicare quella conoscenza altrove. Ho pensato che, se fossi uno sviluppatore, avrei bisogno di imparare qualcosa di più universale e ampiamente applicabile.

"Quando ho abbandonato gli studi, mi sono rimproverato di essere così pigro."

Nella scelta del linguaggio di programmazione da studiare, la mia lista ristretta si riduceva a C++, C# e Java. Da quello che ho letto sui forum, ho concluso che il C++ sarebbe stato difficile per me e che avrei impiegato molto tempo per approfondire questo argomento. Ho optato per Java, probabilmente perché mi sono imbattuto in questo corso. Ho studiato il linguaggio di programmazione per circa un anno e mezzo. Il mio capo mi ha "aiutato" molto: è stato un potente demotivatore nel mio lavoro, ma sicuramente mi ha motivato ad imparare Java. Era un cattivo capo e volevo allontanarmi da lui il prima possibile. Ma mi ci sono voluti circa un anno e mezzo per rendermi conto che volevo andarmene, lo stesso tempo che ho dedicato all'autoapprendimento. Ho studiato in vari modi. Formulai un piano: senza dubbio il mio lavoro doveva essere cambiato e dovevo imparare Java, ma non potevo dedicare tempo a questa impresa con costanza per un anno e mezzo, e non potevo studiare tutti i giorni. Ho avuto brevi pause per un mese o due e ci sono stati anche mesi in cui ho studiato attivamente. Il programma era più o meno questo: mi svegliavo molto prima del solito, studiavo, andavo a lavorare, studiavo qualcosa lì se non ero molto occupato, tornavo a casa e poi studiavo di nuovo. Quando ho rinunciato, mi sono rimproverato di essere così pigro, poi la "stretta collaborazione" con il mio capo mi ha ispirato ancora una volta e sono tornato ai miei studi con fervore. Ricordo che ogni nuovo livello era sempre più difficile del precedente. Se i primi livelli duravano circa una settimana, più vicino alla metà ho trascorso circa una settimana a risolvere un singolo compito. Il pensiero di rinunciare completamente a tutto questo non mi è mai venuto in mente, perché quella è stata l'unica volta nella mia vita in cui avevo deciso che, qualunque cosa accada, raggiungerò la fine. Ho adottato questo motto: se martelli a lungo su qualcosa, prima o poi qualcosa funzionerà. Di solito rimanevo bloccato sui compiti, ma poiché tutte le soluzioni sono pubblicate da qualche parte su Internet, non è stato difficile trovare quella di cui avevo bisogno. Quando era completamente insopportabile, ho semplicemente preso la soluzione già pronta e l'ho incollata. A proposito, avevo un progetto pratico. Quando andavo a scuola come tutor, volevo scrivere un gioco chiamato Sea Battle. Questo era il mio progetto: giochi con il computer e inserisci l'indirizzo di una cella bersaglio nella console, e il computer mostra se hai colpito, mancato o distrutto una barca. E allo stesso modo, il computer spara in risposta e tu gli fai sapere se ha colpito, mancato o distrutto. Poi mi sono bloccato sul fatto che non potevo far sparare il computer in modo più intelligente dopo aver colpito una nave multi-cella. Quando un giocatore umano colpisce la nave di un avversario, nel turno successivo sparerà sopra o sotto, oppure a sinistra o a destra del colpo precedente. Non potevo far girare il computer in quel modo, perché probabilmente non avevo abbastanza cervello. Ad un certo punto ho pensato che avrei dovuto finalmente finire di implementare questo gioco. Mi sono seduto, ho scritto il codice, e superato il precedente punto critico. Anche prima del Livello 28, sono andato a un colloquio. Successivamente, ho deciso che era troppo presto per me per farlo. Mi sono reso conto che non conoscevo i framework e non sapevo come lavorare con un database. Ho dovuto fare una scelta: o studiare tutto fino alla fine su CodeGym e imparare i framework, oppure iniziare ad andare ai colloqui. Ho deciso di cercare un lavoro.

"Ad un certo punto ho avuto una svolta e tutti hanno iniziato a chiamarmi"

Quando impari Java, hai due opzioni: passare allo sviluppo back-end o ad Android. Quindi, ho iniziato contemporaneamente a imparare Android. Ho scritto un paio di applicazioni primitive. Uno era un gioco di numeri e l'altro era una calcolatrice. I miei primi colloqui non andarono bene, perché ancora non capivo né sapevo molte cose. Ho deciso di tornare a partecipare alle interviste più di sei mesi dopo la mia prima intervista (che è stata un fallimento epico). Quando ero molto meno istruito su Java, per qualche motivo ho ricevuto molti inviti a presentarmi per colloqui, ma dopo un po', quando ho migliorato le mie capacità, hanno smesso di chiamarmi. Ciò durò circa sei mesi, sei mesi piuttosto dolorosi. Si insinuò la sensazione che tutto questo fosse stato inutile. Il piano era semplice: continuerò a studiare e prima o poi sarò chiamato per altri colloqui. Sul mio blog ho iniziato a pubblicare risposte alle domande che potrebbero essere poste durante un'intervista. Ho raccolto informazioni, le ho studiate e ho iniziato a pubblicarle. Un ragazzo mi ha scritto, mi ha ringraziato per i miei post e si è offerto di aiutarmi a riprendere a scrivere, se necessario. Mi ha dato un feedback sul mio curriculum, che ho corretto. Ma per qualche motivo non venivo ancora invitato alle interviste. Lo associo a una pausa nel mercato: molto probabilmente i datori di lavoro non avevano bisogno di nessuno a giugno. "Poi ad un certo punto ho avuto una svolta e tutti hanno iniziato a chiamarmi." Ci sono state diverse interviste. Ad esempio, c'è stata un'intervista di gruppo in cui dovevamo preparare le risposte su pezzi di carta, e poi hanno invitato a turno gli aspiranti sviluppatori a dare la loro risposta. La terza è stata un'intervista con l'azienda dove lavoro adesso. Si chiama Fabbrica della Fedeltà. È iniziato come una startup. L'azienda sviluppa strumenti di marketing progettati per aumentare la fedeltà al marchio. Il nostro prodotto è un kit di strumenti di marketing che realizziamo per diversi marchi, principalmente per ristoranti, ma è adatto anche per stazioni di servizio, saloni di bellezza e centri commerciali. Il prodotto è composto da un sistema CRM e da un'app mobile. Quindi, se il cliente è un ristorante, creiamo un'app mobile per questo. I clienti del ristorante scaricano l'app mobile e il proprietario del ristorante accede al sistema CRM, consentendo di vedere il pubblico target e inviare offerte nell'ambito di varie promozioni. Nell'app, il pubblico target ha la possibilità di accumulare punti e riscattarli per determinati premi. Uno dei nostri moduli autonomi ha consentito l'integrazione con i gateway di pagamento. Siamo entrati nel mercato internazionale molto prima della quarantena, ma la quarantena è esattamente ciò che ha generato quella massiccia domanda di consegna di cibo a domicilio. Molti ristoranti avevano bisogno della possibilità di consentire ai clienti di effettuare ordini tramite un'app mobile e molti di loro si sono rivolti a noi. I nostri clienti che non utilizzavano il modulo di consegna del cibo ci hanno chiesto di personalizzarlo per loro. Ciò li ha aiutati a portare avanti la loro attività durante la quarantena, poiché i ristoranti potevano sopravvivere solo effettuando consegne.

"Ho preso un congedo medico dal lavoro e non ho fatto altro che mangiare, dormire e lavorare sul compito del test."

Probabilmente ho ottenuto il lavoro qui grazie alla mia lettera di presentazione. Questo è stato il mio centesimo curriculum inviato. Ero di pessimo umore perché nessuno mi invitava a fare un colloquio da nessuna parte. Nella mia lettera di presentazione, ho delineato tutto il mio dolore e l'ho inviato. La reclutatrice mi ha poi detto che quella è stata la lettera di accompagnamento più toccante della sua vita e che probabilmente è stato il motivo per cui sono stata convocata per un colloquio. Dopo il colloquio, mi hanno affidato un compito di prova: scrivere un programma con un'interfaccia web che testi un'app Android tramite Wi-Fi. Il mio programma avrebbe dovuto mostrare quali test hanno avuto successo e quali hanno fallito. Mi è stata concessa una settimana per completare il test. È stata la settimana di programmazione più impegnativa di tutta la mia vita. Ho preso un congedo medico dal lavoro e non ho fatto altro che mangiare, dormire e lavorare sul compito del test. Alla fine l'ho finito e l'ho inviato. Dopo un po', il reclutatore mi ha chiamato e mi ha detto che avevo fatto il test così bene che non avrebbero aspettato altri candidati. Sono andato lì per diventare uno sviluppatore Java, ma si è scoperto che questo posto vacante era stato coperto, quindi mi è stato offerto di diventare un tester che avrebbe scritto test automatizzati. Nel nostro reparto test nessuno conosceva Java tranne me. Mi è stato detto che esisteva un sistema per testare manualmente le app mobili. Era un programma con un'interfaccia web: vai sull'interfaccia web, colleghi l'applicazione di test alla sessione di test e poi vedi cosa bisogna fare. Il mio primo compito è stato quello di sostituire il tester che fa clic nella sessione di test. Tutto è iniziato poco tempo dopo: ho automatizzato il mio primo caso di test, poi c'è stato il secondo e un terzo... Sfortunatamente, la mia idea non è mai entrata in produzione, perché le app mobili stavano decollando molto più velocemente di quanto potessi adattare gli autotest per loro. Successivamente mi è stato assegnato un secondo progetto di test automatizzato: testare l’interfaccia web. Ho dovuto coprire di test il pannello di amministrazione interno. Ho iniziato a scrivere un programma da zero per testarlo. Quando stavo finendo il mio terzo progetto, mi è stato offerto di trasferirmi nel dipartimento con gli sviluppatori di server e scrivere codice per loro. Ne sono rimasto felice. In questo reparto ho iniziato ad apportare alcuni piccoli miglioramenti e ho preso confidenza con il sistema. Avevo un po' paura per ogni nuovo compito. Ero ansioso di non essere in grado di farcela. Alla fine, tutto ha funzionato. Ora sono a capo del team che gestisce lo sviluppo backend per le app mobili. Anche uno dei miei subordinati, che è anche mio cugino, ha studiato in questo corso Java. Gli ho fatto da mentore. Attualmente è uno sviluppatore junior. Si potrebbe dire che l'ho motivato a studiare. Questa formazione mi ha aiutato a cambiare la mia vita in meglio e volevo condividere questa opportunità con i miei cari."Ho giurato di non legare la mia vita a Java" — La storia dello sviluppatore di software Anzor - 3

Suggerimenti per gli sviluppatori principianti:

1. Come organizzare i tuoi studi

Per cominciare, ti racconterò di come ho studiato. Ho studiato a ondate. Ci sono stati periodi in cui non studiavo affatto, probabilmente a causa del burnout. C'erano periodi di un mese o più in cui non facevo nulla. E poi inizierà un periodo di ripresa. Ciò è accaduto quando ho capito che se avessi continuato a non fare nulla, nulla sarebbe cambiato nella mia vita. Questa convinzione mi ha portato a svegliarmi alle 4:30 del mattino e studiare un po' prima di andare al lavoro. Ho studiato al lavoro. E dopo il lavoro tornavo a casa e studiavo di nuovo. Dopo un po’, questo naturalmente portava all’esaurimento e al non fare nulla per mesi di seguito. Non mi sono arreso del tutto, solo perché potevo vedere chiaramente che se mi fossi fermato, la mia vita sarebbe rimasta la stessa. E non mi piaceva la mia vecchia vita. Così ho cercato di non permettere nemmeno al pensiero che avrei potuto smettere di entrare nella mia mente. Il mio motto era "se martelli a lungo su qualcosa, prima o poi qualcosa funzionerà". Ora, dopo 4 anni, non consiglierei di fare la stessa cosa. Non penso che tutti sopporteranno tale auto-crudeltà. Lavorare senza riposo porta al burnout. Lo stress è benefico solo quando è seguito da un po’ di rilassamento. Quindi, quando si tratta di come organizzare i tuoi studi (come in tutto il resto), ti consiglierei di studiare un po' alla volta, ma regolarmente a lungo termine. Devi rilassarti. Non forzarti. Il cervello inizierà ad assimilare tutto solo mentre riposi e dormi. Ciò significa che dovresti essere altrettanto serio riguardo ai tuoi studi e al tuo riposo.

2. Come cercare lavoro

Questo è semplice. Quando cerchi lavoro, il tuo primo obiettivo è ottenere un colloquio. Molto probabilmente fallirai. Quindi non pensare troppo a trovare subito un lavoro. Per iniziare, devi solo sostenere un colloquio. Per far sì che ciò accada, devi fare solo 3 cose finché non ricevi un invito da qualche parte:
  1. Crea un curriculum.
  2. Invia il tuo curriculum a tutti.
  3. Guarda il feedback che ottieni. Se non ricevi molte risposte, il tuo curriculum non è attraente. Leggi come scrivere un curriculum, come candidarti per un lavoro e come scrivere lettere di accompagnamento. Vai al passaggio 1.
Dopo aver fallito il tuo primo colloquio, datti una pacca sulla spalla. Padroneggiare un certo insieme di conoscenze ed entrare in un colloquio: sono grandi risultati. Il grande errore qui sarebbe arrendersi. Certo, è spiacevole essere rifiutati. Ma tutto sta andando secondo i piani e sei molto più vicino al lavoro desiderato. Il tuo prossimo obiettivo è fallire un altro colloquio. E poi un altro, e poi un altro... E dopo ogni colloquio, valutare cosa è successo. Dai un'occhiata alle tue lacune di conoscenza e riducile. Non hai fretta. La cosa principale è impegnarsi costantemente ed essere gentili con se stessi. Stai facendo tutto bene. Un giorno riceverai un'offerta. Questa è la destinazione verso cui sei diretto. La tua meritata offerta. Sei fantastico! Quando discuti un'offerta, non esitare a porre domande. Idealmente, fai un elenco di domande in anticipo. Chiedi informazioni su come è il flusso di lavoro. Quali compiti ti occuperai? Cosa succede se un giorno non hai voglia di lavorare e decidi di prenderti una pausa? E se ti ammali? Per quanto riguarda le ferie, si possono prendere tutti i 28 giorni consecutivi oppure non è consentito? Avrai un mentore? E così via. È meglio porre tutte le domande e concordare tutto in anticipo piuttosto che ricevere una spiacevole sorpresa in seguito. Ricorda, in un colloquio di lavoro, il corteggiamento e la valutazione vanno in entrambe le direzioni. Hanno bisogno di te tanto quanto tu hai bisogno di loro.

3. Come sentirsi a proprio agio al lavoro

Sii te stesso. Non esitate a fare domande. Non aver paura di commettere errori. Se all'inizio non capisci molto, non stressarti. All'inizio sono tutti confusi. Inizierai a portare profitti reali all'azienda in circa 6-12 mesi. Nel frattempo, immergiti nel processo, studia il prodotto e continua il tuo apprendimento.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION