JavaRush /Java Blog /Random-IT /Java Medio in 2,5 mesi

Java Medio in 2,5 mesi

Pubblicato nel gruppo Random-IT

Fascicolo

  • Chi: Tolegen Izbasar
  • Luogo di residenza: Astana
  • Età all'inizio della formazione Java: 23 anni
  • Primo lavoro come programmatore: 2 mesi dopo l'inizio della formazione
  • Storia di successo originale
Java Medio per 2,5 mesi - 1
È possibile saltare rapidamente la fase Junior e diventare subito un programmatore Middle? In linea di principio è possibile, ma non è così semplice. "Non solo conoscenza", dice l'eroe di questa storia di successo, ma lui, devo dire, ha molta conoscenza. Una storia di successo non convenzionale in cui l'autore rivela come la consapevolezza, le sigarette e la pianificazione strategica possano svolgere un ruolo nel rapido progresso. Un saluto a tutti i lettori che pensavano che in 2,5 mesi da zero si potesse davvero diventare Middle . Mi affretto a deluderti: questo è possibile solo con un duro lavoro su te stesso, e so che tutti vogliono tutto in una volta, proprio adesso e in nessun altro modo. E la frase da zero si applica a me solo in modo condizionale. Sì, non avevo assolutamente alcuna conoscenza del linguaggio di programmazione Java . Ma alcune cose le sapevo già e le potevo fare anche prima di incontrare Java Rush e, forse, vorrei iniziare la mia storia con questo, perché la mia crescita professionale è una combinazione piuttosto strana di conoscenza, abilità e fortuna in un certo senso .

Prima di JavaRush

Ti faccio quindi un elenco grazie al quale ho ottenuto un vantaggio competitivo rispetto agli altri, e mi ha permesso anche di completare Java Rush ( fino al livello 34 ) abbastanza velocemente e senza particolari difficoltà ( almeno non mi hanno sorpreso ). L'elenco è composto dalle conoscenze che ho ricevuto all'università e da ciò che mi interessava. Non separerò dove si trova tutto e non nominerò nemmeno l'università. Se lo desideri, puoi acquisire questa conoscenza da solo. Algoritmi e strutture dati : il mio percorso in questa direzione è iniziato con lo studio dei principi di costruzione degli algoritmi, la lettura di libri classici ( Knuth ) e lo studio del linguaggio di programmazione Pascal . Si è proseguito con il linguaggio C , l'implementazione di tutte le strutture dati e l'analisi dei vantaggi e degli svantaggi di ciascuna di esse. Non dico che so anche lavorare con le macchine di Turing e gli algoritmi di Markov... l'ho già detto, ma puoi ignorarlo. Sebbene, a mio modesto parere, il concetto di un nastro di memoria infinito e il movimento del puntatore lungo di esso diano l'idea più corretta di come funziona effettivamente un computer dall'interno. Architettura e assemblatore del computer : quando pensi di avere una comprensione completa di come funziona un computer, prova a scrivere programmi a un livello molto basso ( altrimenti come farai ad apprezzare tutte le delizie di Java ? ). Ho considerato tutte le opzioni di allenamento con uno, due, tre registri e ho capito come devi schivare quando c'è un solo registro e il programma funziona (sorprendente, vero?). Matematica discreta : vale anche la pena affrontare questo argomento, poiché fornisce una comprensione completa del pensiero logico, e la teoria delle macchine a stati finiti ti dirà come sono disposti gli "interni" del processore, come sono organizzati nei circuiti integrati . Anche nell'ambito di questa materia studiano la Teoria dei Grafi, che non sarà superflua al 100% . Matematica superiore : ho deciso di separare tutte le altre materie matematiche in un unico argomento per non disturbarmi troppo la testa. Qui si trovano: analisi matematica, teoria e statistica della probabilità, algebra lineare. Quest'ultimo, tra l'altro, è molto importante se hai intenzione di realizzare grafica 3D. Lo so, il sogno di tutti è scrivere giochi, ma per farlo dovrai seguire anche un corso di equazioni differenziali con metodi numerici. Architettura Linux : dopo che ti sarai sentito a tuo agio qui, il multithreading in Java solleverà molte meno domande e si scopre che hai già sentito la fiaba sui filosofi da qualche parte. OOP, linguaggio C++ :Bene, abbiamo quasi raggiunto la cima della catena alimentare. Non scriverò qui in dettaglio il motivo per cui è molto più interessante osservare l’implementazione dell’OOP in C ++ . Inoltre : un altro paio di piccole cose che già sapevo erano: computer grafica ( OpenGL , Unity 3D ) e C# ( Core ).

Cosa c'entra JavaRush con tutto ciò?

Bene, insieme a tutta questa spazzatura di conoscenza, nel settembre dello scorso anno mi sono imbattuto in Java Rush , ho scorso un paio di livelli e ho rinunciato, dato che ho trovato abbastanza facilmente un lavoro dopo l'università ( non come programmatore, ma nell'IT. .. Forse qualcuno indovinerà di cosa potrebbe essere? ). Ma presto ho scoperto che questo non mi interessava affatto; in un paio di mesi ho quasi raggiunto il limite e ho capito che non aveva senso sviluppare qui, anche se il management dell'azienda offriva opzioni quasi divertenti (tra cui DevOps ) . Li ho rifiutati. Allo stesso tempo, stavo preparando gli scolari per le Olimpiadi di informatica ( ho dimenticato di dirlo, mi piaceva molto la programmazione sportiva ) e, dopo aver lasciato il lavoro principale, ci sono andato a capofitto. Sono stato contento di tutto per circa 4-5 mesi , finché non mi sono stancato anche di questo. Le domande venivano ripetute, tutti gli argomenti venivano trattati ed è stato allora che mi sono ricordato di Java Rush .
"Essendo un razionalista (avido), ho prima attraversato 10 livelli iniziali da una copertina all'altra, poi ho guardato oltre (sembrava che il livello 15 fosse sufficiente), ho capito che era piuttosto interessante e, nel mio tipico modo, ho semplicemente fatto in qualsiasi momento libero. Hai 5 minuti a disposizione? Ottimo, aggiungo la logica del metodo.”
Totale: ho acquistato due abbonamenti mensili. Nel primo mese sono passato dal livello 10 al 28 , nel secondo incompleto ( circa 15 giorni ) sono passato dal livello 28 al 34 . Cronologicamente era aprile-metà maggio, cioè sono trascorsi 1,5 mesi ( fai tu i conti in rubli ). Non ti dirò come farlo e come non farlo: è già stato detto molto al riguardo.

Occupazione

Intorno al livello 30, ho esaminato i posti vacanti nella mia città e ho deciso di non affrettarmi, inviando curriculum a tutti, ma di selezionare specificamente l'azienda desiderata, prepararmi e solo dopo inviare i miei scarabocchi al dipartimento Risorse umane . Ho anche disegnato gli scarabocchi con molta attenzione e il risultato è stato molto buono. Sono stato subito invitato per un colloquio. L'ho superato con molta sicurezza (almeno per quanto riguarda Java Core ). Non descriverò quali fossero le domande. I problemi sono iniziati quando mi hanno chiesto come funziona Spring e se conosco almeno alcune tecnologie Enterprise . In realtà ho detto che non lo so, ma con un livello del genere Junior è garantito (non salterai più in alto), ma ho comunque saltato e qui, probabilmente, inizia la parte più interessante. In generale, quando mi sono state spiegate le condizioni ( 2 mesi - periodo di prova, posizione - Junior e fascia salariale ), ho capito che non mi piacevano molto, ma ho accettato. Mi ha solo chiesto se potevo iniziare a lavorare più tardi, adducendo il fatto che dovevo finire il mio lavoro attuale prima di unirmi alla nuova azienda. Quindi mi sono concesso quasi un mese per prepararmi. Ho avuto un colloquio all'inizio di maggio e ho iniziato a lavorare il 23. Naturalmente, ho studiato ancora una volta i requisiti, ho scoperto quali tecnologie sono state utilizzate (Java EE 6) e mi sono preparato per il lavoro.

Medio o non medio?

