Non sono d'accordo con l'affermazione che i manager non guardano il codice. Quando ho gestito team, ho esaminato parte dell'output di ogni ingegnere, e uno grande è il codice. Ma non l'unico - e-mail, documenti di design, white paper - tutti fattori.
Ma non è sicuramente l'unico fattore. Se un ragazzo è seduto in un angolo e sta scrivendo un codice brillante ma è una bestia con cui parlare, non risponderà alle domande, non condividerà lo stato e non scenderà a compromessi quando si presenteranno problemi rilevanti - I Non sono sicuro che sia un vantaggio per la squadra. Soprattutto se paragonato a un ragazzo che scrive codice moderatamente decente, ma può fare tutto quanto sopra.
Ecco alcune cose che guardo quando sono in grado di dare dei premi, ma con l'enorme avvertenza che è assolutamente una reazione istintiva, perché nessuna di queste può essere quantificata:
-
Stato : è chiaro, preciso e & tempestivo? Quando viene discusso, la persona in cima allo stato o un po 'sfocata sui problemi attuali? La persona ha il diritto di sollevare una bandiera rossa quando qualcosa ha preso fuoco?
-
Risoluzione dei problemi - sia chiedere che rispondere è importante. La persona sa quando chiedere aiuto o dove gira indefinitamente le ruote? Meglio ancora, quando gli altri hanno problemi, la persona aiuta a trovare la soluzione o diventa parte del problema? Anche avere il buon senso di fare marcia indietro quando il problema non è nella tua area di competenza vale alcuni punti. Inoltre, ci sono dei punti per andare fuori dal gruppo o dall'azienda e andare a siti come questo o altre risposte a Internet.
-
Attenzione al processo - di solito questo è abbastanza ovvio - anche in un'azienda non ritentiva dal punto di vista anale, se qualcuno è in controtendenza, si vede nel caos che lasciano dietro di sé. Se altre persone stanno ripulendo le caratteristiche di un'altra persona perché non aderiscono alla guida o all'architettura, allora abbiamo un problema. I punti bonus vanno a coloro che escogitano modi per rendere la coerenza e la qualità più semplici .
-
Tassi di completamento contro bug e complessità : ottieni risultati, ma fallo correttamente. Ognuno ha qualche bug, ma se il ragazzo ha fatto cose veloci e bug abbiamo un problema. In generale, trovo che non sia qualcosa che puoi valutare nel senso quotidiano - deve guardare indietro a una release, a una fase oa un trimestre fiscale.
E l'input di altre persone. Spesso sono stato in una posizione in cui diversi ingegneri erano responsabili di varie parti del progetto. A volte il team guida, e talvolta solo i proprietari di un particolare pezzetto di output (come "il tipo di build"). La gente AMA parlare degli estremi: gli atti di eroismo o la frustrazione dei bambini problematici. Di solito nell'atto di seguire le mani su quei problemi, scopro molto su ENTRAMBI i party.
C'è anche un fattore in ciò che riguarda Gestione degli esseri umani . Nessun ingegnere è esattamente uguale a nessun altro. Quindi non tutti brillano nella stessa luce. Uno scrive un codice brillante senza bug, ma un altro aiuta a risolvere i problemi trasversali che infrangono il codice di tutti. Uno è grande di persona, uno è migliore per iscritto. Uno è incoerente alle 9:00, uno è fuori di qui entro le 15:00. C'è un certo bisogno di fare un passo indietro, capire cosa è più vantaggioso per la squadra e quale potrebbe essere un fattore di pregiudizio personale (come il desiderio di uccidere quel ragazzo alle quattro del mattino, solo perché non posso funzionare fino alle 11: 00 AM).