A hatékonyság titka a minőségi kód, nem a hatékony menedzser

Az egyik legidiótával terhelt szakma a programozókat irányító menedzserek. Nem mindenki, hanem azok, akik maguk nem voltak programozók. Akik úgy gondolják, hogy a hatékonyságot „növelni” (vagy „hatékonyságot”?) lehet könyvekből vett módszerekkel. Anélkül, hogy elolvasná ezeket a könyveket, a videó cigány jellegű.

Akik soha nem írtak kódot. Akiknek hollywoodi filmeket készítenek a programozókról – hát azok, ahol a parancssor segítségével e-mailt néznek. Akit a mutatókon, határidőkön és a saját fizetésükön kívül semmi más nem érdekel.

Akik többségben vannak.

De ők más okból idióták. Hatékonyságot akarnak, vagy legalább eredményességet (gyerünk menedzser, mi a különbség a Google-ban), anélkül, hogy megértenék egyiket sem. A lényeg, az eredmény megszerzésének folyamata, az ebben a folyamatban fellépő veszteségek, fejlesztési költségek általános megértése nélkül. Röviden: úgy dolgozunk egy programozóval, mintha egy fekete doboz lenne.

Pontosan egy okból futottak bele a programozók irányításába: van hype, pénz, piac és egy rakás ugyanaz az idióta. Van hova eltévedni.

Ha lenne felhajtás a mechanikus összeszerelés gyártásában, akkor oda futnánk. A kombi szívás. Nem lepődnék meg azon, hogy a szomszédunkban decemberben karácsonyfákat árusító srác IT-menedzser nyaral.

Röviden, ha lehet, lődd nyakon ezeket a srácokat. Ne aggódj, találnak munkát. Egyikük sem csinál semmi tisztességes dolgot, amíg nem lesz programozó. Mert nem érti az általa irányított folyamat lényegét, mechanizmusát, logikáját.

Oké, elég a menedzserekről. Most a lényegre, a programozókra. Hogyan lehet növelni a fejlesztési hatékonyságot, ha megtanulunk jó minőségű kódot írni.

A hatékonyság növelése érdekében gyorsabban kell megoldania a problémákat a minőség elvesztése nélkül. A problémák gyorsabb megoldásához azonnal tudnia kell jó minőségű kódot írni. És „jó minőségű”, „írni” és „azonnal”. Hadd magyarázzam el egy metaforával.

A jó minőségű kód írása olyan, mintha egy idegen nyelvet helyesen beszélne. Ha nem ismersz egy nyelvet, sok időt töltesz azzal, hogy azon próbáld megfogalmazni a gondolataidat.

Ha valamit sürgősen kell mondanod, csak ragaszkodsz néhány szóhoz, gyakran nem a megfelelőekhez, elfelejted a szócikkeket, a helyes szórendet, nem beszélve az igeidőről és a rossz kiejtésről.

Ha van ideje megfogalmazni a választ, akkor szótárt vagy online fordítót kell nyitnia, és sok időt kell töltenie gondolatainak megfogalmazásával. Az érzés azonban továbbra is kellemetlen lesz: kimondod a választ, és nem tudod, hogy helyes-e vagy sem. Ugyanez a helyzet a kóddal – úgy tűnik, hogy meg van írva, úgy tűnik, működik, de az, hogy jó minőségű-e vagy sem, rejtély.

Dupla időpocsékolásnak bizonyul. Időbe telik, mire választ találunk. Ennek a válasznak a megfogalmazása is időbe telik – és nem is olyan kevés.

Ha megvan a jó minőségű kódírás készsége, akkor a válasz azonnal megfogalmazható, amint fejben megérett, anélkül, hogy további időt fordítanának a fordításra.

A jó minőségű kód írásának készsége segít az architektúra tervezésében. Egyszerűen nem fog a fejében mérlegelni a helytelen, megvalósíthatatlan vagy kézzelfogható lehetőségeket.

Összefoglalva: a jó minőségű kódírás készsége jelentősen felgyorsítja a problémamegoldást.

