JavaRush /Java Blog /Random-IT /Il mio modo Java
Spoloborota
Livello 22
Казань

Il mio modo Java

Pubblicato nel gruppo Random-IT
Come molti qui, desideravo da tempo scrivere la storia del mio ingresso nel percorso di sviluppatore Java. E ora sono stato in grado di implementarlo. Inizierò da lontano. Tutto ebbe inizio il 23 gennaio 2003. Quella sera tornai a casa dopo la scuola e il club di teatro, entrai nella stanza e vidi delle scatole sul pavimento. Uno molto grande. E alcuni altri, più piccoli. Sì, era così: il mio primo computer: AMD Athlon XP 1800+, 256 Mb RAM, NVidia GeForce 2 64 Mb e HDD 40 Gb. Da questo giorno importante inizia una nuova storia della mia vita. Poi ero in prima media. Cosa ho fatto appena l'ho installato e acceso? Ovviamente gioca!!! Ho abbandonato la vita per circa 4 anni. Quake, Doom, Warcraft, Starcraft, Diablo, Command e Conker Generals, Civilization, Silent Hill, Deus Ex, GTA, Farcry, ecc. Ci sono stati molti conflitti con mia madre, che non mi ha permesso di giocare per molto tempo e mi ha detto farmi fare i compiti. Sì, non è stato facile passare allo studio a scuola e poi all'università. Dopotutto, esisteva un mondo virtuale così meraviglioso in cui, per ottenere determinati successi lì, nei giochi, dovevi eseguire azioni predeterminate, potevi sempre avviare un salvataggio precedente e ottenere ciò che volevi. Forse è nella vita reale... In breve, ho passato gran parte della mia vita a giocare. Ma! C'era un vantaggio molto importante per me in tutto questo. Di tanto in tanto, i giochi non si avviavano, rallentavano o semplicemente non si installavano. E in questi momenti c'era una grande voglia di capire il problema. E poi ho installato, reinstallato, configurato e ottimizzato tutto ciò che potevo. A partire dalla rielaborazione delle partizioni del disco rigido e dalla modifica del file system con la reinstallazione di Windows, per finire con la messa a punto del registro e dei file di configurazione del gioco. Grazie alle conoscenze così acquisite sono diventato noto tra i miei amici come “programmatore”. Aiutato con i loro computer, reinstallando Windows, rimuovendo virus, ecc. Inoltre a quel tempo non avevo ancora accesso a Internet e acquistavo dischi con software presso le apposite bancarelle. E poi un giorno, d'estate, dopo aver appena completato il primo anno dell'università tecnica, ho deciso di iniziare a vendere le mie competenze. Ho annotato un annuncio in Word con il titolo "Aiuto per emergenze informatiche" e sono andato in giro a pubblicarlo nel villaggio in cui vivo. Ce n’era abbastanza per “birra e gomme da masticare”. Poi, al 5 ° anno, invece di scrivere diligentemente una tesi, ho trovato lavoro tramite un conoscente come amministratore in un ufficio piccolo e disonesto. Per la prima volta ho appreso del dominio Windows, del lavoro in rete, del firewall Kerio Winroot. Quando ho conseguito il diploma nella specialità "Computer, complessi, sistemi e reti" nel 2010, ho visto per me 2 percorsi: un programmatore o un amministratore. L'esperienza di programmazione era limitata al laboratorio, ai corsi e al lavoro di laurea. Già allora ho capito cosa fossero gli array, i loop, le istruzioni condizionali e le classi. Ma non ho mai veramente gravitato verso la programmazione. Ci sono stati tentativi di imparare a programmare mentre era ancora a scuola. Ma GTA ha interrotto con successo questo desiderio. Tuttavia, vale la pena notare che ho codificato con notevole piacere. Ho aiutato i miei compagni di classe con i laboratori. Ma poiché avevo più esperienza in materia amministrativa, ho scelto questa strada. In uno dei seguenti lavori, Una volta risolti i problemi accumulati, ho deciso che era giunto il momento di dedicarmi a Linux. La sera mi sedevo al lavoro e sperimentavo. Il risultato è stato la creazione di un gateway verso Internet con firewall, port forwarding, connessione a Internet tramite Wi-Fi, connessione a una VPN. Sì, non molto bello, sono d'accordo. Ma è stato un buon inizio. Grazie a queste conoscenze, nel 2011 ho potuto ottenere un lavoro come capo del dipartimento di implementazione e supporto. Avevo 4 persone subordinate a me. Stavamo implementando un Thick Client in Java Swing nei negozi e nei magazzini di un'azienda di gioielleria. Ora capisco che cosa interessante stavamo implementando! Ma poi ero poco interessato alle sottigliezze dell'implementazione di questo software. Ho vissuto a Kazan. E da tempo desideravo cimentarmi in una vita indipendente. Volevo davvero andare a Nerezinovaya per questo. E così, dopo qualche tempo, pur continuando a lavorare nella stessa organizzazione, alla fine del 2012 mi sono trasferito a Mosca. Ooooh, è la metropolitana! Queste strade gigantesche con un flusso veloce di auto costose! Questi enormi flussi di persone sono ovunque! Ero incredibilmente attratto da tutto questo. Ero orgoglioso di essere riuscito a realizzare questo trasferimento. Dopo aver concluso il progetto, a metà del 2013, ho deciso che era giunto il momento di abbandonare la configurazione di computer, supporto tecnico e amministrazione. Mi sembrava tutto frivolo. Ho visto 2 opzioni: analisi o gestione del progetto. C'era un posto vacante che indicava l'opportunità di sviluppare queste posizioni da me indicate. Mi hanno portato lì.... E lì ho capito... Cosa non avrei mai voluto fare in vita mia! C’è stato un momento in cui, mentre riordinavo le pagine del rapporto sul contratto governativo nell’ordine corretto, ho improvvisamente realizzato cosa stava succedendo. Dio mio!!! Ho già un quarto di secolo!!! Mi alzo e frugo tra questi pezzi di carta, avendo precedentemente copiato e incollato intellettualmente il testo in essi contenuto dagli stessi pezzi di carta per l'ultimo periodo di riferimento!!! Ma prima facevo cose interessanti con i server, organizzavo processi di lavoro, aiutavo le persone... È stato un punto di svolta nella mia vita. Una sorta di “crisi professionale”. E così ho iniziato ad analizzare cosa avrei dovuto fare della mia vita. Fino a quando non sarà troppo tardi. Sono stanco di fare manutenzione. Volevo creare e creare qualcosa da solo. Questa era la ragione principale della fermentazione nella mente. Mi sono ricordato che ero abbastanza bravo a programmare al college. Mi sono ricordato che i programmatori guadagnano bene. Mi sono ricordato che esiste un fantastico linguaggio Java, un grosso client su cui abbiamo implementato e i cui programmi possono essere eseguiti su qualsiasi sistema operativo. E poi è iniziata la ricerca di materiali per studiare la lingua. Non ricordo come mi sono imbattuto in JavaRush. Ciò accadde intorno all'ottobre del 2013. Il modo in cui venivano presentate le informazioni e l'enorme numero di esempi mi attrassero davvero. Sono andato a lavorare, mi sono seduto al computer, sono tornato a casa dal lavoro e la sera mi sono seduto di nuovo al computer per studiare. A volte restavo seduto fino a tarda notte. Le prime 10 lezioni sono state molto facili per me, perché... molti concetti mi erano familiari. Per avere più tempo per studiare, ho smesso di andare in palestra, ho preso dei pesi e mi sono allenato con quelli a casa. Verso dicembre avevo pianificato che non inizierò a cercare lavoro fino alla fine di marzo. Ma ho iniziato a prestare particolare attenzione al lavoro. Non si è sforzato di ottenere più compiti, non ha mostrato iniziativa. E odiavo questo lavoro. A volte svolgevo sfacciatamente attività JavaRush direttamente sul mio computer di lavoro durante l'orario di lavoro. Il risultato non si è fatto attendere: all'inizio di gennaio 2014 mi hanno informato che avrei lavorato per loro solo fino alla fine del mese. È stato uno shock, ovviamente. La consapevolezza che sarei rimasta senza reddito di base mentre dovevo pagare per l’alloggio era molto preoccupante. Ho affrontato diligentemente articoli come "100 domande che vengono poste ai Java Junior durante un colloquio". Bene, ho continuato a studiare Javarash. Ho raggiunto circa il livello 17. Ho partecipato a diversi colloqui. E così, in una delle organizzazioni, mi hanno assegnato un compito di prova da scrivere. Era necessario scrivere un programma che determinasse se tutte le tessere del domino potevano essere posizionate su una riga. Se sì, genera questa soluzione. Ispirato, mi sono seduto al computer per scriverlo e... sono rimasto inorridito! Nelle condizioni di serra delle attività JavaRush, era molto comodo sedersi e scrivere codice. Ma qui abbiamo dovuto inventare tutto da zero, da zero, per così dire! È qui che sono nati i miei primi dubbi nel prendere la decisione di diventare programmatore. È stato molto difficile per me scrivere codice! Non sapevo davvero nulla delle cose base di Java, la mia conoscenza era molto superficiale. E non era chiaro come risolvere questo problema. Ma sono riuscito comunque a trovare un algoritmo risolutivo su Internet utilizzando i grafici: tutto si riduceva alla ricerca del percorso di Eulero. A proposito, il mio collega del mio lavoro precedente mi ha aiutato molto durante l'intero periodo di apprendimento di Java. Proprio quello che ha scritto questo Thick Client in Java. Mi ha aiutato tantissimo in tutto. In particolare, ha contribuito a risolvere il problema utilizzando il metodo ricorsivo. E così, ho inviato l'attività per la revisione. Poi ci sono state 2 lunghe settimane di attesa per una risposta... Ma tutto è andato bene! Mi hanno preso!!! Evviva, ce l'ho fatta! Il 5 marzo 2014 ho iniziato a lavorare come sviluppatore Java. La felicità non conosceva limiti. In gran parte anche perché sono finito in un’azienda che si occupa di pagamenti elettronici. E trattano molto bene il personale. Basta guardare il loro ufficio chic e il caffè e il tè gratuiti: allora era una novità per me. Ed eccomi qui, a sistemare il progetto... E mi rendo conto... Che non capisco assolutamente nulla! Servlet, filtri, parser Xemel, query esque, commit nel repository, get e post, unit test... Tutto questo era nuovo per me. Perché solo di recente ho imparato a usare le interfacce. Ci sono stati momenti in cui ho guardato il codice, ho scalato le catene delle chiamate ai metodi e sono andato sempre più in profondità nel codice. E poi mi rendo conto di aver dimenticato da dove ho iniziato la ricerca. Di tanto in tanto pensavo di alzarmi e scappare! E poi ci sono allergie e problemi primaverili nella mia vita personale. Il cervello semplicemente si rifiutava di avere il tempo di capire tutto. In breve. Non ho superato il periodo di prova. Dopo 3 mesi di permanenza in questa lussuosa organizzazione, ho firmato la risoluzione del contratto di lavoro. Era dannatamente stressante. Non potevo gestirlo quello che ho tanto sognato. L’autostima è stata gravemente danneggiata. Apparvero i capelli grigi. Ma ho deciso di continuare quello che ho iniziato. Nel luglio 2014 hanno accettato di assumermi nella mia nativa Kazan, in un'organizzazione internazionale, uno dei cui prodotti veniva lavorato nell'ufficio di Kazan. Lì ho scritto il frontend in swing. Il programma trasferiva i dati da un DBMS a un altro. Oh, e poi ho tormentato il caposquadra e gli anziani con la mia scarsa conoscenza della scrittura di codice Java! Questo lavoro mi ha permesso di affinare le mie capacità, apprendere tecniche di base e sicuramente migliorare le mie conoscenze. Da parte mia, ho anche apportato un paio di innovazioni serie. Durante questo periodo, ero selvaggiamente sopraffatto dai dubbi. Trovavo ancora difficile il lavoro, mi mancavano perseveranza e concentrazione. E il periodo di prova è appena trascorso. Ma nel febbraio 2015, nel momento più critico, si sono verificate riduzioni del personale. Mi hanno licenziato perché ero il più inesperto e poco brillante, e il mio collega perché era il più vecchio e già titubante. È stato anche piuttosto stressante per me. Sapevo di essere ancora completamente inesperto nella programmazione. E che durante una crisi, poche persone hanno bisogno di nuove persone nel personale. Avevo già solo 10 mesi di esperienza lavorativa al mio attivo. Anche se non particolarmente riuscita, ma pur sempre un'esperienza. A marzo, mentre cercavo, accadde un fatto molto interessante. Quasi per caso, qualcuno mi ha scritto su un social network russo chiedendomi se volevo andare a insegnare Java. Questa proposta mi ha sorpreso molto. A quanto pare, gli addetti alle risorse umane hanno poi puntato quasi accidentalmente il dito contro di me nel cielo. Dopotutto, nel mio profilo non erano elencate nemmeno le parole Java o programmazione. Beh, adoro tutti i tipi di avventure, quindi ho accettato di venire e sottopormi a qualcosa come un colloquio. Consisteva nello scrivere un piccolo programma su un blocco note. L'ho fatto. Sebbene avessi un atteggiamento molto negativo nei confronti di un modo così parziale di testare la conoscenza. E poi mi hanno offerto una lezione di prova. Mi hanno dato le pagine scansionate del manuale su cui è stato costruito il corso. Ho preparato, perfezionato la mia presentazione e insegnato con successo questa lezione. Alla fine mi hanno detto che andava tutto bene, ma le lezioni avrebbero dovuto essere insegnate agli scolari! Di età compresa tra 12 e 18 anni. Pertanto, abbiamo chiesto di rielaborare il materiale in modo che fosse interessante e comprensibile per questa fascia di età. Questo è quello che ho fatto allora. Di conseguenza, mi hanno informato che non erano pronti ad assumermi a favore di un altro candidato con più esperienza nell'insegnamento. Beh, va bene, non ero particolarmente turbato. Hanno anche detto che erano pronti a contattarmi in autunno, quando sarebbero stati reclutati nuovi gruppi. E all'epoca avevo solo 10 mesi di esperienza lavorativa. Mi sentivo in qualche modo insicuro. Poi, ad aprile, ho trovato lavoro presso l'ufficio IT multidisciplinare più famoso e più grande di Kazan. Lì ho lavorato a vari progetti. Ho migliorato le mie competenze in escuel, servlet, ecc. Inoltre, ad agosto ho preso l'iniziativa di un collega per iniziare a prepararmi per l'OCA. Quando ho iniziato a prepararmi, mi sono reso conto che non conoscevo affatto le basi di Java! Tutti questi problemi con l'inizializzazione dei costruttori durante l'ereditarietà sono solo un cambiamento folle, Tempo di compilazione e runtime. Si scopre che ho iniziato a studiare tutto questo solo poco più di un anno dopo aver iniziato a lavorare come programmatore. Nell'autunno del 2015, come previsto, ho chiamato gli organizzatori del corso e ho chiarito cosa fosse cosa. Mi è stato comunicato che si sta preparando il lancio di un corso per adulti. Sono stato ispirato. Gli ho chiesto di inviarmi il materiale su cui avrebbe dovuto essere tenuto il corso. Quando l'ho ricevuto sono rimasto molto sorpreso: c'erano solo argomenti che dovevano essere considerati! Si è scoperto che avrei dovuto formulare io stesso tutto il materiale didattico: teoria, compiti pratici in classe, compiti a casa. Questa circostanza ridusse notevolmente il mio entusiasmo. Dopotutto, mi aspettavo che avrei semplicemente passato il materiale dal manuale a me stesso e poi lo avrei presentato in qualche forma in classe. Ma ancora una volta, ho pensato, quando mai la vita mi darà una simile opportunità? Ho visto personalmente diversi vantaggi in questa attività. In primo luogo, migliorare e consolidare le proprie conoscenze. Non per niente si dice: se vuoi imparare o capire qualcosa, raccontalo e spiegalo a qualcun altro! In secondo luogo, un motivo per superare la paura di parlare in pubblico. In terzo luogo, una buona opportunità per allenare la tua memoria. In quarto luogo, questo migliorerà la mia situazione finanziaria, perché... Gli junior sono pagati poco, ma era da tempo che volevo cambiare la macchina, perché la Nexusha è marcia in tutto e per tutto. Ebbene, in quinto luogo, fa piacere alla tua vanità quando ti rendi conto che qualcuno potrebbe aver bisogno della tua conoscenza ed esperienza. E così, a novembre, sono iniziati i miei corsi. È stato un vero inferno! Trova e prepara il materiale, rifletti sugli argomenti delle lezioni e sui compiti a casa. Questo occupava assolutamente tutto il mio tempo libero. Sabato mi stavo preparando per una lezione martedì, domenica stavo preparando una lezione giovedì. Ma questo è in teoria. Sabato ho iniziato a prepararmi per la lezione di martedì e la sera avevo fretta di buttare giù il materiale. Bene, sono riuscito a portare a termine una parte giovedì. A proposito, ha promosso attivamente JavaRush. Come compito a casa, mi sono stati assegnati alcuni livelli da completare su questo meraviglioso sito. Naturalmente fino al 10° livello gratuito. Ma ho ulteriormente consigliato l'acquisto di un abbonamento. Perché penso che Javarash sia ottimo per mettersi in pratica con gli esempi. Ma la teoria necessita di essere ulteriormente sviluppata. Ricordo quell'incubo della mia primissima lezione. Sono entrato in classe. Mi sono seduto al posto dell'insegnante. Mancavano 10 minuti all'inizio della lezione... Mi sono seduto e ho capito che tutto andava bene, ero completamente al sicuro... Gli studenti hanno cominciato ad entrare in classe... Mancavano 5 minuti all'inizio... Qualcosa mi diceva che dovevo ripetere il materiale, ho dimenticato qualcosa dell'argomento della lezione, l'ansia ha cominciato a crescere... E questo momento! devo iniziare!!! Mi sveglio. uscì al centro davanti al tabellone di proiezione. Ho alzato la testa... E ho visto queste circa 20 paia di occhi che mi guardavano attentamente e con diffidenza, come se cercassero di perforarmi! Panico! Mi sono presentato. Iniziò a dire qualcosa, dimenticando completamente tutto ciò che aveva intenzione di raccontare. A poco a poco ho sentito che le mie ginocchia cominciavano a tremare, la mia voce stringeva qualcosa. È diventato difficile per me pronunciare le parole. Volevo scappare. Ma quando ho finito la parte teorica e sono passato a spiegare come creare un nuovo progetto Eclipse, cioè alla parte pratica, è diventato molto più semplice e la lezione è andata come un orologio. Così, sotto costante stress per la necessità di preparare i compiti, ho completato con me questo primo corso di 4 mesi. Ho migliorato significativamente la mia conoscenza di Java e consolidato le basi. Auto cambiata. E ho smesso di aver paura del pubblico sconosciuto. Al contrario, come scrivevano nei libri di retorica, durante la lezione mi sentivo molto motivato. Lo stesso non si può dire del processo di preparazione. Sì, è stato un periodo molto difficile in cui non ho avuto il tempo di comunicare con gli amici. Beh, non credo che valga la pena menzionare la mancanza di vita personale. Considero il mio vantaggio come insegnante di un corso per diventare uno sviluppatore Java il fatto che io stesso ho percorso questo percorso relativamente di recente. Ho riscontrato vari problemi con questo. Ho fatto un sacco di interviste. So quali tecnologie sono rilevanti in questo momento. E, soprattutto, so cosa non fare! Vale a dire, andare a cercare lavoro già come ho fatto io. Ma mi trovavo in una situazione tale che avevo bisogno di mezzi di sussistenza. Altrimenti continuerei i miei studi per almeno altri 3 mesi, studierei tecnologie e framework e proverei a scrivere qualche tipo di programma inutile, ma tecnologicamente avanzato. In questo caso ci sarebbero molto meno stress e capelli grigi. Ho lavorato in quell'organizzazione per un anno e un mese. In linea di principio, lì tutto andava bene in termini di crescita professionale fino a quando la guida della squadra non se ne andò. Questa è stata la persona che mi ha guidato e mi ha assegnato diversi compiti interessanti. Anche nonostante i miei frequenti errori, eh. Sapeva tutto, poteva dare consigli su qualsiasi problema, sia sul front-end, sia sul back-end, sia sul database secondario... Con la sua partenza, il collegamento tra management, sviluppatori e analisti è andato perso . In breve, nel progetto è iniziato il caos completo. A proposito, solo verso la fine del mio lavoro in questa organizzazione ho smesso di pensare alla correttezza della mia scelta del percorso da sviluppatore. Prima mi accompagnavano sempre. Con la consapevolezza di ogni difficoltà, del ritardo nella risoluzione di un problema, di un bug nella mia correzione di un altro bug. Era molto urgente. Ma ricordo che all'inizio del mio viaggio avevo deciso fermamente che avrei preso la decisione di continuare o terminare il percorso di sviluppatore solo dopo 5 anni. Tutto stava andando davvero difficile per me. Avevo costantemente la sensazione che le persone intorno a me fossero molto più intelligenti di me, che non riuscissi a cogliere le cose così velocemente come loro. Probabilmente non valeva la pena pianificare tutto questo. Nel giugno di quest'anno ho trovato un lavoro dove lavoro ancora oggi. Stiamo lavorando ad un servizio molto interessante per il backup dei dati cloud da servizi come Google Disk, Dropbox, Office 365 sui server Amazon. Vorrei sottolineare che se non fosse stato per un attento studio del tema del multithreading per lo svolgimento delle lezioni, non avrei potuto sostenere un colloquio con questa organizzazione, perché i compiti sono stati assegnati appositamente per questa parte. Così ho deciso di tornare a prepararmi per l'OCA. Alla fine dell'inverno ho trovato ottimi materiali per questo. Ma non riuscivo ancora a trovare il tempo per prepararmi. E così, tra il 2° e il 3° flusso di studenti, ho avuto un mese libero per prepararmi. Ovviamente non avevo tempo prima dell’inizio del corso. Ma ha comunque raggiunto il suo obiettivo: ha superato l'esame Oracle 1z0-808 con l'81% di risposte corrette e il 65% di superamento. Volevo, ovviamente, l'85%. Ma bere prima più di un litro d’acqua, in modo che “il cervello potesse pensare meglio”, mi ha costretto a finire mezz’ora prima senza la possibilità di ricontrollare tutto. Ma sono ancora molto orgoglioso di questa certificazione di successo. A fine gennaio 2017 ho intenzione di andare a sostenere il test OCP. Sì, se ci pensi non ha molto senso la certificazione. Per me personalmente, questa è un'opportunità per consolidare le basi. Perché A volte ho bisogno di rispondere a domande complicate degli studenti. In conclusione della mia storia, voglio scrivere questo. Nonostante lavori come sviluppatore da quasi 2,5 anni, non mi considero un programmatore in quanto tale. So quale enorme quantità di informazioni devo esaminare su tutti i tipi di algoritmi, sottodatabase, strutture dati, tecnologie web, modelli, front-end, framework e le loro numerose varietà. E voglio continuare a studiare JavaRush per lo sviluppo generale, poiché l'abbonamento è illimitato. Non c'è fine al lavoro! E, cosa più importante, mi piace. Voglio sapere sempre di più. Essere in grado di scrivere codice più velocemente e meglio. Col tempo, mi piacerebbe diventare un team leader o un architetto. Ma c'è così tanto da fare prima! Non resta che gestire correttamente il proprio tempo e procrastinare meno. Grazie per l'attenzione!
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION