Come affrontare il "duro colpo di programmazione"? [chiuso]


18

Quindi sono sicuro che tutti si sono imbattuti in questa persona in un punto o nell'altro, qualcuno prende atto del tuo progetto o idea e inizialmente mostra un certo interesse. Puoi parlare di alcuni dei tuoi metodi e di solito in questo periodo si intromettono affermando come dovresti usare il metodo X, o semplicemente usare la libreria Y. Ma non come un suggerimento amichevole, ma al limite di un comandamento. Spesso ripetendo lo stesso consiglio più e più volte come un pappagallo troppo zelante.

Personalmente, mi piace reinventare la ruota mentre sto imparando, o anche solo per divertimento, anche se risulta peggiore di quello che è stato fatto prima. Ma questa persona apparentemente non riesce a immaginare di ricreare QUALSIASI utilità per tali scopi, o forse provare qualcosa che non segue rigorosamente le pratiche OOP tradizionali, e non si accontenterà di nulla tranne il loro senso di perfezione, e quindi naturalmente mi sgretolano le loro critiche con tutta la forza . Per finire, alla fine iniziano a giustificare il loro consiglio (ritardo) elencando tutte le cose incredibilmente complesse che hanno codificato da sole (di solito sulla falsariga di "fidati di me, ho creato / usato il programma X per molto tempo , blah blah blah ").

Ora, sono ben lungi dall'essere un maestro della programmazione, probabilmente non sono nemmeno così bravo, e come tale apprezzo la consulenza e la critica, ma penso che la consulenza / critica abbia un tempo e un posto. C'è anche una grande differenza tra l'essere utile e l'essere narcisista. In passato probabilmente avrei usato un licenziamento in stile George Carlin un po 'più forte, ma non penso più che bruciare ponti sia l'approccio migliore.

Hai qualche consiglio su come affrontare questo tipo di fustigazione verbale?


10
Mi piace anche "reinventare la ruota". Questo è un ottimo modo per capire davvero una nuova tecnologia. Che, a sua volta, ti aiuta con gli altri. Inoltre, francamente, spesso è altrettanto veloce reinventare una ruota di quanto non lo sia imparare, mantenere e alterare la ruota di qualcuno mal codificata e scarsamente documentata.
GrandmasterB,

31
Reinventare le ruote è ottimo per l'apprendimento e altamente raccomandato. Tuttavia, per il codice "reale" che farà qualcosa di importante, scegli la soluzione già collaudata!
Peter Boughton,

6
A volte quando "reinventare la ruota" si finisce per "costruire una trappola per topi migliore".
Rusty

2
Fai una ruota schifosa, capisci che è scadente, e vai a trovarne una fantastica fatta da qualcuno che sa come farlo.

1
@Rusty, con il problema che è una trappola per topi e non una ruota;)
Matthew Whited

Risposte:


36

Non lasciarli solo parlare. Falli davanti a una tastiera. La frase "ok, fammi vedere" dovrebbe farlo. La mia esperienza è che i più duri non sono poi così fantastici, e quando effettivamente cercano di fare quello che dicono non funziona e le cose diventano molto silenziose.


1
Posso sperare Onestamente probabilmente sono programmatori migliori di me, ma ho davvero delle difficoltà ad imparare da, o trovarmi nella stessa stanza di un ottuso social che ostenta le sue capacità come se fosse una licenza per essere un completo ***.
Peter G.

1
Solo perché sono migliori di te non significa ciò che sanno sempre di cosa stanno parlando.
Conrad Frix,

Allora proverò il tuo metodo, la prossima volta che succede. Grazie.
Peter G.

2
Pragmatico è la parola chiave.
rwong

1
@PeterG. come è andata?

17

Sto programmando da trent'anni. Conosco molte persone che mi considerano un "maestro della programmazione". Vuoi conoscere il mio sporco piccolo segreto? Sono appena competente in alcune aree, ma questo è tutto. Principalmente faccio schifo .

