È insolito che gli sviluppatori abbiano difficoltà a creare il proprio codice?

2

Sono un build manager e un tecnico di rilascio con un background di programmazione / SW dev. Gestisco script di compilazione e makefile per il nostro team SW sul nostro progetto per produrre versioni diverse di versioni e mi piace molto il mio lavoro, specialmente gli aspetti di automazione e ottimizzazione, anche se non riesco a scrivere codice di produzione di per sé. Abbiamo build notturni e versioni di build più formali che sono incaricato di assicurarmi che vengano eseguiti correttamente.

Uno dei nuovi sviluppatori del mio progetto sta incontrando difficoltà nel creare il proprio software nel proprio ambiente locale dopo aver apportato le modifiche necessarie.

Sarebbe molto dispendioso in termini di tempo per me isolare il loro errore simulando il loro ambiente operativo in cui non sono in grado di compilare il codice modificato.

Nessun altro sviluppatore è venuto da me con questo problema. Relativamente parlando, operiamo su un team di sviluppatori di piccole e medie dimensioni (tra 10 e 15 sviluppatori coerenti) e tutti gli altri sviluppatori sono in grado di compilare il loro codice senza problemi.

Invece di passare ore a simulare l'ambiente del nuovo sviluppatore e provare a riprodurre un errore specifico in un codice sorgente relativamente complesso, è ragionevole dire loro di controllare il loro codice nella build giornaliera che so esattamente cosa è archiviato ed è mantenuto molto intensamente che so per certo che compila e costruisce senza problemi?

Aggiornamento: il problema principale potrebbe essere il livello di inesperienza dello sviluppatore nell'impostare il proprio ambiente di sviluppo. Il codice verrà compilato bene prima che vengano apportate le modifiche, quindi una volta introdotto per la compilazione fallisce. Tutte le altre modifiche apportate al codice non vengono eseguite nei problemi di compilazione. Tutto il codice sorgente "giornaliero" è sotto controllo di versione (gestito da me stesso), quindi tornare a una versione precedente è un problema minore.

    
posta John Dream 03.06.2016 - 03:57
fonte

4 risposte

12

Se fossi nei tuoi panni, prenderei questo come un'opportunità per migliorare gli script di compilazione in modo che possano fornire informazioni più dettagliate su cosa sia esattamente un errore, quindi trovare la causa principale dovrebbe essere un processo molto più semplice di quello che sembra sii adesso.

Inoltre, invece di "simulare il loro ambiente operativo", perché non vai sul posto del dev e risolvi il problema direttamente sulla sua macchina? (Oppure, se ti trovi in luoghi diversi, usa un qualche tipo di software di condivisione dello schermo per questo)?

    
risposta data 03.06.2016 - 07:46
fonte
8

Per i nuovi sviluppatori, dovresti avere un documento, si spera di meno di una pagina, con istruzioni complete su come configurare il loro computer per creare una build che possono essere eseguiti e provati. (Ovviamente ciò comporta ottenere il codice sorgente, tutti gli strumenti richiesti e così via). E il primo compito di ogni nuovo sviluppatore dovrebbe essere quello di prendere quel documento, seguire esattamente le istruzioni, cambiare il documento per chiarire tutto ciò che non è chiaro, scoprire come farlo funzionare se non funziona pensando, googliando, o chiedere ai colleghi e aggiornare il documento e produrre la loro build.

Se qualcuno non riesce a far funzionare la build, vai alla loro scrivania, scopri i motivi, risolvilo e aggiorna quel documento. Non deve essere intuitivo. Devono esserci istruzioni che funzionano e che possono essere seguite senza coinvolgere alcuna lettura della mente. Anche l'esperienza non dovrebbe essere necessaria, solo la capacità di leggere e seguire le istruzioni.

PS. Un commento su un'altra risposta è stato: "È anche abbastanza comune per i membri del team esistenti faticare a ricreare il loro vecchio ambiente di sviluppo quando viene fornito un nuovo computer." Ecco dove vengono anche fornite istruzioni scritte.

    
risposta data 03.06.2016 - 09:52
fonte
7

Il problema principale probabilmente non è l'inesperienza nella creazione di un ambiente di sviluppo. È più probabile che l'impostazione di un ambiente di sviluppo sia un processo manuale.

Ho lavorato da qualche parte con pagine di istruzioni sull'impostazione di una nuova macchina di sviluppo, con un costo stimato in termini di tempo di due giorni. Ciò significava che ogni sviluppatore aveva un set up leggermente diverso, nessuno dei quali corrispondeva alle macchine CI gestite da chef, quindi il codice sarebbe creato su una macchina locale e quindi fallito in caso di integrazione continua.

Non consiglio questo approccio ogni macchina leggermente diverso. Lo sviluppatore che sta facendo fatica a costruire il codice probabilmente sarà estremamente frustrato dal processo di impostazione manuale, soprattutto dato che sta rallentando lo sviluppo.

Quindi penso che tu (o uno degli sviluppatori) dovresti automatizzare completamente la configurazione. O tramite uno strumento di gestione come chef o semplicemente fornendo un'installazione di magazzino con le dipendenze caricate. Sono un grande fan dei vagabondi, ma a volte hai bisogno delle prestazioni bare metal per la compilazione.

    
risposta data 03.06.2016 - 10:35
fonte
4

Non è insolito che i nuovi sviluppatori di un team abbiano problemi nell'impostare il proprio ambiente di sviluppo se l'ambiente di sviluppo non è documentato in modo aggiornato. Questo è davvero un punto di attenzione per gli altri sviluppatori, non per te come build manager. Sei proprietario delle build, ma gli sviluppatori sono proprietari dell'ambiente di sviluppo. Spetta a loro aiutare il principiante nella configurazione della propria macchina e documentare il processo in modo che non diventi un gioco di whack-a-mole ogni volta che qualcuno si unisce al team.

    
risposta data 03.06.2016 - 10:30
fonte

Leggi altre domande sui tag