C'è una cosa come un super programmatore? [chiuso]

13

Hai incontrato un super programmatore? Cosa lo identifica come tale, rispetto ai "normali" esperti / grandi programmatori?

Anche. come gestisci una persona della tua squadra che crede di essere un super programmatore? Sia nel caso in cui lo sia o no?

Modifica : input interessanti a tutto tondo, grazie. Alcune cose possono essere raccolte:

Sono emerse alcune definizioni. Tralasciando le definizioni troppo localizzate (che identificavano gli autori o il loro conoscente come super programmatori), mi piacevano un paio di definizioni:

  1. definizione di Thorbjørn : una persona che fa l'equivalente di una buona squadra costantemente per un lungo periodo.

  2. Elettrone libero, collegato da La risposta di Henry . Una persona molto produttiva, con capacità eccezionali. La spiegazione è una buona lettura.

    A Free Electron can do anything when it comes to code. They can write a complete application from scratch, learn a language in a weekend, and, most importantly, they can dive into a tremendous pile of spaghetti code, make sense of it, and actually getting it working. You can build an entire businesses around a Free Electron. They’re that good.

    In contrasto con l'ultima definizione, è il punto a cui è associato James sul mito del programmatore geniale ( video ). La stessa idea è espressa come programmazione senza ego nel commento di rwong. Presentano opinioni opposte come se ottimizzare per un programmatore unico o per un team.

Queste definizioni sono decisamente diverse, quindi sarei grato se hai un input su quale sia il migliore. Oppure aggiungi il tuo se vuoi, naturalmente, anche se sarebbe utile dire perché è diverso da quelli.

    
posta Muhammad Alkarouri 23.10.2010 - 08:46
fonte

6 risposte

17

Considererei il termine "super programmatore" solo per coloro che possono fare un lavoro che di solito richiede un team di buoni programmatori, e lo fanno coerentemente per un lungo periodo.

Questo vale sia per scrivere codice di alta qualità (documentazione, test, ecc.) sia per risolvere problemi molto difficili che richiedono molte conoscenze e talento da risolvere.

Ma richiede prestazioni elevate su tutti gli account da molto tempo. Per coloro che scrivono tonnellate di codice che nessuno può comprendere e mantenere, il termine non è applicabile.

Come comportarsi? Se davvero hai una persona del genere, allora fai tutto il possibile per fornire l'impalcatura necessaria per la persona da eccellere. Ciò significa spostare le cose irrilevanti e fornire le risorse di cui la persona ha bisogno. Tieni presente che ho riscontrato che le prestazioni molto elevate tendono ad essere umili.

È, sfortunatamente, molto più probabile che tu abbia una persona che pensa che sia un super programmatore e che non lo sia. Il modo di affrontarli è nella mia esperienza per rendere misurabili le loro prestazioni. "FindBugs potrebbe non trovare alcun problema", "Tutto il codice deve avere test corrispondenti ai casi d'uso", "Peer review".

Se il codice è veramente difficile da comprendere, prendi in considerazione le riunioni settimanali in cui il programmatore non così superfico spiega a qualsiasi codice il codice che ha scritto dall'ultima riunione che chiunque può richiedere in modo anonimo per aver spiegato, e chiunque può rifiutare in modo anonimo di aver accettato nella base di codice perché sia impossibile da mantenere. Quindi almeno hai condiviso la mentalità e permesso ai futuri manutentori di porre il veto su un pezzo di codice. Questo indicherà anche al programmatore quale tipo di codice lo farà scattare a fare lavori extra.

(EDIT: il motivo per il bit anonimo, è di evitare che il programmatore non-così-super reagisca contro coloro che si oppongono a lui).

    
risposta data 23.10.2010 - 10:42
fonte
5

Un superprogrammer è una persona che può generare codice più velocemente di un compilatore acceleratore, più potente di una funzione ricorsiva, e in grado di saltare gli stack FIFO in un singolo limite.

Il modo in cui gestisci una persona della tua squadra che crede di essere un superprogrammer è esponendolo alla sua unica debolezza: la luce del sole.

    
risposta data 23.10.2010 - 21:09
fonte
3

Chiedi alla persona di scrivere un capitolo di se stesso nello stile Coders at Work . Invialo a un editore. Se viene rifiutato, la persona non è un super programmatore.

    
risposta data 23.10.2010 - 09:31
fonte
2

Ci sono quelli che possono produrre più output di altri.

Ci sono quelli che possono produrre output con un tasso di difetto più basso di altri.

Coloro che riescono a produrre costantemente più output, con un tasso di difetti inferiore al normale, potrebbero essere degni di essere definiti Super-programmatori.

Essere conosciuti o pensati come tali di solito è solo apparente per un manager illuminato con il beneficio della vista posteriore.

Qualcuno con le cose che SONO un super-programmatore probabilmente ha un grande ego e pensa di essere bravo. Questo non li rende buoni.

Attitude < > Capacità.

    
risposta data 24.10.2010 - 09:02
fonte
1

Super programmatore: una persona di intelligenza superiore alla media con una strong dedizione alla programmazione. Sto parlando di una persona che trascorre molto del suo tempo a programmare, non si ferma facilmente ed è determinata a risolvere un particolare problema. Questa persona va raramente a dormire se c'è un problema / bug in sospeso. Super programmatore scrive codice efficace, veloce e affidabile. Super programmatore ha una conoscenza approfondita e approfondita di almeno un linguaggio di programmazione (e tecnologia), è abile in pochi altri e può imparare rapidamente qualcos'altro che è necessario.

    
risposta data 09.08.2011 - 22:25
fonte
0

Have you come across a super programmer? What identifies him or her as such

Dai programmi / progetti che hanno creato , il codice sorgente di esso, lo studio che hanno fatto.

believes he is a super programmer

Come dici tu ci credi, è molto difficile fargli credere di non crederci. Il peggiore è pensare che quella persona abbia smesso di essere un programmatore migliore perché pensa che tutto sia pronto è super, e interrompe l'evoluzione di lui. Cosa peggio di questo nella programmazione. Ad ogni modo, puoi sempre chiedere una prova ... e chiedergli con chi confrontarsi per fare l'ipotesi che lui / lei sia super.

    
risposta data 23.10.2010 - 10:43
fonte

Leggi altre domande sui tag