Codice genera codice
L’evoluzione del mio mestiere
L’anno scorso, dopo aver risolto in un solo prompt un problema con cui lottavo da una settimana, mi era salito una forte preoccupazione esistenziale: a breve, tutto il mio sudore e le fatiche per arrivare al livello di programmazione a cui sono, diverrà vano.
Infatti oggi, una qualsiasi persona, senza alcuna conoscenza nello sviluppo di codici è in grado di generare qualsiasi prodotto che abbia generato io in passato, e anzi, con una tecnologia migliore, più performante e sicuro.
A livello animale ed istintivo, è spiazzante. Ma fortunatamente questa riflessione l’ho avuta con abbastanza anticipo per cambiare e accettare la realtà. Mi sono detto: o cambio il mio modo di lavorare, ed integro questo nuovo paradigma nel mio flusso di lavoro, oppure rimango cementato con il mio modo di lavorare e diventare cinico e scorbutico nel rifiutarlo.
Anche se ha fatto male abbandonare il mio vecchio modo di lavorare, e sacrificare un po’ della gioia nel farlo “alla vecchia maniera”, oggi non potrei essere più soddisfatto della decisione.
Ci sono voluti diversi mesi per passare dai linguaggi e librerie che conoscevo a fondo a quelle che padroneggio ora (più che io, l’algoritmo…). Però ora, che ho scavalcato le montagne iniziali, mi trovo a produrre facilmente 5-10 volte di più di prima.
Mi impegno molto a comprendere a fondo il codice che l’algoritmo genera e dedico molto più tempo a progettare e a trovare le soluzioni migliori (priorità è la velocità, poi i costi).
Se prima sviluppavo tutto su un server solo, con LAMP (Linux Apache Mysql PHP) ora lavoro con il cloud e solo con soluzioni che si ridimensionano automaticamente (a dipendenza del traffico e risorse disponibili). Questo mi permette di pagare solo per le risorse che effettivamente i miei servizi utilizzano e renderli super veloci in tutto il mondo.
Sono passato da PHP nel backend, a prima python (FastAPI), poi NodeJS e infine con Golang. In millisecondi, da 500ms, a 250ms, a 200ms a 50ms.
Come database sono passato da mysql, a mongodb, a postgree, a firestore+redis e infine… mysql xD In breve, uso firestore+redis per progetti più “light”, stile questo blog. Ma applicativi che gestiscono tanti dati e dove questi dati devono essere filtrati in modi complessi, utilizzo MySQL. Non più gestiti da me però, ma dai provider cloud (rds su aws e cloud sql su google cloud). Ha un costo maggiore, ma è più sicura, backuppata, veloce e facile da mantenere.
Tornando alla realtà del sviluppo al giorno d’oggi, le mie conoscenze non sono poi così vane e sicuramente mi permettono di avere un edge a confronto di altri che non hanno profonde conoscenze, perché spesso gli algoritmi suggeriscono la soluzione più facile e conosciuta da implementare, ma non la più creativa, e non per forza, quella più ottimizzata.
Ancora nessun commento
Scrivi tu il primo.