Ho lavorato con alcuni geni incredibili in quegli anni, non il genio dell'attrice su un podio che bolle sul suo co-protagonista, ma il QI fiammeggiante, Genius con un genio della G maiuscola. Cavolo, ho letto Knuth.

Se lavori duro e abbastanza a lungo prima o poi ti renderai conto che il meglio che puoi fare è davvero abbastanza insignificante rispetto all'ampiezza e alla profondità del talento là fuori. Non riesco a vedere come chiunque possa raggiungere quel punto e venire via con qualsiasi cosa tranne l'umiltà più profonda.

Chiunque signori il loro parere su un'altra persona e crede che il loro modo è il modo corretto di ogni altra cosa è semplicemente non è un buon programmatore. Prendi la mia parola per questo.

Il mio consiglio, sei sulla buona strada per non bruciare ponti. Ascolta educatamente, prendi tutto il meglio che puoi, quindi segui la tua strada.


Penso che ci siano diversi modi di vedere "essere buoni", a volte parlo del tipo di programmazione che faccio a più di un artigiano / commerciante, dubito che farò mai una svolta nell'informatica o inventerò qualche pazzo algoritmo che essere un grande passo avanti, tuttavia le persone che fanno quel genere di cose spesso si annoiano costruendo app "regolari" in quanto vogliono sempre qualcosa di sempre più stimolante, comunque sono sconclusionato ma penso che ci sia qualcosa da dire solo per essere un solido programmatore in alcune aree in quanto puoi ancora essere molto prezioso per un datore di lavoro
programmx10

5

Come la maggior parte delle situazioni sociali, dipende dal contesto.

Se questa persona ha un ruolo da protagonista (il contesto è probabilmente un luogo di lavoro), allora sei un po 'seccato a meno che tu non riesca a convincerli ad usare tecniche diverse rispetto a quelle che scelgono. Speriamo che siano aperti alla critica della loro squadra. In molti casi ho scoperto che la presentazione di valide argomentazioni solide e fondate sui motivi per cui il tuo particolare approccio è migliore per il progetto spesso li conquisterà. Se continuano a essere testardi solo perché "è così che dovrebbe essere fatto" (o qualche altra ragione sciocca), finiscono comunque per sembrare cattivi e sembri almeno aver cercato di essere razionale. In questo caso, consiglierei anche di dare un'occhiata a careers.so ...

Se questa persona è la tua pari, puoi praticamente ignorarla e andare avanti. Meglio sarebbe chiedere loro di spiegare perché apprezzano una particolare biblioteca o approccio. Attraverso la discussione, possono rendersi conto che i tuoi vincoli sono diversi da quelli previsti (ad esempio, non hai bisogno di una "libreria X superveloce fantastica" perché non hai bisogno di una velocità da pedale al metal grezzo, oppure non vuoi usare il "componente precostruito Y" perché stai mirando a minimizzare le dipendenze). Potresti anche ottenere informazioni preziose su alcuni dei loro suggerimenti. Di solito in situazioni come queste finisco per andare principalmente per la mia strada, ma di solito raccolgo anche alcune informazioni utili da almeno esaminare qualsiasi approccio / tecnologia / biblioteca che stanno sostenendo.

Se questa persona è sotto di te, allora digli di scappare :) Ok ... forse sii un po 'più costruttivo di così (non essere il tipo di persona con cui stai cercando di affrontare!), E prova di nuovo a capire cosa sta succedendo e comunicare in modo efficace.

Alla fine, se la persona è davvero un fanfara hardcore che non vuole scendere a compromessi, non ha una mentalità aperta e non gli interessa imparare; allora tutto ciò che puoi fare è ignorarlo e cercare di sfruttare al meglio la situazione.


Probabilmente non sono ancora abbastanza bravo da ottenere un lavoro, quindi sono tutti compagni di studio / persone online / ecc. Non ho problemi ad apprendere altri metodi (in realtà lo apprezzo), ma quando dico a qualcuno che voglio provare questo, e poi replicano affermando quanto sia orribile di un'idea, ho voglia di perderla. Forse l'evitamento è l'approccio migliore.
Peter G.

