Skip to content

Dosadna tehnologija je luksuzna roba

SigmaJunction · Engineering6 min čitanja

Postoji pouzdan način da se prepozna softver napravljen da impresionira one koji ga grade, a ne one koji ga poseduju: prebrojte tehnologije. Sistem sa četiri baze podataka, dva sistema redova i frameworkom objavljenim prošlog proleća nije projektovan — on je sakupljan. A kolekcionar retko plaća račun za održavanje.

Prava cena uzbudljive tehnologije

Nova tehnologija vam naplaćuje tri puta. Prvo kroz nepoznate nepoznanice: režime otkaza o kojima još niko nije napisao blog post, a otkrivate ih u dva ujutru na svom produkcionom sistemu. Drugo kroz zapošljavanje: svaki egzotičan izbor smanjuje broj ljudi koji umeju da održavaju sistem i podiže njihovu cenu. Treće kroz dugovečnost: ovogodišnji uzbudljivi framework ima šanse kao bacanje novčića da bude napušten u roku od pet godina — provereni alati su svoje događaje izumiranja već preživeli.

Ta tri troška se međusobno umnožavaju. Egzotična baza otkaže na nedokumentovan način, što je preživljivo — osim što je jedini inženjer koji ju je razumeo otišao u proleće, a potraga za zamenom je sada u četvrtom mesecu, jer je broj kandidata sa baš tom veštinom greška u zaokruživanju. U međuvremenu je framework od koga ta baza zavisi najavio svoj "uzbudljivi novi pravac", što je dobavljački rečnik za prepisivanje svega što ste izgradili na starom. Ništa od ovoga nisu bili odvojeni rizici; to je bio jedan rizik, kupljen tri puta.

Ovi troškovi stižu pošto agencija ode. Upravo zato agencije strukturno privlači uzbudljiva tehnologija — korist za biografiju je njihova, račun za održavanje vaš. Poravnanje tih interesa je koliko problem dizajna ugovora, toliko i inženjerski: delom i zato dajemo garanciju na svoj rad i nudimo da održavamo ono što izgradimo.

Kako nastaje kolekcija

Niko ne kreće da gradi sistem koji se ne može održavati; on se nataloži kroz pojedinačno branjive odluke. Inženjer želi neku tehnologiju u svojoj biografiji, a projekat je jedino mesto gde može da dođe do nje. Predavanje sa konferencije učini da arhitektura namenjena kompaniji sa hiljadu inženjera izgleda kao najbolja praksa za tim od šestoro. Dijagram sa mikroservisima deluje profesionalnije od poštenog monolita. Svaki izbor dodaje po jedan pokretni deo, a pokretni delovi se množe: dve baze podataka ne koštaju dvostruko više od jedne — koštaju drugu bazu plus sinhronizaciju između njih, zauvek.

Odbrana je dosadno pravilo koje se primenjuje na pregledu odluka: svaka tehnologija van podrazumevanog stack-a mora da kupi svoje mesto merljivim zahtevom koji podrazumevani izbor ne može da ispuni. "Skalabilnije je" se ne računa bez brojke. "Možda nam zatreba kasnije" je razlog da se doda kasnije. Teret dokazivanja je na novini, nikada na dosadnom izboru — jer samo jedan od njih ima učinak na koji može da pokaže.

Inovacija je budžet. Trošite ga na svoj proizvod, gde ga kupci vide — a ne na infrastrukturu, gde ga vide samo vaši inženjeri.

Dosadno ≠ staro

Dosadno ne znači legacy. PostgreSQL, TypeScript, React, mainstream cloud servisi — to su moderne, aktivno razvijane i izuzetno sposobne tehnologije. Dosadnim ih čini to što su im oštre ivice dokumentovane, režimi otkaza poznati, a milion timova je već udarilo u probleme u koje ćete vi tek udariti. Dosadno znači predvidivo, a predvidivost je ono što kupujete kada plaćate seniorske cene.

Ovde se krije i signal o zapošljavanju koji vlasnici dosledno pogrešno čitaju. Juniori jure zanimljive tehnologije; seniori jure zanimljive probleme i namerno biraju uspavane alate, jer su lično platili račun od dva ujutru za uzbuđenje. Tim koji vam prodaje dosadnu arhitekturu nije neambiciozan — on vam pokazuje svoje ožiljke. Ambicija pripada onome što sistem radi, a ne onome od čega je napravljen.

Ta disciplina ima i svoju posledicu: kada budžet za novotarije zaista potrošimo — kao kod AI sistema, gde se granica stvarno pomera svakog kvartala — izolujemo uzbudljivi deo iza dosadnih interfejsa, držimo ga zamenljivim i obavijamo ga evaluacijom. Radijus eksplozije jedne novine treba da bude modul, nikada arhitektura.

U praksi to znači da provajder modela stoji iza interfejsa za koji ostatak sistema i ne zna, pa je njegova zamena promena konfiguracije, a ne migracija. Znači i evaluacioni harness koji svaki model-kandidat ocenjuje na vašim stvarnim slučajevima, pa je odluka o zameni merenje, a ne modni iskaz. Uzbudljivi deo ostaje uzbudljiv — samo mu nije dozvoljeno da ostatak sistema učini zanimljivim.

Podrazumevani stack i kako ga menjati

Praktičan alat iza svega ovoga je zapisan podrazumevani stack: kratak spisak tehnologija koje novi sistem koristi osim ako neko ne dokaže suprotno. Jedna primarna baza podataka. Jedan backend jezik koji čita ceo tim. Jedan frontend framework. Managed cloud servisi umesto bilo čega self-hosted — dosadan izbor u operacijama znači platiti cloud provajderu da nosi pejdžer. Spisak staje na jednu karticu, i to je poenta: svaki dodatak na njemu treba da deluje skupo, jer i jeste.

Menjanje podrazumevanog izbora je dozvoljeno — na glavna vrata. Kratko pisano obrazloženje: zahtev koji trenutni podrazumevani izbor ne može da ispuni, brojka koja to dokazuje, put migracije ka njemu i izlazna strategija. Zatim proba na nečemu što nije kritično, pre nego što bilo šta okrenuto ka korisnicima počne da zavisi od toga. Timovi koji sprovode ovaj ritual usvoje možda jednu novu tehnologiju godišnje, namerno, i ona se zadrži. Timovi koji to ne rade usvoje pet slučajno, a zadrže dve — preostale tri ionako ostanu u produkciji, napola migrirane, i doveka naplaćuju kiriju.

Pitanja za vašeg sledećeg dobavljača

Ko će ovo održavati u trećoj godini i koliko će koštati? Koliko je veliko tržište rada za ovaj stack — i šta se dešava sa našim rokovima kada jedan od ovih frameworka bude napušten? Zašto ova druga baza podataka, u brojkama? Kako izgleda runbook za dežurstvo i da li bi ga ispratio inženjer koji sistem nije gradio? Ako su odgovori mahanje rukama, arhitektura je obaveza prerušena u demo.

Dosadna tehnologija je način na koji softver ostaje sredstvo umesto da postane naučni projekat sa ekranom za prijavu — što će reći: to je luksuz koji vaše poslovanje može da priušti upravo zato što ne izgleda kao luksuz. Premijum nije u alatima. Premijum je u uzdržanosti.

Nastavite sa čitanjem

Sledeći esej na vaš imejl

Softver kao investicija, primenjeni AI i inženjerska praksa — pisano za ljude koji potpisuju fakture.

Jedan do dva eseja mesečno, bez buke. Potvrda imejlom, odjava jednim klikom.

Želite arhitekturu napravljenu da se nasleđuje?

Pitajte koji bismo stack izabrali za vaš sistem — i zašto će vam biti dosadan.