Articolo

Riflessioni su Bloomberg

Scrivo questo articolo da ex Software Engineer di Bloomberg, seguendo gli splendidi esempi di Reflections on OpenAI e Reflections on Palantir.

Lo faccio soprattutto perché uso questo blog come diario di bordo della mia vita, e lasciare Bloomberg è un evento che merita di essere registrato.

Allo stesso tempo, conoscere e capire come funziona e come è strutturata una grande azienda come Bloomberg può insegnare qualcosa a tutti.

Formazione iniziale

Sono entrato in Bloomberg due anni fa, subito dopo l’università. Il primo passo per i neolaureati è la formazione. È durata quasi tre mesi, durante i quali mi hanno insegnato Python, Typescript, C++, Docker, sistemi e framework interni.

Ogni giorno seguivo vere e proprie lezioni, con formatori diversi che si alternavano sui vari argomenti. Ogni nuovo tema comprendeva laboratori pratici in cui dovevo programmare o fare debugging usando ciò che avevo appena imparato.

La prima parte della formazione si è conclusa con un progetto: un’applicazione full-stack. Avevo diversi giorni per completarla e dovevo usare praticamente tutto ciò che avevo imparato.

Personalmente, ho trovato molte lezioni estremamente noiose.

Sapevo già programmare in Python, quindi passarci un paio di settimane è stato irritante e completare i laboratori è stato a dir poco tedioso. Non tutti nel corso provenivano da informatica, quindi in parte capisco perché fosse strutturato in quel modo.

Ho imparato molti modi interessanti per fare debugging dei container Docker, che trovo ancora oggi estremamente utili. Molte tecnologie interne seguono schemi identici alle loro controparti open source, quindi le competenze sono trasferibili.

La formazione è stata anche un buon modo per creare legami. Ho trascorso molto tempo con altri neolaureati ed era comune affrontare alcuni laboratori in coppia con altri trainee.

Scelta del team

Verso la fine della formazione mi è stato presentato un elenco di team con le relative descrizioni.

Ho avuto la possibilità di trascorrere del tempo con quelli che ritenevo interessanti, osservarli nel lavoro quotidiano e fare domande.

Dopodiché ho dovuto ordinare i team in base alle mie preferenze e, dopo alcune settimane, sono stato assegnato a uno di loro.

Sono stato molto fortunato: il team in cui sono finito era tra le mie prime scelte.

Penso che, rispetto ad altre aziende delle stesse dimensioni, Bloomberg abbia un sistema di assegnazione ai team più rigido. Né tu né il team avete molta scelta su quale candidato finirà con chi.

Tecnologie

In Bloomberg la maggior parte dei team è full-stack. Ognuno è responsabile di una funzione del Terminale, sia del frontend — realizzato con un framework Typescript interno — sia del backend — i team nuovi usano Python, mentre i sistemi più vecchi, legacy o critici per le prestazioni usano C++.

Lo stack di sviluppo comprende numerose tecnologie interne: database, protocollo di comunicazione, CI, deployment, gestione dei segreti, feature flag — tutto ciò che puoi immaginare.

Molti pensano che le tecnologie interne di Bloomberg siano obsolete o vecchie. Posso dire che la situazione non è così negativa: molte sono abbastanza moderne da risultare piacevoli da usare.

Ci sono state solo poche parti del ciclo di sviluppo che ho detestato.

È anche vero che l’esperienza può cambiare drasticamente da un team all’altro, ma questo vale per qualsiasi cosa in ogni azienda.

Cultura

In Bloomberg ho incontrato molti ingegneri molto bravi — intendo davvero molto bravi.

Il cliché secondo cui sarebbe piena di persone anziane in attesa della pensione non è vero.

L’età media può essere un po’ più alta rispetto a Google o Meta, ma non l’ho percepito più di tanto.

In generale è un ambiente poco stressante. I team a contatto con i clienti hanno più scadenze rispetto a quelli di infrastruttura, ma restano comunque accettabili.

Il management segue la classica piramide a più livelli. Penso che Bloomberg potrebbe funzionare molto meglio con meno struttura — ha ottimi talenti e moltissimi dati — ma questa è più che altro un’opinione personale che lascio qui.

Se ti piace lavorare in orizzontale, Bloomberg offre molte opportunità per avere un impatto tra team diversi e nell’intera azienda. Dai Guild alle conferenze interne, ci si può divertire parecchio.

Conclusione

Spero che questo articolo possa aiutare qualcuno a conoscere un po’ meglio l’azienda.

Ho deliberatamente evitato di raccontare altro, sia sulle cose che mi sono piaciute davvero sia su quelle che rappresentavano una sofferenza quotidiana. Tirando le somme, sono felice di aver vissuto questa esperienza come primo lavoro a tempo pieno.

–