2
Per Nick - Non ignorerei un pari irritato. Hanno la capacità di intrufolarti in modo pulito e far saltare le tue iniziative. Anche i fanatici tendono ad essere politici, quindi è meglio non sottovalutare mai la loro capacità di arrecare danno, per quanto stupidi possano essere.
luis.espinal,

1
@luis "Anche i Blowhards tendono ad essere politici, quindi è meglio non sottovalutare mai la loro capacità di fare danni", ... Se potessi, ti darei +100 su questo. Ci sono stato, ho affrontato quello.
Bill

1
@Peter G - se sei uno studente. Ignorali, smetti di conversare. Andranno avanti nel tempo e anche tu. Se impiegato ... hai un sacco di problemi diversi.
quick_now

5

Cerca di capire perché sente il bisogno di intromettersi in questo modo.

  • Ha paura che tu faccia la cosa sbagliata e sprechi tempo / denaro dell'azienda?
  • È insicuro e ha paura di essere irrilevante?
  • Sta cercando di essere d'aiuto suggerendo una soluzione migliore, ma non ci riesce?
  • Sta fraintendendo il tuo obiettivo nell'esplorazione dello spazio della soluzione?
  • È questo il suo modo di essere amichevole?
  • Qualcuno gli ha detto che dovresti sempre usare X, quindi suggerisce sempre X? Perché glielo hanno detto?
  • È un venditore per la tecnologia X?

Tutti hanno risposte diverse.

Con una migliore comprensione del tuo "duro" - inizia perdendo quella etichetta per lui - sarai molto più in grado di trovare un modo di lavorare insieme.

Potresti anche indagare sul perché questo ti disturba così tanto. Perché non sei in grado di ignorare il suo contributo o di deviarlo innocuo?


+1 per aver considerato che potrebbe non rendersi conto dell'effetto che sta avendo. La maggior parte delle persone che ci infastidiscono non hanno idea di ciò che stanno facendo e spesso finiamo per interpretare ciò che qualcuno dice sulla base delle nostre esperienze, che sono diverse dalle loro, e quindi abbiamo attribuito un significato a un comportamento e alle "regole" di impostazione che nessuno sa tranne noi.
Tim Claason,

2

Passa a una modalità di programmazione funzionale. La maggior parte dei duri conosce Java e nient'altro. Quindi nel momento in cui li colpisci con qualcosa di strano come dire Haskell o Lisp o persino Ruby, smetteranno di morire.


1

