Voglio diventare… Senior back-end developer
Iniziamo questa serie con un’intervista ad Andrea Carratta, senior back-end developer e professionista freelance (piuttosto attivo su LinkedIn) e che porta avanti un suo blog a tema C# e cloud Azure!
Andrea Carratta in 100 parole.
Mi chiamo Andrea e da quasi due mesi ho scollinato nei quaranta. Fermandomi un attimo a riflettere ho trascorso più di metà vita su diversi backend e non potrei chiedere di meglio! Come ho scritto nel mio profilo Linkedin, “Il mio spirito si nutre di pizza & backend” e posso solo sperare nel futuro.
L’Andrea non programmatore ama lo sport. Ho superato le cinquanta maratone (comprese le ultra) ed ho fatto tre IronMan (l’ultimo nel 2014). La combo “Sport & Coding” mi aiuta moltissimo e se non ci fosse stata da quando ho cominciato a lavorare non sarei quello che sono ora.
In cosa consiste il ruolo di Senior back-end developer?
Per definirmi al meglio vorrei usare l’espressione utilizzata da un PM durante una valutazione: Andrea è un programmatore da sgabuzzo! Lavoro in team, ma programmo ancora meglio chiuso nel mio angolino (=sgabuzzo) dove riesco a gestire il tutto tra codice, pause bagno meditative (non negate di andare in bagno solo per cambiare aria sperando nell’”idea del giorno” che non vi credo) e vita privata. Questo non vuole dire fare quello che si vuole, sia ben chiaro!
Provo a spiegarvi cosa faccio in poche parole. Il progetto su cui lavoro dal 2018 è in ambito Big data per una startup America che opera a livello mondiale. Si tratta di acquisire dati da attori diversi, validarli, processarli, aspettare eventi esterni ed infine computare i risultati.
Orchestrare processi tra diverse piattaforme (webhook, API, trigger, ecc.) è un lato del progetto che adoro davvero tanto. Non è per nulla semplice e credo di poterlo definire il mio cavallo di battaglia, soprattutto viste le attività svolte in questo ambito durante anche mesi e mesi di sviluppo.
Vedere i dati che si muovono secondo una precisa orchestrazione è un qualcosa che riempie gli occhi di lacrime e ti fa battere forte il cuore.
Qual è la soft skill più importante secondo te?
La soft-skill che preferisco e reputo importante durante la mia attività lavorativa? Essendo freelance credo che la mia soft-skill preferita sia sapere organizzare il tempo. Il fatto che il 90% del mio lavoro sia in “orario di ufficio” pur lavorando full remote non vuole dire che non bisogni sapere gestire l’elemento tempo.
Quando fare uno sviluppo?
Quando rilasciare uno sviluppo?
Come si incastra nel progetto?
Riuscirò a rispettare la consegna?
Non dobbiamo dimenticare una cosa importantissima: anche se i meme sui programmatori dicono che non abbiamo una vita, bisogna tenere conto dei nostri impegni personali.
Personalmente reputo che il concetto delle otto ore di lavoro sia antico e da superare, se non dimenticare. Gestire il proprio tempo in questo lavoro significa anche lavorare avendo ben in mente l’obiettivo.
Uscire a correre in pausa pranzo e quel giorno lavorare mezz’ora meno non vuol dire essere lavativi. Sapere concentrarsi e chiudere il task è indice di professionalità. Tutto ha una seconda faccia della medaglia!
Per la stessa regola sappiate che succede anche di non andare a correre in pausa pranzo, mangiare un qualcosa al volo davanti al monitor e sviluppare sino a tardi per chiudere in tempo.
Per quanto riguarda l’ultima domanda che ho posto “Riuscirò a rispettare la consegna?” Non ho mancato una consegna in vent’anni per colpa mia. Quindi sì, credo di saper gestire il tempo sia professionalmente che intrecciandolo alla mia vita privata!
La maggior parte di noi utilizza i social per parlare dei propri successi, ma la realtà è che siamo quel che siamo grazie al 90% dei nostri errori.
Racconta il tuo più grande fallimento
da quando lavori nel settore, che però ti ha reso ciò che sei.
Partiamo da un presupposto molto chiaro. Chi dice di non avere avuto fallimenti clamorosi non si è realmente sporcato le mani come si deve a mio avviso. La domanda è molto chiara: “racconta il tuo più grande fallimento”. Io vorrei raccontarne due. Uno riguarda l’ambito professionale/ carriera e l’altro riguarda il punto di vista tecnico. Dovendo sceglierne uno ho deciso di raccontare solamente il primo.
Continuo a pensarci e non riesco a darmi una giustificazione sensata e razionale. Ho “sprecato” anni su un progetto che non mi stava dando più nulla se non noia. Quando ho cominciato ad avvertire il disgusto di aprire il portatile la mattina per accenderlo ho capito che qualcosa non andava.
Ho cominciato a mandare via CV e dopo una serie di colloqui sono riuscito ad uscire da quella “black box” (che personalmente la immagino come un /dev/null per capirci). Di recente un ragazzo mi ha chiesto in privato “se dovessi dare un consiglio al te del passato di 10 anni fa, cosa gli diresti?”.
Secondo voi, cosa posso avergli risposto? “Lo stesso consiglio che mi rimprovero di non avere applicato. Non hai firmato un patto di sangue su un progetto. Se non ti porta più nulla di interessante, guarda altrove”
Alla fine, la parte più difficile è stata quella di dire “ciao, io voglio andare altrove” a me stesso rimettendomi in gioco. Purtroppo, avevo utilizzato poco Linkedin sino a quel momento e non ero visibile come ora. Aspettate, riformulo la frase.
Anche adesso non ho un seguito esagerato, ma riesco ad essere trovato e contattato da nuovi clienti per nuovi progetti, e variare progetto, anche se per poco, aiuta. L’esperienza genera esperienza. Anche il rapportarsi con nuovi team aiuta a capire come vengono affrontati i progetti ed i costi.
Non fatevi sfruttare. Non fatevi mettere in un angolino. Non fatevi dare lavori monotoni da copia ed incolla.
Infine, e questa ve la scrivo separata perché merita una maggiore attenzione, NON fatevi sminuire e/o sottovalutare per quello che siete con “contentini” oppure con poca iniziativa personale.
Se un team vuole un programmatore “CTRL+C & CTRL+V” ricordatevi: NON dovete essere voi!
Come fare per diventare un senior back-end developer?
Questo tema -anche da quello che leggo sui social- è parecchio discusso.
Certificazioni? È dal 2018 che dico “adesso studio e provo a prendere la mia prima certificazione Microsoft”. Secondo voi come è andata? Ovviamente ho studiato ma non ho mai provato a fare delle simulazioni d’esame e tanto meno a prenderla. Eppure, lavoro quasi esclusivamente su Cloud Azure!
Esperienze? Si, queste servono e tanto! Non cercate di “farla” troppo lontano. Cominciate con quanto alla vostra portata e poi aumentate. Aprire e/o cominciare con un progetto mostruoso non vi lascerà capire le cose come serve.
Il backend a mio avviso è sentimento puro e odiarlo può essere facile soprattutto all’inizio. Ogni tanto ripenso ad alcuni progetti “datati” e mi domando: ora come l’avrei fatto? Sappiate che spesso (=sempre) la risposta è diversa dal progetto svolto.
Volete sapere cosa vi serve davvero per imparare a crescere in questo mondo?
- BUG
- Crollo delle performance
Scrivere del codice è facile (circa).
Scrivere IL codice è difficile.
Ragazzi, diciamola tutta… Quando ho cominciato programmare non era come adesso. Ho cominciato con ASP3.0 e, se volete cercare della documentazione, fate pure. Avete idea di cosa voleva dire sviluppare agli inizi del 2000? Niente NuGet e la ruota andava inventata ogni volta.
Mi sento privilegiato ad avere cominciato in quel momento. L’esperienza fatta per scrivere determinate funzionalità ora vi manca in quanto integrata o nei framework o nei NuGet. Volete crescere? Provate a titolo di studio a non usare nulla di pronto …
Parlando di successi, qual è il tuo prossimo obiettivo? Quale ruolo vorresti ricoprire entro i prossimi 3 anni?
Come mi vedo da qua a tre anni? Personalmente spero di continuare ad abbronzarmi con la luce da monitor emessa da Visual studio (tema dark) aperto.
Il grande dilemma che mi pongo spesso è il seguente: in che ambito vorresti programmare? Pensando a questo penso di volere cambiare (o almeno introdurre) ambiti diversi.
Lavorare con i Big Data è davvero stimolante, ma mi piacerebbe avviare sviluppi in altri ambiti.
Quali? Al momento ho due filoni nella mia mente: AI & Data Analysis. Come mai? Avere i dati è un discorso. Saperli utilizzare e farli fruttare è un discorso diverso.
Sempre in C# come dall’uscita della primissima versione di .NET? A questa domanda non mi sono ancora dato una risposta.
Sappiamo tutti benissimo che tre anni nel nostro mondo sono pari a tre ere geologiche per i comuni mortali. Speriamo solo di riuscirci prima che sia troppo tardi!
Un grazie infinito ad Andrea per aver accettato di partecipare!
Fiscozen è un servizio online per la gestione della Partita IVA che ti offre un commercialista dedicato specializzato nella tua professione che puoi contattare via chat, mail o telefono. Avrai a disposizione anche una dashboard da cui tenere tutto sotto controllo, emettere le fatture anche elettroniche (obbligatorie dal 2024) ed avere una previsione in tempo reale delle tasse da pagare. Dal link avrai la possibilità di prenotare una consulenza gratuita e senza impegno sia che tu abbia già Partita IVA sia che tu voglia aprirla.