Anger at code: programatori è negatività

Anger at code: programatori è negatività

Fighjulu un pezzu di codice. Questu pò esse u peghju codice chì aghju mai vistu. Per aghjurnà solu un record in a basa di dati, recupera tutti i registri in a cullizzioni è poi manda una dumanda d'aghjurnamentu à ogni record in a basa di dati, ancu quelli chì ùn anu micca bisognu di aghjurnà. Ci hè una funzione di mappa chì simpricimenti torna u valore passatu à ellu. Ci sò testi cundiziunali per variàbili cù apparentemente u stessu valore, solu chjamati in stili differenti (firstName и first_name). Per ogni UPDATE, u codice manda un missaghju à una fila diversa, chì hè trattatu da una funzione diversa senza servitore, ma chì face tuttu u travagliu per una cullezzione diversa in a stessa basa di dati. Aghju dettu chì sta funzione senza servitore hè da una "architettura orientata à u serviziu" basata in nuvola chì cuntene più di 100 funzioni in l'ambiente?

Cumu era ancu pussibule di fà questu? Mi copre a faccia è visibilmente singhiozzu attraversu a mo risa. I mo culleghi mi dumandanu ciò chì hè accadutu, è l'aghju ricivutu in culori I peggiori successi di BulkDataImporter.js 2018. Ognunu mi fa un sguardu simpaticu è accunsenu: cumu puderianu fà questu per noi?

Negatività: un strumentu emutivu in una cultura di programatore

A negatività ghjoca un rolu impurtante in a prugrammazione. Hè incrustatu in a nostra cultura è hè utilizatu per sparte ciò chì avemu amparatu ("ùn avete micca ci crederete, com'era quellu codice! "), per sprimà a simpatia per via di a frustrazione ("Diu, PERCHÈ fà questu?"), per fà vede sè stessu ("Ùn avissi mai. tantu ùn l'hà micca fattu"), per culpisce à qualcunu altru ("avemu fallutu per via di u so codice, chì hè impussibile di mantene"), o, cum'è abitudine in l'urganisazioni più "tossiche", per cuntrullà l'altri attraversu un sintimu di vergogna ("A chì pensava ancu?" ? correttu ").

Anger at code: programatori è negatività

A negatività hè cusì impurtante per i programatori perchè hè un modu assai efficace per trasmette u valore. Una volta aghju assistitu à un campu di prugrammazione, è a pratica standard di inculcà una cultura di l'industria in i studienti era di furnisce generosamente meme, storie è video, i più populari di quale sfruttava. A frustrazione di i programatori quandu si trovanu affruntatu cù l'incomprensione di a ghjente. Hè bonu per pudè usà strumenti emutivu per identificà u Bonu, u Cattivu, u Bruttu, Ùn fate micca cusì, Mai à tutti. Hè necessariu di preparà i novi vinuti per u fattu chì seranu prubabilmente malinterpretati da i culleghi chì sò luntanu da l'IT. Chì i so amichi cumincianu à vendelli idee di app per milioni di dollari. Ch'elli duveranu vaghjime à traversu labirinti interminabili di codice anticu cù una mansa di minotauri à u cantonu.

Quandu avemu prima imparatu à programà, a nostra cunniscenza di a prufundità di l'"esperienza di prugrammazione" hè basatu annantu à l'osservazione di e reazzione emotiva di l'altri. Questu pò esse chjaramente vistu da i posti in sapete ProgrammerHumor, induve un saccu di programatori principianti passanu. Parechje umoristiche sò, à un gradu o un altru, culurite cù diverse sfumature di negatività: disappuntu, pessimisimu, indignazione, cundescendenza è altri. È s'ellu ùn vi pare micca abbastanza, leghjite i cumenti.

Anger at code: programatori è negatività

Aghju nutatu chì cum'è i programatori acquistanu sperienza, diventanu più è più negativi. I principianti, inconsciente di e difficultà chì l'aspittàvanu, cumincianu cù entusiasmu è vuluntà di crede chì a causa di sti difficultà hè solu una mancanza di sperienza è cunniscenza; è eventualmente seranu cunfruntati cù a realità di e cose.

U tempu passa, guadagnanu spirienza è diventanu capaci di distingue u codice Good da Bad. È quandu vene stu mumentu, i ghjovani programatori sentenu a frustrazione di travaglià cù un codice ovviamente cattivu. È s'ellu travaglia in una squadra (remotamente o in persona), spessu adoptenu l'abitudini emutivu di i culleghi più sperimentati. Questu spessu porta à un aumentu di a negatività, perchè i ghjovani ponu avà parlà pensativamente di u codice è divisu in cattivu è bonu, dimustrendu cusì chì sò "in u sapè". Questu rinforza ancu u negativu: per a delusione, hè faciule d'amparà cù i culleghi è diventate parte di un gruppu; criticà u Bad Code aumenta u vostru statutu è a prufessionalità à l'ochji di l'altri: e persone chì esprimenu opinioni negativi sò spessu percepiti cum'è più intelligenti è cumpetenti.

Aumentà a negatività ùn hè micca necessariamente una mala cosa. I discussioni di prugrammazione, frà altri cose, sò assai cuncintrati nantu à a qualità di u codice scrittu. Ciò chì u codice hè definitu cumplettamente a funzione chì hè intesa à fà (hardware, networking, etc. à parte), cusì hè impurtante per esse capace di sprime a vostra opinione nantu à quellu codice. Quasi tutte e discussioni si scontranu à s'ellu u codice hè abbastanza bonu, è à cundannà i manifesti assai di u codice male in termini chì a so connotation emutivu carattirizza a qualità di u codice:

  • "Ci sò assai inconsistenzi di logica in questu modulu, hè un bonu candidatu per l'optimizazione di rendiment significativu".
  • "Stu modulu hè abbastanza male, avemu bisognu di refactor.
  • "Stu modulu ùn hà micca sensu, deve esse riscritto".
  • "Stu modulu fa male, deve esse patched."
  • "Questu hè un pezzu di ram, micca un modulu, ùn avia micca bisognu di esse scrittu, ciò chì diavule pensava u so autore".

A propositu, hè questa "liberazione emotiva" chì face chì i sviluppatori chjamanu u codice "sexy", chì raramente hè ghjustu - salvu chì travagliate in PornHub.

U prublema hè chì a ghjente hè criatura strana, inquieta, emotiva, è a percepzione è l'espressione di ogni emozioni ci cambia: in prima suttili, ma cù u tempu, dramaticamente.

Una pendenza slippery turbulente di negatività

Uni pochi anni fà, era un capu informale di squadra è intervistatu un sviluppatore. Ci hè piaciutu assai: era intelligente, facia boni dumande, era tech-savvy, è si adattava bè cù a nostra cultura. Eru particularmente impressiunatu da a so pusittività è quantu intraprendente pareva. È l'aghju assuciatu.

À quellu tempu, aghju travagliatu in a cumpagnia per un paru d'anni è sentu chì a nostra cultura ùn era micca assai efficace. Avemu pruvatu à lancià u pruduttu duie volte, trè volte è un paru di più volte prima ch'e aghju ghjuntu, chì hà purtatu à grandi spese nantu à rilavorazione, durante u quale ùn avemu avutu nunda di mostra, salvu longhi notti, scadenze strette è prudutti chì travagliavanu. E ancu s'ellu era sempre travagliatu duru, eru scetticu annantu à l'ultima scadenza assignata à noi da a gestione. È ghjurò casualmente quandu discuteva certi aspetti di u codice cù i mo culleghi.

Dunque ùn era micca surprisante, ancu s'ellu era stupitu, chì uni pochi di settimane dopu, u stessu novu sviluppatore hà dettu e stesse cose negative ch'e aghju fattu (cumpresu ghjuramentu). Aghju realizatu chì si cumportassi in modu diversu in una cumpagnia diversa cù una cultura diversa. Solu adattatu à a cultura chì aghju creatu. Eru vintu da un sintimu di culpabilità. Per via di a mo sperienza subjectiva, aghju instillatu u pessimisimu in un novu chì aghju percive cum'è completamente diversu. Ancu s'ellu ùn era micca veramente cusì è era solu mettendu un aspettu per dimustrà ch'ellu si pudia mette, aghju forzatu a mo attitudine di merda nantu à ellu. È tuttu ciò chì si dice, ancu in scherzà o in passaghju, hà a mala manera di trasfurmà in ciò chì si crede.

Anger at code: programatori è negatività

I modi negativi

Riturnemu à i nostri antichi programatori novi, chì anu acquistatu un pocu di saviezza è di sperienza: sò diventati più familiarizati cù l'industria di prugrammazione è capiscenu chì u codice cattivu hè in ogni locu, ùn pò esse evitata. Si trova ancu in l'imprese più avanzati cuncentrati nantu à a qualità (è lasciate nutà: apparentemente, a mudernità ùn pruteghja micca u codice male).

Bon script. À u tempu, i sviluppatori cumincianu à accettà chì u codice male hè una realità di u software è chì u so travagliu hè di migliurà. È chì s'è u codice male ùn pò esse evitata, allura ùn ci hè nunda à fà un fuss about it. Piglianu u percorsu di u Zen, cuncintranu à risolve i prublemi o i travaglii chì li cunfrontanu. Amparanu cumu misurà è cumunicà accuratamente a qualità di u software à i pruprietarii di l'imprese, scrivenu stimi ben fundati basati nantu à i so anni di sperienza, è infine ricevenu generosi premii per u so valore incredibile è continuu per l'affari. Facenu u so travagliu cusì bè chì sò pagati $ 10 milioni in bonus è si ritirate per fà ciò chì volenu per u restu di a so vita (per piacè ùn pigliate micca per scontru).

Anger at code: programatori è negatività

Un altru scenariu hè a strada di a bughjura. Invece di accettà u codice male cum'è un inevitabbilità, i sviluppatori piglianu nantu à elli à chjamà tuttu u male in u mondu di prugrammazione per pudè superà. Si ricusanu di migliurà u codice cattivu esistenti per parechje boni ragioni: "a ghjente deve sapè più è ùn esse cusì stupidu"; "hè dispiacevule"; "questu hè male per l'affari"; "questu prova quantu sò intelligente"; "Se ùn vi dicu micca chì un codice lousy hè questu, tutta a cumpagnia cascarà in l'oceanu", è cusì.

Sicuramente incapaci di implementà i cambiamenti chì volenu perchè l'affari sfurtunatamenti deve cuntinuà à sviluppà è ùn pò micca passà u tempu preoccupatu di a qualità di u codice, queste persone guadagnanu una reputazione cum'è lagnanti. Sò ritenuti per a so alta cumpetenza, ma sò imbuttati à i marghjini di a cumpagnia, induve ùn anu micca fastidiu assai persone, ma susteneranu sempre l'operazione di sistemi critichi. Senza accessu à novi opportunità di sviluppu, perdenu e cumpetenze è cessanu di risponde à e richieste di l'industria. A so negatività si trasforma in amarezza amara, è in u risultatu alimentanu i so ego discutendu cù i studienti di vint'anni nantu à u viaghju chì a so vechja tecnulugia preferita hà pigliatu è perchè hè sempre cusì calda. Finiscenu per ritirassi è campà a so vechjaia ghjurannu l'acelli.

A realità si trova probabilmente in un locu trà sti dui estremi.

Alcune cumpagnie anu avutu un grande successu in a creazione di culture estremamente negative, insulari, forti di vuluntà (cum'è Microsoft prima di a so decenniu persu) - spessu questi sò cumpagnie cù prudutti chì si adattanu perfettamente à u mercatu è a necessità di cultivà u più prestu pussibule; o cumpagnie cù una ghjerarchia di cummandu è cuntrollu (Apple in i migliori anni di Jobs), induve ognunu faci ciò chì si dice. In ogni casu, a ricerca di l'affari mudernu (è u sensu cumunu) suggerisce chì l'ingenuità massima, chì porta à l'innovazione in l'imprese, è a produtividade alta in l'individui, esige livelli bassi di stress per sustene u pensamentu creativo è metudicu continuu. È hè estremamente difficiuli di fà un travagliu creativo, basatu in discussione, se vi preoccupate constantemente di ciò chì i vostri culleghi anu da dì di ogni linea di u vostru codice.

A negatività hè ingegneria cultura pop

Oghje, più attenzione hè pagata à l'attitudine di l'ingegneri chè mai. In l'urganisazioni di l'ingegneria, a regula "Nisuna corna". Sempre più aneddoti è storie appariscenu in Twitter nantu à e persone chì anu lasciatu sta professione perchè ùn pudianu (ùn avissiru) cuntinuà à mette l'ostilità è a mala vuluntà versu l'esterni. Ancu Linus Torvalds recentemente scusatu anni di ostilità è critiche versu altri sviluppatori Linux - questu hà purtatu à dibattitu annantu à l'efficacità di stu approcciu.

Qualchidunu ancu difendenu u dirittu di Linus à esse assai critichi - quelli chì anu da sapè assai di i vantaghji è i disadvantages di "negatività tossica". Iè, a civiltà hè estremamente impurtante (ancu fundamentale), ma s'ellu si riassume i motivi per chì parechji di noi permettenu l'espressione di l'opinioni negativi per trasfurmà in "tossicità", sti ragiuni parenu paternalisti o adulescenti : "si meritanu perchè sò idioti. ", "Deve esse sicuru ch'elli ùn a facenu micca di novu", "s'ellu ùn avianu micca fattu questu, ùn avissi micca bisognu di gridà à elli", è cusì. Un esempiu di l'impattu chì e riazzioni emutivu di un capu anu in una cumunità di prugrammazione hè l'acronimu di a cumunità Ruby MINASWAN - "Matz hè bellu, cusì simu piacevuli".

Aghju nutatu chì assai pruposti ardenti di l'approcciu di "uccisione un stupidu" spessu curanu assai di a qualità è a correttezza di u codice, identificendu cù u so travagliu. Sfurtunatamente, spessu cunfundenu a durezza cù a rigidità. U svantaghju di sta pusizioni vene da u desideriu umanu simplice, ma improduttivu di sentenu superiore à l'altri. E persone chì diventanu immerse in questu desideriu si fermanu in a strada di a bughjura.

Anger at code: programatori è negatività

U mondu di a prugrammazione hè in crescita rapida è sguassate contr'à e fruntiere di u so cuntainer - u mondu di non-programmazione (o hè u mondu di prugrammazione un cuntinuu per u mondu di non-programmazione? Bona quistione).

Siccomu a nostra industria si espande à un ritmu sempre più grande è a prugrammazione diventa più accessibile, a distanza trà "techies" è "normali" si chjude rapidamente. U mondu di a prugrammazione hè sempre più espunutu à l'interazzione interpersonale di e persone chì anu crisciutu in a cultura nerd isolata di u primu boom di a tecnulugia, è sò elli chì formanu u novu mondu di prugrammazione. E inveci di qualsiasi argumenti suciali o generaziunali, l'efficienza in u nome di u capitalismu si mostrarà in a cultura di l'impresa è in e pratiche di assunzione : e migliori cumpagnie ùn anu micca impiegà à nimu chì ùn pò micca interagisce neutralmente cù l'altri, è ancu avè boni relazioni.

Ciò chì aghju amparatu nantu à a negatività

Se permettenu troppu negatività per cuntrullà a vostra mente è l'interazzione cù e persone, trasfurmendu in toxicità, allora hè periculosa per i squadre di produttu è caru per l'affari. Aghju vistu (è intesu parlà di) innumerevoli prughjetti chì sò cascati è sò stati ricustruiti cumplettamente cù una grande spesa perchè un sviluppatore di fiducia avia un rancore contr'à a tecnulugia, un altru sviluppatore, o ancu un unicu schedariu sceltu per rapprisintà a qualità di tutta a basa di codice.

A negatività ancu demoralizza è distrugge e relazioni. Ùn aghju mai scurdatu di cumu un cullega m'hà scunfittatu per mette CSS in u schedariu sbagliatu, m'hà scunfittu è ùn m'hà micca permessu di cullà i mo pinsamenti per parechji ghjorni. È in u futuru, hè improbabile di permette à una tale persona per esse vicinu à unu di i mo squadre (ma chì sà, a ghjente cambia).

Infine, u negativu literalmente dannu a vostra salute.

Anger at code: programatori è negatività
Pensu chì questu hè ciò chì una master class nantu à i sorrisi duveria esse.

Di sicuru, questu ùn hè micca un argumentu in favore di beaming with felicità, inserisce dece miliardi di emoticons in ogni pull request, o andendu à una classa maestra nantu à i surrisi (no, bè, s'ellu hè ciò chì vulete, allora nisuna dumanda). A negatività hè una parte estremamente impurtante di a prugrammazione (è a vita umana), chì signala a qualità, chì permette à unu di sprime sentimenti è commiserate cù l'altri umani. A negatività indica insight è prudenza, a prufundità di u prublema. Aghju spessu nutatu chì un sviluppatore hà righjuntu un novu livellu quandu principia à sprime incredulità in ciò chì prima era timido è incertu. E persone dimustranu raghjone è cunfidenza cù e so opinioni. Ùn pudete micca scaccià l'espressione di negatività, chì saria orwelliana.

Tuttavia, a negatività deve esse dosata è equilibrata cù altre qualità umane impurtanti: empatia, pacienza, intelligenza è umore. Pudete sempre dì à una persona chì hà sbuchjatu senza gridà o ghjurà. Ùn sottovalutate micca stu approcciu: se qualchissia vi dice senza emuzione chì avete seriu scherzu, hè veramente paura.

Ddu tempu, parechji anni fà, u CEO m'hà parlatu. Avemu discututu u statutu attuale di u prughjettu, dopu hà dumandatu cumu mi sentu. Aghju rispostu chì tuttu andava bè, u prughjettu si moveva, travagliavamu pianu pianu, forse mi mancava qualcosa è ci vole à ricunsiderà. Hà dettu ch'ellu m'hà intesu sparte pinsamenti più pessimisti cù i culleghi in l'uffiziu, è chì l'altri l'avianu nutatu ancu. Ellu spiegò chì s'ellu avia dubbitu, puderia sprimelli cumplettamente à a gestione, ma micca "sguassate". Cum'è un ingegnere principale, aghju da esse attentu à cumu e mo parolle affettanu l'altri, perchè aghju assai influenza ancu s'ellu ùn aghju micca capitu. È m'hà dettu tuttu questu assai gentile, è infine hà dettu chì, se mi sentu cusì cusì, probabilmente aghju bisognu di pensà à ciò chì vogliu per mè è a mo carriera. Hè stata una cunversazione incredibilmente gentile, chjappà-o-esce da u vostru postu. L'aghju ringraziatu per l'infurmazioni nantu à cumu a mo attitudine cambiata annantu à sei mesi affettava à l'altri senza nutà da mè.

Era un esempiu di gestione notevuli, efficace è u putere di un accostu dolce. Aghju realizatu chì mi pareva solu avè una fede cumpleta in a cumpagnia è a so capacità per ghjunghje à i so scopi, ma in a realtà aghju parlatu è cumunicatu cù l'altri in una manera completamente diversa. Aghju capitu ancu chì, ancu s'è mi sentu scetticu annantu à u prugettu chì travagliava, ùn deve micca mustrà i mo sentimenti à i mo culleghi è sparghje u pessimisimu cum'è un contagiu, riducendu e nostre chance di successu. Invece, puderia trasmette in modu aggressivu a situazione reale à a mo gestione. È s'ellu mi sentu ch'elli ùn mi stavanu à sente, puderia sprime u mo disaccordu abbandunendu a cumpagnia.

Aghju ricevutu una nova opportunità quandu aghju pigliatu u postu di capu di valutazione di u persunale. Cum'è un anticu ingegnere capu, sò assai attentu à sprime e mo opinioni nantu à u nostru codice eredità (sempre megliu). Per appruvà un cambiamentu, avete bisognu di imaginà a situazione attuale, ma ùn vi ghjunghjerà in nudda parte si sguassate in moaning, attaccà, o simili. In ultimamente, sò quì per compie un compitu è ​​ùn deve micca lagnà di u codice per capiscenu, valutà, o riparà.

In fatti, più cuntrollà a mo reazione emotiva à u codice, più capiscu ciò chì puderia diventà è menu cunfusione mi sentu. Quandu mi spressione cun moderazione ("ci deve esse spaziu per più migliuramentu quì"), mi rendeva felice è l'altri è ùn pigliava micca a situazione troppu seriu. Aghju realizatu chì puderia stimulà è riduce a negatività in l'altri per esse perfettamente (fastidiosamente?) ragiunate ("avete ragione, stu codice hè abbastanza male, ma l'avemu megliu"). Sò cuntentu di vede finu à quandu possu andà in a strada Zen.

Essenzialmente, imparu constantemente è riaprendu una lezione impurtante: a vita hè troppu corta per esse constantemente arrabbiata è in u dulore.

Anger at code: programatori è negatività

Source: www.habr.com

Add a comment