Come per ogni grande azienda, dipende davvero dal team in cui ti trovi e dal prodotto su cui stai lavorando. Personalmente sono molto fortunato a lavorare con alcuni grandi team che hanno una solida mentalità ingegneristica, compresi i team che scrivono la JVM per il database Oracle, i driver JDBC per il database, l'application server WebLogic, la piattaforma Java EE, la griglia di dati Coherence e i nostri server HTTP e i direttori del traffico. Anche all'interno di questi team, c'è una grande quantità di prodotto "debito tecnico" che stiamo lavorando per pagare (e i corrispondenti problemi dei clienti che vanno con l'avere prodotti ampiamente utilizzati che si sono evoluti per lunghi periodi di tempo), quindi non è tutto divertimento e giochi, ma penso che stiamo sfidando bene i nostri team, e volutamente stiamo lavorando per sfidarli di più.
Alla fine della giornata, i buoni ingegneri vogliono che il loro lavoro conti qualcosa. Avere prodotti che sono ampiamente utilizzati, ed essere in grado di fare cose che aiutano i clienti - questi sono ingredienti essenziali per un lavoro stimolante e gratificante. Sento che questo si può trovare nella maggior parte delle aziende - grandi e piccole - ma si dovrebbe valutare attentamente ogni lavoro per assicurarsi che ciò che si sta facendo possa effettivamente fornire soddisfazione nel tempo.
Saluti.