Trattare con Fanboys [chiuso]

14

Probabilmente abbiamo incontrato qualcuno come questo, lo sviluppatore che solo conosce che la sua lingua è l'unica vera lingua e non ne starà zitto. Come ti comporti come qualcuno come questo? Non voglio offendere nessuno (specialmente dal momento che il fanboy nel mio posto di lavoro è lo sviluppatore senior). Ma voglio essere in grado di utilizzare la mia scelta del linguaggio di scripting quando devo scrivere uno script usa e getta che non arriva mai al repository e nessun altro ha bisogno di sapere che esiste.

Pensieri che ho dovuto affrontare con questo:

  1. Riduci - "Haha, sì, forse il linguaggio X è un po 'più semplice, immagino di essere un masochista!"
  2. Vai con esso - Preferirei davvero evitarlo, perché non posso permettermi il calo della produttività associato all'acquisizione di una nuova lingua.
  3. Nascondi la mia lingua - Diventa un programmatore di closet e nascondi il mio monitor ogni volta che eseguo script o automatizzo qualcosa.

Che cosa suggeriresti per questa situazione?

    
posta jozefg 03.09.2012 - 14:59
fonte

9 risposte

14

Poche cose stanno saltando fuori dalla domanda.

  • È davvero uno script usa e getta? Se lo è, è strano che lo sia in discussione.
  • Sei sicuro che la sceneggiatura usa e getta rimarrà così com'è? Molta produzione roba è stato uno script usa e getta da un po 'di tempo.
  • Stai riscrivendo lo script se è promosso e ha bisogno integrazione nel sistema?
  • La scelta della lingua è puramente sintattica o è un linguaggio da un'altra sfera?

Capisco la parte fan-boy, perché da un lato mi sto comportando come un fan-boy a volte, proteggendo i miei pochi linguaggi di scelta. E ho anche avuto a che fare con altri fan-boys che cercano di portare cose nuove.

La mia vista su questa situazione è la seguente:

  • Se è una nuova lingua, appartiene a un cestino.
  • Se è un linguaggio collaudato nel settore, può essere usato se lo è specializzato per il compito.
  • Se si tratta di un linguaggio molto impopolare, appartiene a un cestino della spazzatura, anche se è super cool e super veloce.

È perché nessuno sa come scrivere software sicuro e veloce in una lingua sconosciuta, e ha tutti gli sviluppatori che i trucchi devono imparare. Lo script stupido dovrà essere supportato per oltre 20 anni o riscritto. Più di 20 anni, almeno 50 sviluppatori cambiano in un negozio medio. Se ognuno scrive pochi script di fantasia in una nuova lingua, sono necessari 50 runtime linguistici, 50 diverse competenze nel team e la codebase ha codice buggato in 50 lingue. E alcune delle lingue non sono più supportate su Windows o Linux. E ha bisogno di un server personalizzato di 10 anni senza patch, senza parti di ricambio disponibili, 24 ore al giorno.

Inoltre, nessuno vuole veramente supportare lingue morte come VB, Silverlight, D, ecc., quando il code-base probabilmente sopravviverà alla lingua stessa.

    
risposta data 03.09.2012 - 15:31
fonte
16

Decide tu cosa usi in base alla politica aziendale? Applica il tuo caso a lui; se decide ancora contro di esso, zitto e fai il tuo lavoro con gli strumenti che il tuo capo dice che dovresti usare.

Tu lavori lì, non giocare lì. In definitiva è fuori dalle tue mani.

Anche se non è il tuo capo, prenderei in considerazione tutti gli angoli qui. Ti piacerebbe se conoscesse Fortran e un giorno hai ereditato tutto il suo codice. Dovresti imparare una nuova lingua da zero al volo , che è terribilmente stressante. Ora immagina la sua parte, potresti scrivere i tuoi copioni usando Cobol e potrebbe non sapere Cobol.

Usa qualcosa che la maggior parte della tua squadra conosce.

    
risposta data 03.09.2012 - 15:03
fonte
9

"2. Go with it"

Questa è l'unica risposta ragionevole. Hai una grande opportunità qui.

  • Utilizza i commenti del senior programmatore per incoraggiare la tua azienda a pagare per tempo e / o un corso e / o certificazione per imparare la nuova lingua. Caso peggiore: la certificazione e la lingua miglioreranno sia il tuo curriculum, potresti ricevere una buona raccomandazione per essere un giocatore di squadra, e puoi ridere fino ad un lavoro migliore da qualche altra parte.

  • Ho acquisito preziose informazioni sulla programmazione da ogni lingua che ho imparato. Anche il linguaggio meno pratico ( cough XSLT tosse ) ha avuto il suo punto debole ed era pieno zeppo di interessanti opportunità di apprendimento (e ha pagato i miei conti per diversi anni). L'apprendimento costante è uno dei grandi vantaggi dell'essere un programmatore.

  • Tutti i progetti interessanti utilizzano probabilmente la lingua preferita dello sviluppatore senior. Sapendo che la lingua ti mette nel pool di talenti che possono lavorare su quei progetti.

  • Qualcuno probabilmente ti sta pagando per fare un certo lavoro in un certo modo. Qualsiasi altra risposta è probabilmente insubordinazione e rischia di finire male.

Lo sviluppatore / architetto senior sceglie normalmente la lingua principale utilizzata in un negozio e garantisce che tutti utilizzino quella lingua. In questo modo, una società costruisce una base di conoscenza in determinate tecnologie in modo che un dipendente (tu) possa prendere le vacanze e qualcun altro possa prendere il tuo codice e risolverlo mentre te ne vai. Inoltre, l'azienda può fornire talenti di formazione pertinenti e il reparto risorse umane saprà quali parole chiave cercare nei curricula.

Imparando la sua lingua e usandola per lavoro, accumuli il capitale politico di cui hai bisogno per difendere efficacemente la tua lingua preferita. Molte aziende hanno una lingua dell'infrastruttura ufficiale e un linguaggio di scripting ufficiale per i report. Prepara una lista di pro e contro che mostra dove eccelle la sua lingua e dove la tua fa, anche dove cade. È necessario mantenere questo elenco nel contesto di un'applicazione specifica, ad esempio i report che si stanno scrivendo. Pianifica un momento con lui in privato e rispettosamente mostragli la lista e discutine con lui. Annota le sue obiezioni, ricercale dopo la riunione e, se hai delle buone contro-argomentazioni, pianifica una riunione di follow-up.

Buona fortuna!

    
risposta data 03.09.2012 - 17:16
fonte
7

Mostra che in un contesto specifico, un'altra lingua è una scelta più pragmatica.

Se la persona è appassionata di C ++ e stai lavorando a un progetto di applicazione web, non sarebbe troppo difficile. Allo stesso modo, alcuni contesti sono molto inclini alla programmazione funzionale e l'uso di un linguaggio non funzionale non sarebbe molto saggio.

Note:

  • Evita le situazioni in cui sia la tua lingua che quella preferita sono molto simili.

    Ad esempio, difficilmente immaginerei un contesto in cui Java sarebbe "migliore" di C # o C #, "migliore" di Java.

  • Ricorda che la scelta di una lingua è molto spesso soggettiva e viene spiegata più dalla precedente esperienza di uno sviluppatore piuttosto che da alcuni elementi basati sull'evidenza.

    Ad esempio, se mi viene chiesto di fare un'applicazione relativa al settore finanziario, utilizzerei comunque C # piuttosto che Haskell, anche se trovo Haskell più appropriato e veramente eccitante. Il motivo di questa scelta è che ho anni di esperienza con C #, ma quando si tratta di Haskell, ho letto solo alcuni tutorial e non l'ho mai usato professionalmente.

risposta data 03.09.2012 - 15:05
fonte
3

La risposta è 2) Vai con esso.

  1. L'unico modo per chiudere il fanboy è diventare fluenti (in una certa misura) nel suo linguaggio di scelta.
  2. La perdita di produttività non è un problema. Stai facendo come richiesto dal tuo senior, quindi i cambiamenti di produttività devono essere soddisfatti dal progetto.
  3. Imparare una nuova lingua farà funzionare meglio il tuo cervello.
  4. Imparare ad essere aperti sull'apprendimento di nuove lingue ti renderà ancora più buono.

È win-win-win-win. Godere!

    
risposta data 03.09.2012 - 23:41
fonte
2

La risposta è che non ci si occupa di esso. Discutere con loro trascina l'arguer al loro livello (dove ti picchiano con l'esperienza) ed è in definitiva non costruttivo perché sono di mentalità chiusa.

Ignora qualsiasi argomentazione a favore o contro la loro lingua e prendi una decisione. Usa le solite tecniche come evitare il contatto visivo, rispondere monosillabicamente e passare a un nuovo soggetto quando il silenzio lo assicura. Allenali a infastidire la persona accanto a te.

La sfida qui è che il fan boy associa la lingua alla sua identità e qualsiasi negatività associata a quella lingua è personale. Non attaccare o difendere. Ignora semplicemente.

    
risposta data 03.09.2012 - 15:15
fonte
2

Pochissime cose in un posto di lavoro sono veramente degli script usa e getta. Finisco per mettere molte cose simili sul wiki o nel repository comunque nel caso sia necessario di nuovo.

Anche le cose che penso sono al di sotto del livello di condivisione, i miei compagni di squadra spesso si sentono diversamente. Ad esempio, ho un alias rgrep nel mio .profile. È solo un'istruzione find con un parametro poiché non ho accesso a real rgrep su quel server. Un compagno di squadra ha trovato il vento e lo voleva sul wiki ... Sì, l'affermazione a una riga. Ovviamente non abbiamo avuto un dibattito sul linguaggio di implementazione: doveva essere UNIX. Ma mette in evidenza la necessità di fare cose che gli altri del team possono capire.

Un altro giro è che è possibile che lo sviluppatore senior abbia una ragione per cui non si conosce l'utilizzo di quella lingua. Hai chiesto?

Forse prova a creare lo stesso script in entrambe le lingue una volta per mostrare perché la tua è migliore.

    
risposta data 03.09.2012 - 16:16
fonte
1

Dovresti provare appannare . Questo significa essere d'accordo con tutto ciò che dice il fanboy (in parte o intero), ma fai la tua cosa a meno che non sia esplicitamente istruito a fare altrimenti.

    
risposta data 03.09.2012 - 15:24
fonte
0

Le opzioni passive-aggressive 1,3 portano a più stress emotivo, quindi dammi un 2) portalo sul mento.

Alcuni consigli generali per la strada: 4) Se non riesci ad ascoltare in modo più intelligente il tuo senior, fai il tuo studio in lingua / design del compilatore. Scegli una lingua e impara quali pensieri ci sono stati dentro. Qual è il compromesso tra funzionalità, prestazioni e potenza espressiva. Quali altre opzioni ci sono. Questo da solo ti garantirà superpoteri di programmazione inumani. Impara NBL anche se sarà enorme.

Asserire se stessi spingendo le opinioni sugli altri inibisce la produttività e la comunicazione. La gente potrebbe pensare che rinunciare all'impulso emotivo sia utile, ma è un semplice cerotto sulla loro insicurezza.

Essere umili e gentili con i consigli e migliorarsi farà miracoli per esprimere i tuoi sentimenti istintivi a livello tecnico. Ti sentirai meglio e vedrai le cose per quello che sono, perché sarai in grado di ragionare. È difficile arrabbiarsi quando esternalizzi le critiche a un contesto tecnico.

    
risposta data 03.09.2012 - 21:36
fonte

Leggi altre domande sui tag