Quando mi sono messo al lavoro, ho scoperto che avevano reclutato circa 5 Juniors , tra i quali mi sono distinto, ma non troppo.
"Prima di tutto, ho incontrato il mio diretto superiore, ho notato che fumava e ho iniziato a uscire a fumare con lui (e io non fumo affatto)."
Con noi c’era anche un altro programmatore, di lui vi parlerò poco dopo. In generale, mentre fumavo ( 3-4 volte al giorno lavorativo ), ho parlato con il manager, ho parlato in modo più dettagliato dei miei successi, ho menzionato casualmente le mie conoscenze ( deve tornare utile ) e in generale, ho acquisito fiducia nel miglior modo possibile . Il barbecue e la birra che ho organizzato alla fine della prima settimana ci hanno permesso di instaurare rapporti più amichevoli.
“Sono rimasto in ufficio a lavorare fino alle 23 (giorno lavorativo fino alle 18:30) finché la guardia di sicurezza non mi ha cacciato. A volte restavano con me in ufficio il CEO e il CTO dell'azienda, con i quali comunicavo anche. Abbiamo cenato insieme e siamo usciti insieme dall'ufficio (il CTO mi ha persino offerto un passaggio a casa, ma ho gentilmente rifiutato)”.
Pertanto, in primo luogo, ho stabilito un buon rapporto con il mio diretto superiore e, in secondo luogo, ho mostrato al senior management che avrei completato il compito e solo allora sarei tornato a casa. Naturalmente tutto questo non fa di me un Medio . Quindi cosa ha fatto? Lascia che ti ricordi che prima del colloquio non conoscevo un solo framework ( tranne JUnit ). È qui che vale la pena tornare al programmatore di cui ho parlato sopra. Era un programmatore molto potente con 20 anni di esperienza, che ha lavorato per 5 anni a Mosca, circa 7 anni in America (come capo architetto del progetto) e in molti altri posti, compresi progetti governativi di particolare importanza (ho imparato tutto questo fumando con lui). Quindi, a questo programmatore è stato affidato un compito molto serio e ha deciso di prendermi come assistente. Dopo che gli è stato affidato questo incarico, si è scoperto che aveva urgente bisogno di lasciare il paese e non sarebbe stato in grado di lavorare. Ha scritto la struttura della domanda e mi ha lasciato responsabile, dicendo che avrebbe monitorato da lontano. È stato questo momento che mi ha aiutato a diventare Middle e a terminare il periodo di prova non in 2 mesi, ma in uno e ad avere diritto a uno stipendio più serio. Perché questo programmatore non era in grado di monitorare da lontano e il progetto è stato lasciato interamente a me. L'ho completato con successo entro un mese, per il quale ho ricevuto la mia posizione e l'opportunità di richiedere uno stipendio più alto.

Qual è la morale?

Si può dire che ho avuto la fortuna di studiare dove mi hanno dato tutta questa conoscenza ( nota, l'ho usata solo per menzionarla ai miei superiori ), che le circostanze erano tali che un simile progetto è caduto sulle mie spalle, e cosa deve fare con Java , sembrerebbe Rush ? Permettimi di ricordarti ancora una volta che prima di Java Rush , il mio livello di competenza Java era 0: tutto qui. In secondo luogo, quando risolvi i problemi al 52esimo tentativo, qualcosa ti rimane in mente. Ero esperto in eccezioni, controlli, ecc., il che era anche un vantaggio competitivo e, in generale, inizi a comprendere Java Core in modo molto approfondito ( come confermato dal certificato OCA, che ho superato a spese dell'azienda e ho ottenuto un punteggio di 94 % ), e senza questo non vedo molto motivo di andare avanti. La prossima settimana mi verrà assegnato un nuovo progetto da zero, che condurrò io stesso (inclusa la progettazione del database, la selezione della tecnologia e anche il reclutamento di un team). Inoltre, condurrò interviste ed esaminerò i progressi dei Juniors per determinare se ne vale la pena o meno. Voglio dire che in queste questioni mi ha aiutato non solo la conoscenza fattuale, ma anche la capacità di stabilire una comunicazione con la squadra, presentarmi bene alla direzione, la capacità di lasciare il segno e la prova che farò tutto fino in fondo fine. Grazie per l'attenzione, auguro a tutti più perseveranza e attenzione ai dettagli.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION