JavaRush /Java Blog /Random-IT /Programmatore scalatore
Илья Альтерович
Livello 33
Одесса

Programmatore scalatore

Pubblicato nel gruppo Random-IT
Fascicolo
  • Chi: Ilya Alterovich
  • Occupazione: scalatore industriale
  • Età all'inizio della formazione: 35 anni
  • Luogo di residenza: Odessa, Ucraina
  • Primo lavoro come programmatore: dopo 1 anno e 8 mesi (febbraio 2015) - a 37 anni.
  • Cosa fa attualmente: è ancora programmatore, ha cambiato azienda =)
  • Storia originale
Programmatore scalatore - 1
Se hai già 35 anni, questo non è un motivo per non iniziare a studiare! Certo, quando hai alle spalle anni di preziosa esperienza in un altro settore, non è così facile, ma non è affatto senza speranza. Abbiamo un ottimo esempio: Ilya di Odessa ha deciso di riqualificarsi da alpinista industriale a programmatore industriale proprio a questa età. E ci è riuscito. Leggi una delle storie di successo più affascinanti e approfondite su JavaRush!

Sfondo

Voglio condividere la mia storia perché sento un obbligo morale nei confronti delle meravigliose persone che hanno creato questa risorsa e della comunità a cui ha dato vita. Vorrei ringraziare in qualche modo i creatori e vorrei incoraggiare i "Javarashiti" che non hanno ancora raggiunto il loro caro obiettivo e rafforzarli con una buona dose di motivazione! In conclusione: lavoro come programmatore ormai da due settimane e questo è in gran parte grazie a Java Rush .
Ho 37 anni, sposato, due figli di 6 e 3 anni. Negli ultimi 15 anni ho lavorato come alpinista industriale (alpinista d'alta quota). Il lavoro, come capisci, ha poco a che fare con la programmazione piuttosto che con niente.
In generale, il lavoro non è male, l'aria è fresca, ti costringe a mantenerti in " forma ", hai abbastanza tempo libero, sei il capo di te stesso. E non male per il prezzo ( in stagione ). MA :
  • Ha una stagionalità pronunciata. Cioè per 3-4 mesi all'anno praticamente NON c'è lavoro .
  • NESSUNA prospettiva. Avendo lavorato in questo campo per 15 anni, mi sono reso conto che nei prossimi 5-10 anni è molto improbabile che qualcosa possa cambiare ( almeno in meglio ).
  • I bambini cominciarono a crescere e chiaramente non c'erano abbastanza soldi...
  • Ha appena iniziato a diventare noioso... 15 anni sono un tempo molto lungo, qualsiasi cosa diventerà noiosa.
Così, nel maggio 2013 , ho soppesato tutti i pro e i contro e sono giunto alla conclusione che era ora di cambiare lavoro... E con uno che fosse privo dei difetti del precedente. Questo è:
  • c'è lavoro tutto l'anno;
  • buone prospettive di crescita;
  • stipendio significativamente più alto ( se non immediatamente, almeno in futuro );
  • lavoro interessante per il quale ho una certa inclinazione.
Avevo un debole per la programmazione. È vero, in pratica, questo ha solo portato al fatto che a scuola scrivevo un po 'in BASIC, e ancor meno in linguaggio assembly ( sullo ZX-Spectrum , alias Sinclair una volta era un computer di culto ). Gli svantaggi del “ grattacielo ” durante i miei studi si sono rivelati un vantaggio per me: tutto il tempo libero che avevo in abbondanza in primavera e soprattutto in inverno, potevo utilmente dedicarlo all'apprendimento della programmazione. La programmazione è un concetto flessibile. Ho cercato su Google, ho valutato le prospettive... e la mia scelta è caduta su Sua Maestà Java .

Studi

Il mio primo libro su Java è stato “ Programmazione Java per bambini, genitori e nonni ” di Yakov Fain . Non so se consigliare questo libro ai principianti; forse ci sono libri migliori, ma a quel tempo era interessante e abbastanza comprensibile da leggere. Ho lavorato attentamente sugli esempi pratici forniti lì, che mi hanno fornito il minimo necessario di competenze pratiche per ulteriori progressi. Ho finito di leggere il libro e ho deciso di cercare dei corsi. I corsi di persona erano costosi e non ero sicuro che ne valesse la pena. E in quel momento mi sono ricordato che mentre lavoravo al libro, da qualche parte (su habrahabr, a quanto pare) mi sono imbattuto in articoli su JavaRush. E tutto ha cominciato a succedere... Dopo aver letto e lavorato sul libro, ho risolto i primi 10-12 livelli come semi, era fin troppo facile. Ma comunque interessante. Poi è diventato più difficile e ancora più interessante.
Ho completato i livelli in modo rigorosamente sequenziale, ad es. Ho letto la lezione e, sebbene la mia comprensione fosse fresca, ho risolto i problemi e non sono passato alla lezione successiva finché tutti i problemi precedenti non sono stati risolti, con rarissime eccezioni. Quindi sono arrivato al livello 20 con 3-5 problemi irrisolti.
Se hai problemi a risolvere i problemi, ovviamente, la comunicazione sul forum aiuta molto e, allo stesso tempo, aiutando gli altri utenti del forum, tu stesso migliori le tue capacità! Circa sei mesi dopo, ho deciso che era ora di tentare la fortuna e mettermi alla prova in un colloquio. Ho cercato su Google esempi di curriculum, gli amici mi hanno inviato diversi esempi di curriculum, ho anche scritto a Sepp ( responsabile di Java Rush , ndr ) e lui mi ha dato alcuni suggerimenti e modelli per un curriculum. L'ho compilato e inviato a Sepp per la revisione; lo ha apprezzato. Successivamente, ho pubblicato il mio curriculum su popolari siti di ricerca di lavoro, ho compilato un elenco di indirizzi dei dipartimenti delle risorse umane delle più grandi aziende IT di Odessa , che avevano posti vacanti per sviluppatore Java ( non solo " junior "). Erano circa 20 . Ne ho immediatamente messo da parte la metà per ogni evenienza, nel caso in cui avessi commesso un errore ovunque, e ho inviato il mio curriculum per l'altra metà.

Prime interviste

Non dico di essere stato bombardato di inviti, ma alla fine, in un mese e mezzo, ho fatto una mezza dozzina di colloqui. Alcuni hanno avuto più o meno successo, altri meno. C'erano due o tre compiti di prova, che ho completato con successo variabile, e un colloquio in inglese parlato. L’ho superato con successo, ma non sono arrivato al colloquio tecnico: un altro candidato era davanti a me. Anche in Luxsoft sono quasi entrato nel cosiddetto “benchmark”: ho superato i test e il colloquio, ma all'ultimo momento, quando ho letto il contratto, ho cambiato idea e ho rifiutato. In breve, ti insegnano per tre mesi e ti pagano uno stipendio di 300 dollari . Se gli piaci, ti offrono un lavoro come junior ( $ 500 ). Dopo 9 mesi possono aumentarti lo stipendio, ma, come risulta dal contratto, se non frequenti i corsi o dopo i corsi vuoi cambiare lavoro entro un anno o due, sei obbligato a pagare loro un compenso per la formazione per un importo di $ 2.500 . Ho trovato tali condizioni inaccettabili e ho rifiutato. Ho rifiutato anche un altro posto vacante: mi sembrava che lì non avrei avuto prospettive.
Ma la cosa principale è che ho acquisito un'esperienza molto preziosa nei colloqui. Dopo ogni colloquio, avevo un'idea molto migliore di cosa mi aspettava in quello successivo, approssimativamente quali domande mi sarebbero state poste e quali risposte ci si sarebbero aspettate... Non è che le stesse domande vengano poste a tutte le interviste, ma quasi sempre vengono poste molte domande.
E dopo ogni intervista, mi sono fatto un piccolo elenco di domande in cui ho “nuotato”, per poi trovare risposte chiare. In generale, andare ai colloqui è davvero utile, indipendentemente dai risultati...

tirocinio

Più o meno nello stesso periodo ( autunno-inverno 2013 ), Java Rush mi ha scritto in un messaggio personale con un'offerta per partecipare al “ Real Project ”. Ad essere sincero, dopo aver elencato le tecnologie utilizzate ( Spring , Hibernate , GWT , MySQL , Maven , Git ), ero un po' spaventato, poiché per la maggior parte ho sentito queste parole all'improvviso, o anche per prima volta . Pensavo di non avere nulla da perdere, avevo tempo per partecipare e ho accettato.
All'inizio è stato davvero DIFFICILE, ma dopo una settimana o due, dopo aver letto libri e articoli, ho approfondito il lavoro del codice esistente abbastanza profondamente da scrivere qualcosa da solo ed effettuare il mio primo commit.
Sono stato molto fortunato con i ragazzi del progetto. Eravamo in quattro : Timur (Timur), Zhenya (Groomsh), Seryoga (SergeyKandalintsev) e io . Abbiamo supervisionato il nostro progetto direttamente da JavaRush. Timur ha lavorato principalmente sul backend, Zhenya ha lavorato sul front-end , Seryozha ha lavorato sul database , io ho lavorato un po' sul front-end e un po' sul back-end . Un paio di mesi dopo, siamo diventati il ​​primo team a completare con successo un vero "Real Project" , che ora è utilizzato da tutti i Javarashiti: questo è il progetto "Ratings" ( nella nuova versione di JavaRush questo progetto non è più utilizzato ) . Dire che “The Real Project” mi ha dato molto è non dire nulla! Oltre all'evidente aumento di conoscenze preziose, mi è arrivata una comprensione ancora più importante: Java non è l'unica competenza necessaria, sebbene sia fondamentale. Java è l'ABC della programmazione, ma oltre all'ABC bisogna conoscere le regole di ortografia, la grammatica, la sintassi, costruire correttamente le frasi, avere un vocabolario ricco... E nella programmazione bisogna conoscere ed essere in grado di utilizzare molti framework, modelli e strumenti di sviluppo e sapere anche dove cercare per risolvere problemi e rispondere alle tue domande. Dopo il progetto vero e proprio, mi sono interessato a tecnologie più avanzate, e ho approfondito la conoscenza di quelle che già conoscevo... I miei interessi sono andati oltre i confini del “puro” Java Core . Inoltre, nel mio curriculum nella colonna "Esperienza lavorativa" è apparso un elemento nuovo e solido con una descrizione delle tecnologie interessanti e alla moda utilizzate nel progetto.

Ulteriori prove

Lo stage è terminato, ho iniziato una nuova stagione lavorativa in grattacielo... Il tempo libero è diventato scarso, la questione del cambio di professione è passata in secondo piano. Tuttavia, ho dedicato quasi tutto il mio tempo libero alla programmazione: ho scritto vari "mini-progetti", a volte ho risolto problemi in Java Rush , ho monitorato i posti vacanti e alla fine dell'autunno mi sono iscritto a corsi gratuiti presso l'ufficio IT DataArt . I corsi stessi si sono rivelati troppo generici: lì non ho imparato quasi nulla di utile. Ma come parte di questi corsi, agli studenti veniva chiesto di dividersi in squadre e scrivere un “Progetto” . Il progetto consisteva nella scrittura di un sistema di test online, con registrazione dell'utente, una parte utente ( recupero questionari ) e una parte amministrativa ( creazione questionari e gestione account ). Sono finito in uno dei quattro team e in seguito si è scoperto che praticamente avevo scritto il progetto da solo. In circa un mese ( mentre lavoravo in un grattacielo ), io stesso ho scritto un'applicazione web abbastanza passabile, come mi sembra, basata sulle stesse tecnologie e modelli che abbiamo utilizzato durante lo stage Java Rush ( più jsp, Spring Sicurezza e qualcos'altro ). Se qualcuno è interessato, posso pubblicare un collegamento a un repository aperto con i sorgenti del progetto...

L'altezza è stata presa!

A dicembre sono stato invitato per un colloquio in un ufficio. Mi hanno detto che mi avrebbero chiamato quando avessero preso una decisione... " Bene, è tutto come al solito", ho pensato allora. "Se non lo prendi subito, allora ci sono poche speranze ." Ma un mese dopo, dopo Capodanno, ho scritto al responsabile delle risorse umane di questa azienda e ho chiesto del mio destino. Con mia sorpresa, mi ha risposto che il posto vacante era ancora aperto e che la decisione non era stata ancora presa...
È passato un altro mese e ora, a fine gennaio, mi ha chiamato chiedendomi se cercare lavoro fosse rilevante per me, al che io “implacabile” ho risposto che sì, lo sto ancora cercando. Al che lei ha risposto che l'avevo già trovata, visto che gli andavo bene!
La sensazione, ovviamente, è indescrivibile, quando te lo dicono al telefono, le tue ali crescono! Per capirlo, devi sperimentarlo tu stesso. Questo è ciò che ti auguro nel prossimo futuro! Il mio primo lavoro è stato la partecipazione allo sviluppo di un grande progetto ERP : un'applicazione , una costruzione a lungo termine. L'applicazione si è rivelata ricca di sfumature specifiche, quindi la società di sviluppo di Kiev aveva bisogno di un programmatore non lontano dal cliente, a Odessa , dove vivo. L'applicazione è scritta in GWT + ExtGWT + Spring + Hibernate + MySQL e un sacco di librerie minori di supporto. Si dà il caso che questo sia esattamente lo stack tecnologico che ho studiato e con cui ho una certa esperienza. Tra gli svantaggi, menzionerò che il progetto è vecchio e utilizza vecchie versioni di librerie e approcci progettuali obsoleti, e sono così obsoleti che praticamente non sono soggetti ad aggiornamento. Si è anche scoperto che sarei stato solo a finire i risultati di 3-4 anni di lavoro di altri programmatori! Naturalmente, mi aspettavo che, come ogni junior, mi sarebbe stato assegnato un team leader più esperto, che sarebbe stato anche un mentore-consulente che mi avrebbe guidato e avrebbe rivisto il mio codice. Ma il destino ha decretato diversamente; mi è stato affidato un lavoro pensato per uno sviluppatore indipendente esperto. “Se le cose stanno così”, ho pensato, “sarebbe carino chiedere subito un aumento di stipendio”. E ha aumentato la cifra originale di 200 dollari . Ciò non ha causato alcuna indignazione da parte loro. Non fornirò numeri specifici, dirò solo che lo stipendio ha superato notevolmente le mie aspettative. Inoltre ho avuto solo un mese di prova ( e non tre, come al solito ). Mi hanno registrato, come al solito, tramite SPD ( questa è una pratica comune per i programmatori) .

Tecnologie che ti saranno utili nel tuo lavoro: esperienza personale

La conoscenza di database, SQL ( MySQL ), jdbc , Hibernate , Jpa , tecnologie di rete html , jsp , servlet , xml , Tomcat è molto desiderabile, forse anche NECESSARIA . È richiesta la conoscenza dei pattern JavaSE di base ( i cosiddetti pattern GOF ) ; anche una conoscenza almeno superficiale di Spring , SpringMVC , del project builder Maven , del logging log4j e dei test unitari JUnit sarà un ENORME vantaggio . Devi essere in grado di lavorare con i sistemi di controllo della versione, ad esempio Git . A volte chiedono o forniscono attività di test sui servizi web ( SOAP, REST ). Insieme a tutto ciò, la conoscenza del core Java dovrebbe essere, se non impeccabile, almeno molto sicura.

Prime impressioni

Dopo le prime due settimane ho iniziato ad approfondire il codice e ora so che tutto funzionerà...
Vorrei subito sottolineare che lavorare come programmatore non è ancora un resort, è innanzitutto un lavoro per il quale bisogna alzarsi la mattina e rientrare la sera. Ma questo lavoro è molto migliore di molti altri. Ha interessi, soldi e prospettive. Ed è particolarmente bello quando sei riuscito a raggiungere questo obiettivo da solo, con la tua mente, il tuo lavoro e la tua perseveranza. Sono stato in grado di cambiare la mia vita e in molti modi tu sei il padrone del tuo destino.
L'unica cosa di cui ho paura è che la pigrizia prevalga su di me. Che avendo raggiunto un certo risultato, diventerò pigro e smetterò di crescere professionalmente. Ma spero ancora davvero che ciò non accada. Ancora una volta voglio ringraziare i creatori di questa meravigliosa risorsa! E a te, Javarashite, voglio augurarti perseveranza e pazienza nel cammino che hai scelto, come diceva nonno Lenin: "Stai andando lungo il sentiero del villaggio, compagni!" =) e non assecondare ancora la propria pigrizia e, soprattutto, “NEVER GIVE UP”. Chi cammina padroneggerà la strada!

Postfazione: due anni dopo...

...ho deciso di scrivere la continuazione della mia “Storia di successo”. Ci sono tre motivi per questo:
  • Me lo ha chiesto l'amministrazione =);
  • Credo ancora che questa particolare risorsa abbia avuto un ruolo chiave nel mio “entrare nell'IT”;
  • Rimango fiducioso che anche la motivazione sia uno dei fattori chiave in questa questione, e uno dei migliori motivatori sono le storie di successo di persone reali che si trovavano nella tua stessa identica situazione, un Javarashita. Perché so da me che a volte le mani semplicemente si arrendono... e per molti non si rialzano più. È un percorso davvero difficile, ma ne vale la pena!
Quindi ecco le mie risposte alle domande: come è cambiata in generale la tua vita dopo aver trovato un nuovo lavoro e come ti sei sentito in quel momento? Beh, certo che è cambiato... Innanzitutto è cambiato l'eterno equilibrio “tempo-denaro”. Ci sono sensibilmente più soldi, molto meno tempo... Finalmente c'è abbastanza per il “pane quotidiano”, ma non è ancora possibile risparmiare per i “giorni piovosi”. Anche se, sono sicuro, che se ti impegni un po', riuscirai a risparmiare $ 200-500 al mese (questo nonostante io sia l'unico a lavorare in una famiglia di 4 persone, mia moglie ha il possibilità di prendersi cura dei bambini in tutta tranquillità). Stabilità, fiducia nel futuro o almeno qualche illusione è apparsa... Descrivi il tuo lavoro. Cosa fai, cosa studi, quali sono i processi di interazione con il team? Attualmente sto lavorando per la mia seconda azienda, Electric Cloud. Questa è un'azienda americana, il prodotto non è semplice: uno strumento DevOps per l'integrazione continua/consegna continua, qualcosa come Jenkins, solo molto più grande e un prodotto puramente commerciale. Inoltre, è già piuttosto antico, pieno di codice legacy (codice obsoleto, ndr), che necessita di essere mantenuto, corretto di bug e talvolta scritto di nuove funzionalità. In una parola, lo zoo delle tecnologie è tale che mamma non si preoccupa! Devi avere a che fare più o meno con Java8, GWT, JS, PHP, Perl, HTML, CSS, Spring, Hibernate, JUnit, Mockito, Maven, Perforce e questi sono solo i principali... I primi mesi Ho visto facilmente la luce, poi mi sono abituato. Le condizioni di lavoro sono standard. Cinque giorni alla settimana, 18 giorni lavorativi all'anno - ferie (più tutti i giorni festivi). L'orario è in gran parte gratuito; se lo desideri, puoi lavorare da casa. Preferisco però l’ufficio, dove l’atmosfera è più lavorativa. Molto spesso lavoro dalle 12 alle 19-20 ore. Riceviamo aggiornamenti Scrum ogni giorno ( Scrum è una metodologia per lo sviluppo flessibile di software, ndr) e una o due volte alla settimana abbiamo incontri serali con il nostro team leader americano. Quali traguardi hai già raggiunto nella tua carriera e quali altre montagne pensi di scalare? Di tanto in tanto cerco buoni posti vacanti nelle aziende che mi interessano. Molto raramente, ma succede ancora, vado alle interviste. Ho già capito che trovare un posto con un buon stipendio è più facile che trovare un posto con un buon progetto. E per fare entrambe le cose, devi impegnarti molto. Inoltre mi rendo sempre più conto che non sono entrato in questo mestiere per caso, ma me lo sono guadagnato con il lavoro e la perseveranza, anche se una certa fortuna, soprattutto all'inizio, deve certamente esserci, e inoltre: dubito fortemente che Lo cambierò . Entro febbraio, la mia esperienza di sviluppo commerciale compirà due anni. Se valuti il ​​mio livello secondo concetti generalmente accettati, mi sembra che sia qualcosa come Strong Junior o Regular Middle. Tuttavia questa valutazione è molto soggettiva, tranne per il fatto che sono sicuro che non sia ancora Senior.  Qualche parola di commiato per coloro che sono ancora all'inizio (o a metà) del loro viaggio? Auguro sinceramente a tutti coloro che credono in se stessi di raggiungere il proprio obiettivo e spero che il mio esempio contribuisca a questo. Ripeto: questo non è un percorso facile, qualunque cosa ti dicano, e pochissimi di quelli che hanno iniziato raggiungono il loro obiettivo. Ma molte più persone possono farlo! È solo che alla maggior parte delle persone manca qualcosa a metà del percorso: motivazione, desiderio, perseveranza, fiducia in se stessi e nelle proprie forze. Molti inventano scuse sofisticate e non raggiungono più i loro obiettivi... Quindi credi in te stesso, non arrenderti a metà strada (le piccole pause ovviamente non contano =)), e avrai successo! Come dicevano gli antichi greci: “Non sono gli dei a bruciare le pentole”. “I programmatori non si nasce”, ve lo ricordate (motto JavaRush, ndr)? E infine, un altro consiglio: superate le INTERVISTE! Questa è la strada più diretta. Una volta ho sentito la frase a un evento IT: "Non ho mai incontrato una persona che abbia fatto 20 colloqui e non sia stata accettata". A quanti colloqui hai già partecipato? So che puoi rispondermi:
  • Non sono ancora pronto, devo ancora imparare...
  • Beh, nessuno mi chiama...
