JavaRush /Java Blog /Random-IT /Meccanica dei solidi deformati e programmazione
Сергей Алещенко
Livello 33
Тбилиси

Meccanica dei solidi deformati e programmazione

Pubblicato nel gruppo Random-IT
Account su info: info.javarush.ru Link ai social network: Instagram Dossier:
  • Chi: Sergey Aleshchenko
  • Ha lavorato come: studente laureato
  • Luogo di residenza: Tbilisi, Georgia
  • Età all'inizio della formazione Java: 25 anni
  • Primo lavoro come programmatore: un anno dopo l'inizio della formazione
  • Storia di successo originale
Meccanica dei solidi deformati e programmazione - 1
È improbabile che la mia storia sia simile alle altre, tutte hanno le loro sfumature. Scrivo la mia storia perché ricordo molto bene quanto mi motivassero le storie lavorative degli altri. Spero che possa aiutare anche te, mio ​​​​caro lettore. In questo racconto infatti non ci sarà una parola sulla meccanica di un solido deformato. Tranne, forse, menzionare il fatto che questa è la specialità dell'autore di questa storia di successo, Sergei Aleshchenko. Attualmente, questo residente di San Pietroburgo ha cambiato (notiamo - cambiato con successo!) Due lavori e si è stabilito nel terzo. Leggete e scoprirete come ci è riuscito (e scoprirete anche chi Sergej considera “i pigri”). Studi
  • Sono arrivato abbastanza avanti nell'istruzione. Laureato presso la più grande università di San Pietroburgo. È vero, in una specialità completamente diversa: la meccanica dei solidi deformabili. Al momento di iniziare Java Rush, ero al terzo anno di scuola di specializzazione presso l'Accademia russa delle scienze (specialità: meccanica numerica).

  • Non ricordo perché ho deciso di iniziare a studiare Java Rush . Da tempo desideravo dedicarmi seriamente allo sviluppo, ma leggere i "Talmud" sulle lingue mi ha solo scoraggiato. Ho dovuto trovare un approccio fondamentalmente diverso e ho provato i primi dieci livelli del corso. A quanto pare, grazie a loro, ho deciso di acquistare subito un abbonamento illimitato con la partecipazione ad un progetto reale.

  • Lo studio era piuttosto lento, ma andavo costantemente avanti. Completa il livello 31 con una percentuale di problemi risolti vicina al 100 . Mi ci è voluto esattamente un anno per farlo.

  • È tempo di uno stage. Ho fallito miseramente il test. Avevo bisogno di scrivere una piccola applicazione web, ma non avevo tempo per farlo, perché a quel tempo non conoscevo nemmeno parole come " Spring ", " Hibernate ", " Tomcat ", ecc. Non volevo aspettare il prossimo tirocinio, quindi ho scritto in modo indipendente 5-6 applicazioni web simili all'attività di test. Ce ne sono molti su Internet, ci sono anche manuali video passo passo.
  • Ricerca
  • Separatamente, vorrei evidenziare la distribuzione dei curriculum e dei colloqui. È molto importante! Voglio dire che se tu, caro lettore, invii meno di 10-15 curriculum al giorno , allora sei un pigro! Questo è tutto risolto.

  • Devi anche essere preparato al fatto che dovrai ricordartelo ogni volta chiamando l'azienda a cui hai inviato il tuo curriculum. Per quanto riguarda le interviste, con una probabilità vicina al 100 per cento , riceverai una sorta di test hardcore, simile a quelli di cui abbondano Quizful e altre risorse. Consiglio vivamente di esercitarsi su tali test.

  • Mi ci sono volute 3 settimane per trovare un lavoro . Durante questo periodo, ho completato quattro interviste faccia a faccia e due tramite Skype . Ci furono decine di rifiuti. All'ultimo colloquio per corrispondenza sono stato assunto.
  • Un po' di lavoro
  • Mi sono trovato in un'azienda abbastanza grande ( circa 100-120 sviluppatori ) con una gamma molto ampia di compiti e vari progetti (a seconda del cliente), partendo dal frontend e finendo con il duro e spietato backend e datamining .

  • Sono stato subito coinvolto nei progetti ETL . Ho iniziato a caricare ed elaborare set di dati per diversi clienti stranieri. La piattaforma e tutti gli strumenti che utilizzo sono open source. Sono scritti quasi tutti in Java e Groovy ( se qualcuno non conosce Groovy è una cosa meravigliosa, lo consiglio ).

  • Naturalmente, di tanto in tanto devi approfondire il codice sorgente, perché tutta questa faccenda è molto macchinosa e deve essere regolarmente aggiornata, ottimizzata e corretta. Lavoro da circa un mese. Durante questo periodo, ho subito un “lavaggio del cervello” così intenso che ho ingoiato un volume di informazioni che mi avrebbero richiesto almeno 2-3 anni per assimilarle da solo.
  • Suggerimenti Questo punto ti farà risparmiare molto tempo durante la preparazione. Durante i miei studi, ho acquistato diversi libri: “ Java Philosophy ” di Bruce Eckel, “ Algorithms: Construction and Analysis ” ( Cormen, Leiserson, Rivest, Stein ) e molti altri su database e architettura dei computer.
    Sai cosa? Segnalo. Sono serio, lascia perdere. Non ho letto un solo libro fino alla fine. Leggere libri è un'attività molto utile, ma non in questo caso.
    Cercherò di spiegare il mio punto di vista: al momento il tuo obiettivo è trovare lavoro come programmatore. Ciò non richiede una profonda conoscenza della programmazione, il cui sviluppo è ciò a cui mira la lettura di libri. Al momento, hai bisogno di un insieme molto specifico di competenze e abilità pratiche. Sceglierli dai libri è un compito estremamente ingrato e noioso. Aiutanti molto migliori in questa materia saranno Java Rush o, se possibile, la partecipazione a qualche progetto opensource. È improbabile che tu possa fare qualcosa di utile, ma almeno ascolta le conversazioni intelligenti dei tuoi colleghi sul progetto e imparerai qualcosa. Sebbene la partecipazione ai progetti non sia affatto necessaria. Se hai bisogno di una conoscenza approfondita di qualcosa, puoi trovarla facilmente nel libro e utilizzarla immediatamente per le tue attività. Non è necessario ingoiare l'intero libro. Penso che sia ora di finirla qui. Tutti quelli che hanno letto fino alla fine sono ben fatti. Auguro a tutti di mantenere un atteggiamento positivo e di muoversi con fiducia verso i propri obiettivi. Il periodo di prova è stato completato con successo in due mesi ( doveva durare tre ). Durante questo periodo sono stato coinvolto in due progetti: ETL ( sto costruendo la piattaforma transmart per Johnson & Johnson ) e machine learning ( sto scrivendo un'applicazione per riconoscere oggetti in immagini e video ). 9 mesi dopo Sono passati nove mesi da quando il corso Java Rush mi ha aiutato a diventare uno sviluppatore. E ora, mio ​​caro lettore, mi affretto a condividere la buona notizia e a raccontarti di cosa mi sono occupato in questo breve periodo di tempo. Al mio primo lavoro ( non dirò il nome dell’azienda, dirò solo che era una società di outsourcing ) mi sono stancato abbastanza presto. Tutto andava bene lì, ma non c'erano progetti Java seri ; c'erano molti più progetti C#/.net . Inoltre, dopo sei mesi mi sono stancato di scavare nel codice opensource; questo piacere è chiaramente al di sotto della media. Le librerie e gli strumenti con cui sono riuscito a familiarizzare sono i più standard: Java , Groovy , Tomcat , Hibernate , un po' Spring , molto Linux , molto Oracle DBMS e postgreSQL . Una calda mattina d'estate ho ricevuto una chiamata da un'azienda che realizza un'applicazione client-server per un bookmaker molto grande e mi ha offerto un lavoro. C'erano più soldi e i compiti erano più interessanti. Ovviamente ho subito accettato. La cosa divertente è che sei mesi prima avevo avuto un colloquio con loro ( quando stavo cercando lavoro per la prima volta) e mi hanno rifiutato. Ma ora ero un po’ più esperto e un po’ più audace. Quindi ho lavorato lì per i mesi successivi. Tuttavia, ho imparato rapidamente la differenza tra applicazioni client-server e applicazioni web. Volevo fare quest'ultimo. Qui non passiamo molto agevolmente alla parte successiva della storia. Strumenti con cui sono riuscito a lavorare in questa azienda: Java , SWT .
    Ho ricominciato a fare interviste. Ora era un'attività molto più interessante e persino divertente. In effetti, prepararsi non è così difficile, perché nella maggior parte delle aziende durante i colloqui si chiedono, più o meno, le stesse cose.
    In alcuni casi, puoi persino prevedere le domande e selezionare immediatamente la risposta migliore per un particolare intervistato. In breve, ho partecipato a una dozzina di colloqui e ho ricevuto tre offerte di lavoro. I primi due provengono da alcune piccole società di outsourcing con un organico di 100-150 persone. Ho usato il terzo, proveniente da Sberbank ( Sbertech ). Del mio lavoro in questa azienda vi racconterò in dettaglio più tardi, ora è troppo presto, perché sono qui solo da un mese. Dirò solo che le condizioni di lavoro sono più che dignitose, il team è più che amichevole, i compiti sono molto seri e interessanti. Sono sicuro che a te, caro lettore, è piaciuta la seconda parte della mia storia. Posso già sentirti correre più veloce che puoi per risolvere il prossimo problema arrivato con Java Rush . Posso augurarti pazienza e fiducia in te stesso. AGGIORNAMENTO (17 novembre 2018) Per quanto riguarda la lettura dei libri, ho un po' cambiato idea. La verità non è il contrario, ma un po’ diversa. La conclusione è questa: quando ti prepari per il tuo primo lavoro, non c'è assolutamente bisogno di seppellirti nei libri. Tuttavia, dopo un po' di tempo, dopo aver lavorato per un po', i libri sono diventati dei buoni aiutanti. E naturalmente, a poco a poco, ho divorato quasi tutti i libri che avevo comprato, e anche un paio in più. È successo naturalmente. Inoltre, non ha richiesto così tanto impegno, poiché avevo più esperienza lavorativa e il materiale nei libri non sembrava più così difficile (per lo più). Al momento l'elenco è il seguente: 1) Bruce Eckel "Filosofia di Java" 2) Joshua Bloch "Effective Java" 3) Cormen, T., Leiserson, Ch., Rivest, R., Stein, K. "Algoritmi : Costruzione e analisi" 4) E. Tanenbaum, T. Austin, “Computer Architecture” 5) Un sacco di articoli diversi, la maggior parte dei quali di autori stranieri. E in generale, prendi l'abitudine di leggere almeno 2-3 articoli ogni giorno prima di andare a letto. Qualsiasi argomento IT andrà bene, anche se non strettamente correlato allo sviluppo. Non essere un grande cavallo nel vuoto, espandi i tuoi orizzonti. 6) E ovviamente un sacco di documentazione di ogni genere, principalmente quella necessaria per il lavoro. AGGIORNAMENTO (1 agosto 2019) Mi chiedo se qualcun altro sta guardando qui? Oppure sono tutti impegnati a risolvere problemi?)) Bene, risolvi, risolvi, è un'attività utile =) Sono successe molte cose interessanti negli ultimi 2,5 anni. Innanzitutto ci sono stati cambiamenti amministrativi: un anno fa sono stato trasferito da Sbertech a Sberbank PJSC. Inoltre ho cambiato team: nella prima mi occupavo del motore di apertura conto (fisico, legale). In quello attuale (dove mi sono trasferito da poco) mi occuperò della valutazione dei rischi di credito (un modulo che raccoglie informazioni sul cliente e decide se concedere o meno un prestito a una persona). Il modulo raccoglie informazioni su una persona da varie fonti (operatori di comunicazione, agenzie governative, ecc.). Nel caso qualcuno non lo sapesse, quasi tutti i prestiti (eccetto i mutui o se una persona ha una storia creditizia complessa) presso Sberbank vengono emessi da una macchina. Le persone si collegano solo in situazioni difficili o controverse. Per quanto riguarda il processo di lavoro in banca, tutto è semplice: c'erano un milione di difetti (grandi e piccoli), molti miglioramenti alla parte server (Java), molto lavoro con i dati (gridgain, oracle), lì era anche un front-end (scritto in react, redux e altri javascript). Parallelamente a tutta questa disgrazia, c'era il devOps, appena uscito da tutte le crepe. Ho scritto un milione di script in yaml, shell, groovy. Ho svolto un sacco di lavori (Jenkins, Nexus) per l'integrazione continua, pipeline e basta. Ho scavato in giro con ansible, docker, wildfly, ecc. L'amministrazione di Linux sta, ovviamente. Con tutto questo, non posso dire di distribuire 2 kg di codice interessante al giorno, più o meno 500 g, ma comunque nessuno si offende con i soldi ;) Non so nemmeno cosa dire alla fine. Molto probabilmente non danno più test ai colloqui; ora la tendenza è per problemi di informatica, algoritmi e strutture dati, matematica discreta, teoria teorica e statistica matematica. Quindi ripeti periodicamente tutto questo, fa bene alla salute. Ad esempio, attualmente sto seguendo un corso sugli algoritmi di Robert Sedgewick e Kevin Wein (lo puoi trovare su Coursera). Ricordo con nostalgia come ho iniziato il mio viaggio verso Java Rush 3,5 anni fa, una lacrima maschile avara che scorreva lungo la mia guancia barbuta. AGGIORNAMENTO (9 marzo 2023) A causa della guerra lasciò il paese. Al diavolo Putin e i suoi complici. Sberbank mi ha permesso di lavorare da remoto dall'estero per diversi mesi, ma a metà dicembre 2022 ero ancora licenziato. Ho dovuto cercare lavoro in aziende straniere “fino in fondo”. È stato certamente stressante, ma non per molto, mi sono preoccupato invano. Al terzo colloquio mi sono venduto a un'azienda degli Emirati Arabi Uniti per 4.500 dollari al mese. Lo stipendio non è alto per gli standard europei, ma vivere in Georgia non è molto costoso, quindi è sufficiente. L'azienda collabora con distributori di carte SIM in diverse regioni: Africa, Medio Oriente, Asia. Stiamo scrivendo a un cliente per mantenere un database di persone registrate e utenti legali di carte SIM. I dipendenti in totale sono circa 250. Dopo 6 anni di lavoro nell'enorme e goffa Sberbank, lavorare in una piccola azienda è come una boccata d'aria fresca. E le persone sono più interessanti, un gruppo di stranieri provenienti da diverse decine di paesi e dalle stesse regioni: Asia, Oriente, Europa e altri. Quasi tutti lavorano da remoto e i vantaggi sono molti. E in Georgia le tasse sono piuttosto basse, il 20% per le persone fisiche e solo l'1% per le persone giuridiche. Fondamentalmente, i lavoratori a distanza che vivono in Georgia registrano un singolo imprenditore, lo trasferiscono in una piccola impresa, aprono un conto legale e ricevono uno stipendio su questo conto. Paghi l'1% di tasse e basta. Spero che non stringano le viti, altrimenti dovremo spostarci di nuovo. Non so cos'altro dire. Ho detto addio alla Russia e non ci tornerò mai più. Le competenze di uno sviluppatore Java sono davvero abbastanza facili da esportare, quindi grazie a JavaRush per avermi permesso di ottenere una professione molto popolare. A proposito, negli ultimi due anni ho convinto due persone ad acquistare un abbonamento premium a JavaRush. Spero che la tua attività vivrà a lungo. Prendersi cura di se stessi. Gloria all'Ucraina! Gloria agli eroi!
    Commenti
    TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
    GO TO FULL VERSION