Direi loro di andarsene (se lo desideri, potresti usare più verbosità diplomatica) o semplicemente ignorarli. Non ci sono molte opzioni oltre a ciò che ho detto. (L'omicidio potrebbe funzionare, ma la legalità varia in base alle impostazioni locali.)


4
Non credo sia il modo migliore per affrontare la situazione ...
TheLQ

1
Ho provato un approccio poco diplomatico, ma non mi piace farlo. Urlare mi fa solo sentire peggio. Molte volte ho avuto voglia di colpirli attraverso un muro, ma di solito sono molto più grandi di me (mi viene in mente lo shamu). E al mio fisico da 6 '130 libbre di mais, sarebbe come provare ad assalire una palla da bowling con uno scovolino.
Peter G.

@Peter - Sto pensando di eliminarlo perché non è esattamente una risposta seria da parte mia.
ChaosPandion,

1
Va bene. La vita ha bisogno comunque di più commedia / sarcasmo.
Peter G.

Non credo di essere mai stato spinto così lontano sul posto di lavoro, ma questa è probabilmente la tua unica scelta con un duro colpo.
JeffO,

1

Perché ti importa cosa dice questa persona? Sono il tuo capo? Che importa? Ogni lavoro ha un ragazzo, si spera non tu, che eviti, o lo sentono venire giù per il corridoio e si abbassano. Semplicemente non gli piace. Potrebbero anche non sapere il perché. Ma è così che va il mondo. Sii cordiale e chi se ne frega. Sembra che tu voglia la tua libbra di carne e lo colpisca un po 'in giro.


Difficile se lavori per qualcuno come questo.
quick_now

0

C'era un ragazzo come questo nel mio ultimo posto di lavoro. Non solo aveva un'opinione su ogni singolo compito discreto su cui tutti gli altri stavano lavorando, ma si arrotolava e chiedeva "cosa stai facendo - sono solo interessato!" proprio quando eri in un compito, piuttosto che andare avanti con il suo lavoro a cui era stato assegnato. Una cosa è avere un'opinione su qualcosa di tanto in tanto - ognuno di noi ha punti di vista e i team produttivi dovrebbero essere sempre aperti a input validi dai propri colleghi - ma è un'altra prospettiva quando un individuo mette ripetutamente gli altri sviluppatori fuori dal loro lavoro chiedendo loro di fermare ciò che stanno facendo e spiegarglielo, nella speranza che possano svilupparsiun'opinione nel corso della conversazione che propongono di avere invece di lasciare che i loro colleghi continuino il loro lavoro.

Quando questo particolare ragazzo ha provato quanto sopra su di me, la sua linea di apertura è stata "Cosa stai facendo?", A cui ho dato un breve sommario educato del compito che stavo appena iniziando, nel caso in cui stesse semplicemente chiedendo casualmente piuttosto piuttosto che cercare un lungo e poco illuminante dibattito sull'argomento, come sospettavo da una dolorosa esperienza precedente, era la sua intenzione. Quando, in risposta alla mia spiegazione generale, continuò dicendo "Non capisco? ...", in un tono che suggeriva che nulla mi avrebbe reso più felice di fermare quello che stavo facendo per spiegargli le mie intenzioni in modo più dettagliato, ho appena detto "Perché avete bisogno di capire?", che si è fermato morto nella sua tracce.

Ogni altro sviluppatore dell'ufficio ridacchiò rumorosamente mentre tornava imbronciato al suo posto, incapace di rispondere alla mia domanda. La lezione qui, se posso presumere di darne una, è che queste persone sono sempre meglio trattate in modo civile e calmo, ma con fermezza. Se non riesci a intrattenere la loro interferenza con il tuo lavoro e annulli qualsiasi conversazione che minacci di prendere il tenore di una discussione prima ancora che inizino, queste persone generalmente non hanno nessun posto dove andare nel loro tentativo di far deragliare il tuo processo di pensiero.


Non sono sicuro che mi piaccia questo approccio, tutti i membri del team dovrebbero sapere cosa fanno gli altri - approccio e tutti, altrimenti se sono fuori per qualche motivo, nessuno può prenderli. Inoltre, ove possibile, l'intero team dovrebbe contribuire per quanto riguarda la tecnica per garantire l'approccio migliore.
Orbling

Non sono d'accordo - siamo team di sviluppo, non The Borg. La progettazione da parte del comitato non funziona, e nemmeno tagliare e modificare i compiti come se gli sviluppatori fossero semplicemente parti intercambiabili. Sono certamente aperto ad altre persone che contribuiscono rispettosamente con opinioni e opinioni al mio lavoro, ma come notato sopra faccio una distinzione tra avere un'opinione esistente e semplicemente allontanare altre persone dal loro lavoro chiedendo loro di interrompere ciò che stanno facendo e bruciare tempo a spiegarti le loro idee. Ad alcune persone piace solo sentire il suono della propria voce, e questo particolare sviluppatore era in quella categoria.

@orbling, mi sembra un motivo per un incontro programmato !

@ Thorbjørn Ravn Andersen: Nel mondo moderno, abbastanza spesso hai distribuito squadre nei continenti. Una riunione programmata può essere una cosa molto difficile da raggiungere, qualcosa da evitare, ove possibile, ad ogni costo.
Orbling

@Orbling, la risposta parla chiaramente degli sviluppatori che si trovano nella stessa posizione fisica. Tuttavia, anche per i team distribuiti è necessario un coordinamento per evitare che le persone vengano continuamente disturbate.

-2

Colpiscili con la riga "Non dovresti mai usare qualcosa che non capisci".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.