Ho consultato oltre 100 aziende negli ultimi 3 anni, e qui ci sono alcune delle mie raccomandazioni personali preferite: (Saresti scioccato da quanti sviluppatori al di fuori della bolla online hanno bisogno di aiuto.) 1. Alcuni team non utilizzano alcun sistema di versioning del codice. So che è difficile da credere, ma ho testimoni. Onestamente, questo non è comune, ma l'ho visto con i miei occhi. 2. La cultura del testing è rara. Un modo semplice per migliorare ciò che fa un team è insegnare loro come scrivere test automatizzati unitari e di integrazione. 3. I fogli di calcolo sono la soluzione più popolare che ho visto in circolazione. Ad esempio, una delle mie raccomandazioni più comuni è utilizzare MLFlow per tracciare esperimenti e versionare modelli. 4. La maggior parte dei team vuole sempre implementare la soluzione tecnicamente corretta per un problema. Sono diventato molto bravo a identificare soluzioni che soddisfano molte più restrizioni (come budget, tempistiche, capacità del team, percezione, ecc.) Chiamo questo "inquadrare il problema", ed è di grande aiuto per le aziende. 5. Raccomando sempre i contenitori di sviluppo a quei team in cui ogni persona utilizza un sistema operativo diverso e ha difficoltà con la configurazione e la portabilità. 6. Prova a scalare un'applicazione senza spendere tempo su osservabilità e tracciabilità. Nella maggior parte dei casi, è facile come registrare le informazioni giuste. A volte puoi spendere tempo per impostare gli strumenti giusti per un'osservabilità più seria. 7. Nei sistemi di machine learning (il 90% dei progetti con cui lavoro), il monitoraggio è sempre un pensiero secondario. Sono diventato abbastanza bravo ad aiutare i team a integrarsi con Evidently AI. 8. Passo molto tempo ad aiutare i team a costruire flussi di lavoro end-to-end, ripetibili e automatizzabili con segnaposto da completare in seguito. Ad esempio, costruire una pipeline di addestramento che inizia con l'elaborazione dei dati e termina con il deployment del modello. Pratiche diverse emergono sempre con team diversi: • Come implementare CI/CD • Come versionare i dataset • Come sapere cosa significa "fatto" • Come gestire correttamente i segreti • Come gestire le impostazioni di configurazione • Come configurare i log • Come testare in produzione (a/b testing, shadow deployments, ecc) • ... Le persone che lavorano per grandi aziende tecnologiche sono anni avanti a tutti gli altri, ma il mercato per questa conoscenza al di fuori delle grandi aziende tecnologiche è enorme.
Santiago
Santiago26 dic, 21:45
Ho incontrato un ragazzo che guadagna sette cifre ogni anno facendo questo ripetutamente: • Si unisce al team di sviluppo per una settimana • Identifica 3 - 5 potenziali miglioramenti per il loro processo • Scrive una proposta breve e concreta per ogni miglioramento • Facoltativamente, aiuta il team a implementarli • Documenta i risultati • Se ne va Ha affinato questo processo quasi a livello scientifico: è un processo ripetibile con alcune raccomandazioni "staple" che quasi tutti potrebbero utilizzare. Il C-Suite lo adora. I team lo adorano. Ti annoierai a morte se ascolti la sua routine quotidiana, ma lui lo ama.
@kelvongx *molti
2,1K