La pratica rende perfetti

Feb 20 2023
Come ingegneri del software ci esercitiamo a scrivere codice quasi quotidianamente, ma spesso non riusciamo a costruire o progettare sistemi completamente nuovi. Tuttavia, la maggior parte delle volte è facile per gli ingegneri fare ciò che già sanno, con i sistemi con cui hanno familiarità.
La pratica rende perfetti

Come ingegneri del software ci esercitiamo a scrivere codice quasi quotidianamente, ma spesso non riusciamo a costruire o progettare sistemi completamente nuovi. Tuttavia, la maggior parte delle volte è facile per gli ingegneri fare ciò che già sanno, con i sistemi con cui hanno familiarità. Con questo in mente, i team di Moonpig hanno condotto sessioni di Architecture Kata. Quando finiremo il venerdì pomeriggio, ci riuniremo nei nostri team e ci divideremo in piccoli gruppi o coppie e tenteremo tutti di progettare sistemi che risolvano una sfida specifica. Questi hanno spaziato dalla progettazione di una piattaforma di hosting di immagini, a un sito di streaming audio di cover band dedicato.

Progettazione dell'hosting di immagini 1

Non ci sono risposte giuste o sbagliate a nessuna delle sfide che ci poniamo. Le sfide non definiscono nemmeno ogni requisito funzionale o non funzionale. Molte volte, quando i team di prodotto si rivolgono alla tecnologia con un problema, dobbiamo lavorarci sopra per capire tutto ciò che è necessario, quindi questi esercizi ci aiutano a pensare alle domande e ai problemi che potrebbero sorgere. Le discussioni interessanti avvengono naturalmente quando i team iniziano a discutere le loro diverse soluzioni. Ciò porta le persone in più team a conoscere nuovi modi per affrontare e risolvere i problemi, ma ci ricorda anche tutti i pro e i contro di una determinata soluzione. Non esiste una risposta perfetta. Potremmo sentirci troppo a nostro agio nel fare le cose come abbiamo sempre fatto quando non ci viene data la libertà di progettare qualcosa di completamente nuovo.

Questi due esempi di come due team si sono avvicinati alla nostra immagine che ospita Kata hanno entrambi alcune somiglianze, ma sono due soluzioni molto diverse. Le conversazioni e le discussioni che avvengono a seguito di queste sessioni sono una parte fondamentale del modo in cui apprendiamo da esse. Le persone sono libere di farsi un'idea di come i vari servizi possono e funzionano senza la pressione di consegnare un biglietto o un progetto. Ci consente come gruppo di condividere esperienze passate con vari servizi e come potremmo utilizzare varie funzionalità in modi diversi.

Progettazione di hosting di immagini 2

Abbiamo portato ulteriormente questo modello di esecuzione di kata di architettura eseguendo quelli dedicati con le nostre coorti di ingegneri laureati, associati e apprendisti. Queste sessioni adottano un approccio leggermente diverso con una discussione molto più generale su come possiamo utilizzare varie tecnologie AWS Serverless per creare sistemi per un periodo di diverse settimane. Ciò ha permesso agli ingegneri all'inizio della carriera di farsi un'idea di come affrontiamo i problemi di architettura man mano che le piattaforme crescono ed evolvono con noi, prestando particolare attenzione ad alcuni dei problemi che potremmo incontrare lungo il percorso.

Moonpig ha una grande cultura dell'apprendimento e dello sviluppo a tutto tondo e questo è un altro modo in cui i nostri ingegneri hanno il tempo di esercitarsi e imparare cose nuove. Consentiamo agli ingegneri di sperimentare nuove tecnologie, impostando intere pipeline con un clic per i picchi di codice fino a una piattaforma interna dedicata all'apprendimento che chiunque all'interno dell'azienda può utilizzare. I team di ingegneri sono incoraggiati a dedicare tempo all'apprendimento e allo sviluppo, con molti di loro che dedicano un giorno al mese specificamente all'apprendimento di qualcosa di nuovo, oltre all'apprendimento quotidiano che facciamo quando utilizziamo nuove tecnologie per risolvere i problemi dei nostri clienti. È davvero un ottimo modo per guidare l'innovazione ingegneristica.

Se desideri far parte di questo fantastico team di ingegneri, dai un'occhiata a tutte le nostre attuali posizioni vacanti .