Quindi: anche queste sono tutte scuse marce! Ho ottenuto il mio primo lavoro (con uno stipendio di $ 1100) dopo il livello 21! È vero, a quel tempo avevo già una certa esperienza in GWT, Hibernate e Spring, raccolta dal mio stage JavaRush. Ma durante il colloquio non hanno chiesto questo: quasi tutte le domande riguardavano Java Core e un po’ di SQL. Quindi non aver paura, cerca posti vacanti, vai ai colloqui! Iscriviti su LinkedIn, Gina, siti di ricerca di lavoro, ovunque tu possa! Tieni traccia delle ultime offerte di lavoro e rispondi! "Bussa e ti apriranno", inonda tutti gli uffici IT della tua città di lettere con il tuo curriculum e non dovrai aspettare a lungo per un invito a un colloquio. Molte opzioni! Quindi la linea d'azione più breve è:
  1. Ho completato 20-30 livelli di JavaRush e ho imparato un po' di SQL e JDBC. Se hai anche le basi di Spring e Hibernate, allora sei completamente nei guai.
  2. Ho digitato un curriculum utilizzando esempi, mi sono registrato su siti specializzati, l'ho pubblicato, quindi ho bombardato di spam tutti gli uffici IT con il mio curriculum. Credimi, non rimarrai senza feedback, molti ti risponderanno semplicemente dicendo che ti terranno a mente, e alcuni ti inviteranno sicuramente per un colloquio.
Ogni colloquio, anche un completo fallimento, ti avvicina notevolmente al tuo obiettivo! Perché ad ogni prossimo ti sentirai più preparato e fiducioso. E l’80% delle persone pone le stesse domande quasi ovunque.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION