Forritarar, devops og kettir Schrödinger

Forritarar, devops og kettir Schrödinger
Raunveruleiki netverkfræðings (með núðlum og ... salti?)

Nýlega, þegar ég ræddi ýmis atvik við verkfræðinga, tók ég eftir áhugaverðu mynstri.

Í þessum umræðum kemur alltaf spurningin um „rótarsök“ upp. Trúir lesendur vita líklega að ég hef sumar hugsanir á þetta um. Í mörgum stofnunum byggir atvikagreining alfarið á þessari hugmynd. Þeir nota mismunandi aðferðir til að bera kennsl á orsök og afleiðingar sambönd, svo sem "Fimm hvers vegna". Þessar aðferðir gera ráð fyrir svokölluðu „línuleika atburða“ sem óumdeilanlega kenningu.

Þegar þú véfengir þessa hugmynd og bendir á að línuleiki sé traustvekjandi villandi í flóknum kerfum, fæðist heillandi umræða. Deilendur halda því ákaft fram að aðeins þekking á „rótarorsökinni“ geri okkur kleift að skilja hvað er að gerast.

Ég tók eftir áhugaverðu mynstri: verktaki og devops bregðast öðruvísi við þessari hugmynd. Mín reynsla er að verktaki sé líklegri til að halda því fram að undirrótin skipti máli og að orsök og afleiðing tengsl geti alltaf komið á fót í atburðum. Aftur á móti eru DevOps oftar sammála um að flókinn heimur hlýði ekki alltaf línuleika.

Ég hef alltaf velt því fyrir mér hvers vegna þetta er? Hvað gerir forritara til að gagnrýna hugmyndina "rótin er goðsögn" svona? Eins og ónæmiskerfi sem þekkir aðskotaefni. Hvers vegna bregðast þeir svona við, á meðan devops frekar hneigður íhuga þessa hugmynd?

Ég er ekki alveg viss, en ég hef nokkrar hugmyndir um þetta. Það tengist mismunandi samhengi sem þessir sérfræðingar sinna daglegu starfi sínu í.

Hönnuðir vinna oft með ákveðin verkfæri. Auðvitað, þýðendur, tengillar, stýrikerfi - allt eru þetta flókin kerfi, en við erum vön því að þau gefa ákveðna niðurstöðu, og við ímyndum okkur að þau séu ákveðin: ef við gefum upp sömu inntaksgögnin, þá gerum við venjulega ráð fyrir að sama framleiðsla frá þessum kerfum. Og ef það er vandamál með úttakið ("galla"), þá leysa verktaki það með því að greina inntaksgögnin (annaðhvort frá notandanum eða úr safni tækja meðan á þróunarferlinu stendur). Þeir leita að "villu" og breyta síðan inntaksgögnum. Þetta lagar "villuna".

Forritarar, devops og kettir Schrödinger
Grundvallarforsenda hugbúnaðarþróunar: sömu inntaksgögn framleiðir á áreiðanlegan og ákvarðandi hátt sömu framleiðslu.

Reyndar er óákveðin niðurstaða sjálf álitin galla: ef óvænt eða röng framleiðsla er ekki afrituð, þá hafa verktaki tilhneigingu til að útvíkka rannsóknina til annarra hluta staflans (stýrikerfi, netkerfi osfrv.), sem einnig hegða sér meira og minna afgerandi, framleiðir sömu niðurstöðu með sömu inntaksgögnum... og ef svo er ekki, þá er þetta samt talið galla. Það er bara núna stýrikerfi eða netvilla.

Í öllu falli er ákvörðunarhyggja grundvallarforsenda, nánast sjálfsögð forsenda fyrir flesta vinnu forritara.

En fyrir alla devops gaura sem hefur eytt deginum í að safna upp vélbúnaði eða finna út API í skýi, er hugmyndin um algjörlega ákveðinn heim (svo lengi sem það er jafnvel hægt að kortleggja öll inntak!) hverful hugmynd í besta falli. Jafnvel þótt þú leggir það til hliðar BOHF brandarar um sólbletti, reyndir verkfræðingar hafa séð undarlegasta hluti í þessum heimi. Þeir vita það jafnvel mannlegt öskur getur hægt á þjóninum, svo ekki sé minnst á milljónir annarra þátta í umhverfinu.

Þannig að það er auðveldara fyrir reynda verkfræðinga að efast um að öll atvik eigi sér eina rótarorsök og aðferðir eins og „Fimm hvers vegna“ munu rétt (og endurtekið!) leiða til þeirrar rótar. Reyndar stangast þetta á við þeirra eigin reynslu þar sem púslbútarnir passa ekki svo vel í framkvæmd. Þess vegna samþykkja þeir þessa hugmynd auðveldara.

Auðvitað er ég ekki að segja að forritarar séu barnalegir, heimskir eða geti ekki skilið hvernig línuleiki getur verið blekkjandi. Reyndir forritarar hafa líklega líka séð mikið af óákveðni á sínum tíma.

En mér sýnist að algeng viðbrögð þróunaraðila í þessum umræðum hafi oft að gera með þá staðreynd að hugtakið determinism þjónar þeim vel í heildina í daglegu starfi. Þeir mæta ekki óákveðni eins oft og verkfræðingar þurfa að ná ketti Schrödingers á innviðum þeirra.

Þetta útskýrir kannski ekki að fullu viðbrögð þróunaraðila, en það er öflug áminning um að viðbrögð okkar eru flókin blanda margra þátta.

Það er mikilvægt að muna þessa margbreytileika, hvort sem við erum að takast á við eitt atvik, erum í samstarfi um afhendingarleiðslu hugbúnaðar eða reynum að gera okkur grein fyrir hinum víðtækari heimi.

Heimild: www.habr.com

Bæta við athugasemd