De ez még nem minden. A filccsizma-menedzsereknek köszönhetően van egy fogás - nincs okunk jó minőségű kódot írni. A menedzser nem nézi a kódot, a kliens nem nézi a kódot. Ritkán mutatunk kódot egymásnak, csak néha, bizonyos projektekben, ahol van kijelölt kód „ellenőrző” vagy időszakos újrafeldolgozás.

Kiderült, hogy a legtöbb esetben a szar kód a gyártáshoz vagy az ügyfélhez kerül. Az a személy, aki hülye kódot írt, stabil neurális kapcsolatot alakít ki - nem csak lehet, de szükség is van rá - elfogadják, és még fizetnek is érte.

Ennek eredményeként a jó minőségű kódírás készsége egyáltalán nem fejlődhet ki. A feltételes alkalmazott által írt kódot soha senki nem ellenőrzi. Az egyetlen ok, amiért megtanul normálisan programozni, az a belső motiváció.

Ez a belső motiváció azonban ütközik a hatékonyságra és termelékenységre vonatkozó tervekkel és követelményekkel. Ez az ellentmondás nyilvánvalóan nem oldódik fel a jó minőségű kód javára, mert az emberek nem is kritizálják az embereket a szar kódok miatt. A terv teljesítésének elmulasztásáért pedig – még így is.

Mit kellene tennem? Két kombinálható utat látok és javaslok.

Az első az, hogy mutassa meg a kódját valakinek a vállalaton belül. Nem reaktívan (kérésre/kényszerre), hanem proaktívan (uh, haver, nézd meg a kódomat, kérlek). Itt az a lényeg, hogy ne posztoljunk cukros pofát, ne próbáljuk meg udvariasan megfogalmazni a kódkritikát. Ha a kód baromság, akkor azt mondjuk: a kód baromság. Természetesen magyarázatokkal és javaslatokkal, hogyan lehetne jobbá tenni.

De ez az út is so-so. Alkalmazhatósága attól függ, hogy az érintkezés melyik pontján történt. Ha a munka már gyártásba került, és kiderül, hogy baromság a kód, akkor nincs értelme újracsinálni. Pontosabban az okok - a mutatók is megereszkednek. A menedzserek berohannak, és összetörik Önt a hatékonysági követelményekkel. És még csak ne is próbáld elmagyarázni nekik, hogy a szar kód minden bizonnyal vissza fog térni hibák formájában – visszaüt rád. Csak kötelezettséget vállalhat arra, hogy ezt nem teszi meg többet.

Ha a munka még nem került átadásra, vagy csak most kezdődött el, akkor a kódra (vagy annak projektjére, ötletére) való szar ráöntésnek elég gyakorlati jelentése lehet - az ember rendesen megcsinálja.

A második, a legmenőbb módszer a nyílt forráskódú fejlesztés a munkaidőn kívül. Mi a cél: hogy egy csomó programozó, nevezetesen programozó lássa a kódját és beszéljen róla. A cégen belül mindenkinek nincs ideje. De a programozóknak szerte a világon még mindig nincs mit tenniük, és ha valami hasznosat írsz alkalmazási szempontból, akkor biztosan belenéznek.

A fő trükk szerintem a munkaidőn kívüli kódírás, mert a kód minősége és az eredmény kézbesítési sebessége közötti ellentmondás nem fog működni. Írd le a fejlődésedet legalább egy évre. Sem határidők, sem műszaki adatok, sem pénz, sem főnök nem fog rád nyomást gyakorolni. Teljes szabadság és kreativitás.

Csak a szabad kreativitásban fogod megérteni és érezni, mi a nagyszerű kód, meglátod a nyelv és a technológia szépségét, és érezni fogod az üzleti feladatok varázsát. Nos, megtanulsz jó minőségű kódot írni.

Igaz, ehhez személyes időre lesz szüksége. Mint minden más fejlesztés. Tekints rá ne költségként, hanem befektetésként – önmagadba.

Forrás: will.com

Hozzászólás