JavaRush /Java Blog /Random-IT /Come sono diventato uno sviluppatore

Come sono diventato uno sviluppatore

Pubblicato nel gruppo Random-IT
Dopo aver lavorato come barista per circa 5 anni, ho buttato le mie cose in uno zaino e sono salita sul treno per tornare dalla capitale, sede della provincia, dai miei genitori. Ho deciso che 25 anni sono proprio l'età in cui è il momento di prendere una decisione, e non una bottiglia di whisky. Poiché i miei due titoli di studio superiore non potevano portarmi un reddito normale e semplicemente non ero interessato alla mia specialità, ho deciso di provare a diventare uno sviluppatore. Ho pensato, perché no? Alla moda, ben pagato, non c'è bisogno di lavorare con le mani e stare in piedi: perfetto! Non mi fermava nemmeno il fatto che prima non conoscessi nemmeno il nome di un linguaggio di programmazione. Come sono diventato uno sviluppatore - 1E così, dopo aver speso gli ultimi soldi per un biglietto di ritorno a casa e un abbonamento qui, ho stilato un programma di studio e il 10 novembre 2015 sono iniziati i miei studi. Fortunatamente per me, la programmazione si è rivelata non solo alla moda, ma anche interessante. I primi 10 livelli sono stati completati in un mese e si sono rivelati dannatamente entusiasmanti. Anche i secondi 10 livelli sono stati completati in un mese, ma mio Dio, quante volte ho sbattuto la testa contro il muro (letteralmente) cercando di risolvere il problema, continuando comunque a torturare Google e quella cosa che controlla i problemi (non lo so) non ricordo come si chiama). Mi sono preso una piccola pausa per le vacanze di Capodanno e ho continuato con rinnovato vigore. Dai livelli da 20 a 30 l'ho risolto per un altro mese e qui era già difficile (non ho ancora risolto il problema dal livello 27 - è semplicemente terribile). Stavo per continuare la mia maratona per un altro mese, ma poi è spuntato fuori un corso per sviluppatori Java, nell'azienda più cool della città. Dopo aver risolto il compito del test, sono stato accettato. La mia gioia non aveva limiti, sognavo già come dopo i corsi mi avrebbero assunto (questa era una pratica standard per questa azienda). I corsi si sono rivelati davvero interessanti: 10 lezioni di circa 2 ore ciascuna nell'arco di 2 mesi e 10 compiti a casa basati sul materiale delle lezioni (JDBS, JPA, Hibernate, SQL, Servlet, rest, maven, git). Per ogni argomento è stato necessario scrivere una semplice applicazione grezza e funzionante. Ma la cosa più bella di questi corsi è che queste attività sono state controllate dagli sviluppatori di questa azienda e hanno fatto una revisione del codice molto (MOLTO) esigente. E non hanno accettato l'incarico finché non sono stati soddisfatti del livello di scrittura del programma. Ho risolto tutti i compiti e mi hanno anche (ironia della sorte) rilasciato un certificato di completamento del corso. Il giorno dopo ho chiamato e ho chiesto di venire a lavorare con loro. Mi hanno inviato un compito di prova e l'ho fallito clamorosamente. Non c'è stata nemmeno un'intervista. Era dolore. Mangiando tristezza e marmellata, ho sfogliato le notizie di questa azienda, sognando vendetta, ma all'improvviso mi sono imbattuto in un annuncio che stavano organizzando un evento in cui avrebbero riunito tutti coloro che erano interessati e vicini all'IT per imitare il processo di un vero e proprio team che sviluppa un prodotto, dove i clienti sarebbero i dipendenti dell'azienda. In due settimane, io e il mio team abbiamo scritto un task scheduler “abbastanza buono” in Swing. Allora ero terribilmente orgoglioso che fossero 4000 righe di codice. In due settimane ho imparato così tanto sullo Swing che avrei potuto insegnarlo da solo per due mesi, è stato fantastico. Masticando con gioia i biscotti di pan di zenzero, ho sfogliato di nuovo il sito web di questa azienda e ho sognato di lavorare lì, ma non c'erano posti vacanti, ma c'era un hackathon. Sul tema dei microservizi (casa intelligente). È stato necessario utilizzare Spring per connettersi ai sensori delle emissioni di una casa intelligente ed elaborare adeguatamente le relative informazioni. Vince chi il cui algoritmo di elaborazione risponde meglio alle situazioni simulate dai dipendenti. L'ho vinto! E un mese dopo sono stato invitato lì per un colloquio! Subito! senza un compito di prova. Eeeek!!! Rullo di tamburi: ho fallito di nuovo! Perché non potevo scrivere un algoritmo di inversione di stringa! (linea inversa KARL!!!). È stato un fallimento epico e un facepalm allo stesso tempo. Mi sono sentito ancora più offeso da loro. Ma ho deciso che sarebbe stato ridicolo fermarmi adesso e ho continuato. Ho trovato il sito acmp.ru (questa non è una pubblicità, ma è interessante) per problemi con la programmazione delle Olimpiadi. E si stabilì lì per due mesi. C'è un archivio di problemi (700 pezzi) ordinati per difficoltà. Ho iniziato con quelli più semplici. Quando ho iniziato a impiegare circa 5-6 ore per risolvere un problema, ho rinunciato. Ho risolto 301 problemi e ho preso parte ad un paio di Olimpiadi su questo sito. Ho imparato a scrivere un algoritmo di inversione di stringa. Ho anche imparato a memoria gli algoritmi per l'ordinamento rapido e l'ordinamento per inserzione, ho imparato cos'è un grafico, come sono e come cercarci qualcosa, cos'è la programmazione dinamica e come usarla, ma dannazione, ci riesco ancora' Non capire come funziona l'algoritmo della frusta -Morris-Pratt. Sbuffando forte e guardando con rabbia quella stessa azienda, ho inviato il mio curriculum a tutte le altre aziende della città. 3-4 aziende hanno risposto alla posizione di front-end. Aver risolto i compiti di test in Javascript (mentre lo risolvevo, correvo in tondo gridando - Chiusure, cosa sono le chiusure??!!) . Ho superato il colloquio e sono stato assunto per l'orgogliosa posizione di sviluppatore JavaScript junior. Ciò è avvenuto esattamente un anno dopo l’inizio dei miei studi. Dopo aver lavorato lì per due mesi ho realizzato:
  1. InternetExplorer è stato inventato da Satana affinché gli sviluppatori soffrissero durante la loro vita.
  2. Google Chrome è molto più complicato di quanto sembri. È letteralmente dieci volte più difficile di quanto sembri.
  3. Odio lo sviluppo frontend.
C'è stato un tempo in cui ho trascorso 3 giorni a scrivere un'animazione complessa di 30 oggetti in modo che funzionasse ovunque e lo facesse in modo fluido e bello. E poi i designer l'hanno cambiato altre tre volte (TRE fottute volte!!) completamente! E proprio all'apice del mio odio, si è liberato un posto per Java Juniora. Sono appena corso lì. Un compito di prova, un colloquio, una chiamata e ora sono già un orgoglioso Java Junior con uno stipendio esattamente il doppio. Questo era ad aprile. L'azienda è molto piccola: 6 persone. Impegnato nella modellazione di processo (modellazione completa di grandi opere, miniere e pozzi, modellazione e quindi ottimizzazione di aziende logistiche). Io stesso difficilmente faccio la modella. Sto scrivendo un editor 3D per la visualizzazione di modelli (al momento ne abbiamo uno, ma inizia a bloccarsi su set di dati di grandi dimensioni). Tecnologia OpenGL implementata in Java nella libreria lwjgl. Questo è quello che sto facendo adesso. Carica i dati direttamente nella scheda video, shader e tonnellate di geometria analitica. Esattamente due anni dopo, in una data memorabile (10 novembre), avevo intenzione di sottopormi alla certificazione Oracle Java SE 8 Programmer (1Z0-808). E ora sono uno specialista Java certificato (superato con l'87%, il test è in realtà facile... è stupido lavorare con un compilatore). Proprio così. Buona fortuna a tutti. PS E le risorse umane della stessa azienda mi hanno già chiamato tre volte e mi hanno offerto un lavoro. Mi rifiuto per ora. Mi vendico.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION