← Esettár

FTKONF-051

Amikor a főnököd elavult technológiát erőltet

Helyzet

„Hogyan változtassam meg hatékonyan a főnök technológiai hozzáállását, ha én építem majd a projektet?” · „How to effectively change a boss's mindset on technology choices when I will be the one building a project?” · szerző: Douglas Gaskell · CC BY-SA

Egy távmunkában dolgozó full-stack fejlesztő egy kis (10 fő alatti) cégnél dolgozik, ahol a cégvezető a 2000-es évek közepén megszokott eszközökhöz és gyakorlatokhoz ragaszkodik (nincs verziókezelés, nincs HTTPS, jelszavak sima szövegben). A vezető lelkesen rábízna a fejlesztőre egy nagy, komplex projektet (pontosan olyat, amilyenre a fejlesztő vágyik, kreatív kontrollal), ám ragaszkodik hozzá, hogy az egészet egy arra alkalmatlan, elavult eszközzel építse meg. A fejlesztő szakmai érveire („erre ez az eszköz nem való") a válasz mindig ugyanaz: „azzal is meg lehet csinálni". A fejlesztőt ráadásul teljesen kihagyják a döntéshozatalból (megvalósíthatóság, technológiaválasztás, követelmények), miközben ő fogja megépíteni a rendszert; a motivációja emiatt elpárolgott.

A forrásposzt teljes szövege (magyarul és angolul)

Az eredeti Stack Exchange-kérdés hű magyar fordítása · szerző: Douglas Gaskell · The Workplace, q126751 · CC BY-SA.

Ugorhatsz rögtön a Konklúzióra, ha nem szeretnéd elolvasni a Hátteret és a Probléma részleteit.

Megjegyzés: távmunkában dolgozom, ami önmagában is kommunikációs kihívásokat jelent.

Gyors háttér:

Egy kis cégnél dolgozom (<10 fő), amelynek van néhány vegyes, házon belüli FileMaker-projektje, amelyek úgy egy évtizede vannak jelen. Amijük van, vagy amit csinálnak, annak nagy része a 2000-es évek közepén-végén befagyott technológiai választásokra és gyakorlatokra épül (ami önmagában nem szörnyű dolog). Ügyfelekkel dolgozom C# vagy asp.net alkalmazásaik létrehozásán, javításán vagy módosításán. Olyan helyről jöttem, ahol szervezeti szintű problémákat találhattam meg és oldhattam meg olyan eszközökkel és szoftverekkel, amelyeket én és a csapatom hoztunk létre, szinte teljes kreatív és architekturális kontrollal. Emiatt az „értékesítés-vezérelt fejlesztés" meglehetősen unalmas és demotiváló létezés. Nem igazán tudom megmozgatni a fejlesztői tudásomat, és nem sok kielégítő munkát végzek.

A főnököm (a vezérigazgató, nevezzük Frednek) nagy érdeklődést mutatott az iránt, hogy a szakértelmemet felhasználva építsek ki egy REST API-t közösségimédia-adatok és analitika feldolgozására, és hogy hozzáférést adjunk el ezekhez az adatokhoz. Én is kifejeztem érdeklődésemet, konkrétan megemlítve, hogy olyan projektre van szükségem, amelyben kreatív kontrollom van, hogy azt csinálhassam, amiben a legjobb vagyok, és legyen némi munkahelyi elégedettségem. Fred lelkesen egyetértett, hogy ezt meg kellene csinálnunk.

Fredről:

Amióta itt dolgozom, Fredet nagyon csökönyösnek ismertem meg abban, hogy ragaszkodik az általa ismert eszközökhöz és keretrendszerekhez, és azokat használja. Még ha nagyon régiek is, és sok időbe kerülnek. Odáig, hogy Fred azt hiszi, egy kedvenc eszköz bármire képes, még ha a gyakorlati korlátai nagyon világosak is. Ez kiterjed a felhasználói adatok kezelésével, a biztonsággal, valamint a kód tárolásával és kezelésével kapcsolatos régi feltételezésekre és elképzelésekre is (azaz: nincs verziókezelés, nincsenek HTTPS-tanúsítványok, nincs email-validáció, a felhasználói hitelesítő adatok sima szövegben vannak, admin fiókok 123 jelszóval, mindenhez csak FTP kell... stb.)

A probléma részletei

Az elmúlt héten Fred FileMakert használtatott velem, ami finoman szólva is nyers és frusztráló élmény volt. Nehezen boldogulok az ilyen eszközökkel, mert szinte az összes fejlesztői kontrollt elveszik, és számtalan olyan „funkció" hiányzik belőlük, amelyet szinte bármely webes keretrendszerrel és relációs adatbázis-kezelővel egyszerűen meg lehetne valósítani. Említettem, hogy ez az eszköz bizonyos dolgokban nagyszerű, másokban gyenge, de Fred azt hiszi, FileMakerrel bármit meg lehet csinálni, komplexitástól és mérettől függetlenül.

Bevallottam, hogy nem tudom, miért csináljuk ezeket a FileMaker-gyakorlatokat, és kiderült, hogy Fred már el is döntötte: a teljes webes API-t, adatfeldolgozást és adatbetöltést FileMakerben készíttetné el velem. Ami számomra, full-stack fejlesztőként, szörnyű ötletnek hangzik. Egy ilyen rendszernek számos olyan követelménye van, amelyet a FileMaker nem tud biztosítani, és relációs adatbázis-kezelőként nem alkalmas potenciálisan több milliárd soros táblák kezelésére. Arról nem is beszélve, hogy egy REST API létrehozását és kezelését az eszköz nem is támogatja.

Kifejeztem ezeket az aggályokat, de a válasz, amit kapok: „a FileMaker meg tudja csinálni".

Konklúzió

A vezérigazgató azt akarja, hogy készítsek neki egy REST API-t hatalmas mennyiségű közösségimédia-adat feldolgozására, és biztosítsak módot arra, hogy fizető ügyfelek a saját céljaikra használhassák ezt az API-t. Ez egy meglehetősen komplex, sokrétű és nagy projekt. És pont olyasmi, amire régóta vágyom. Ő azonban ragaszkodik hozzá, hogy FileMakerrel készítsem, holott az én szakértelmem a sokféle ízű full-stack fejlesztésben van. Az általam javasolt megoldás az Asp.Net Core és egy relációs adatbázis-kezelő, mint az MS-SQL, MySQL/MariaDB vagy PostgreSQL. Ezekkel az eszközökkel gyorsan tudok fejleszteni, és az irodában mások is ismerik a C#-ot, beleértve a vezérigazgatót is. Szinte bármely más nagyobb nyelvvel és webes keretrendszerrel kényelmesen elvégzem a munkát. Csak FileMakerrel nem.

Különösen az aggaszt, hogy semmilyen beleszólásom nem volt a döntéshozatali folyamatba (megvalósíthatóság, technológiaválasztás vagy követelmények). Miközben én leszek az, aki ezt az alkalmazást elkészíti.

Kérdések:

  • Hogyan kerülhetek be abba a döntéshozatali folyamatba, amelyet Fred láthatóan egyedül folytat?
  • Van-e bármilyen professzionális mód arra, hogy tudassam vele: hiányos vagy elavult tudás és feltételezések alapján hoz döntéseket?
  • Mit tehetek, hogy meggyőzzem: ez valószínűleg megbénítja a projektet? Mind technológiai, mind fejlesztői motivációs szempontból.
  • Hogyan kommunikáljam hatékonyan, hogy ez az eszköz nem fogja biztosítani azokat a funkciókat és azt a rugalmasságot, amelyre a projekt megvalósításához szükségem van?
  • Hogyan kommunikáljam professzionálisan és udvariasan, hogy nem áll szándékomban a FileMakerbe invesztálni magam? Mivel ez nem olyan készség, amelyet a személyes projektjeimben hasznosnak találnék, vagy amely átvihető lenne más, engem érdeklő munkákra/cégekre.

Nem hiszem, hogy így jó munkát fogok itt végezni. Mivel a projekthez fűződő motivációm és lendületem a jelenlegi körülmények között gyakorlatilag elpárolgott.

A közösség legjobbnak ítélt válasza (4 szavazat)

Szerző: Flater · CC BY-SA

„I've personally found that the 'simple demo' approach tends to work well in cases like this. I tend to run some tests, and convert the results in tangible metrics for non-technical managers (mostly time or money…). … In the end, it's your boss' choice, and you can't change that. … If your boss forces a particular decision, then they inherently take responsibility for the consequences."

Lényeg (magyarul): Ne szakmai hitvitát folytass; készíts egyszerű demót/tesztet, és fordítsd le az eredményt a laikus döntéshozó nyelvére: időre és pénzre (a válaszoló egy konkrét sávszélesség-költség kalkulációval győzte meg a saját vezetőjét). A régi eszközhöz ragaszkodás mögött gyakran az ismeretlentől való félelem áll; az emészthető összehasonlítás csökkenti ezt a küszöböt. Végső soron viszont a döntés a főnöké; ha ő kényszeríti ki, a következmények felelőssége is az övé; a felmerülő problémákat vidd vissza hozzá. Kiegészítő válasz (Joe Strazzere, 0): ha a vezető minden érv után is hajthatatlan, és a motivációd elfogyott, a továbblépés a reális út.

Valós forrás: „How to effectively change a boss's mindset on technology choices when I will be the one building a project?” · szerző: Douglas Gaskell · Stack Exchange / The Workplace (q126751) · CC BY-SA · magyar fordítás, anonimizálva. Az eredeti poszt →