Mnogi ljudi razmišljaju o problemima koji ih muče prije spavanja ili odmah nakon buđenja. Nisam izuzetak. Danas mi se ujutro u glavi pojavila jedna s Habrа:
Kolega u chatu podijelio je priču:
Imam sjajnog klijenta iz pretprošle godine, to je još kada sam preuzimao čisti ‘krizni’ projekt.
Klijent u razvojnoj grupi ima dva tima, svaki se baviti svojim dijelom proizvoda (uvjetno rečeno, back office i storefront, tj. softver koji se bavi formiranjem narudžbe i softver koji se bavi izvršenjem narudžbe), rijetko se integriraju međusobno.
Tim back officea je potpuno otišao u minus: pola godine bezbroj grešaka, vlasnici prijete da će svih otpustiti, unajmili su konzultanta, a nakon konzultanta su unajmili drugog (mene). Pri tom je drugi tim (storefront) radio normalno i nastavio raditi normalno, problematičan je bio samo back office, koji je ranije također radio normalno, no počeli su praviti greške. Timovi sjede u različitim uredima, navikli su se međusobno posvađivati.Razlog: front i back su jedan sustav, u njemu je bezbroj ovisnosti, timovi su u različitim uredima, međusobno nisu komunicirali. Vlasnici stalno ‘prate’ storefront, imaju nove značajke, ideje i nadzor. U njemu je bio dečko za sve, neka kombinacija BA, dizajnera i ‘donesi nam kavu’. Ovaj dečko, neprimjetno za svoj tim, izvršavao je mnoštvo sitnih zadataka poput ‘obavijestiti drugi tim o deployu’, ‘ažurirati dokumentaciju’ i slično, sve do ‘unijeti u JIRA-i razne brojeve verzija i komponente’. No dečko nije pisao kod i u jednom trenutku vlasnici su odlučili da ga optimiziraju, otpustivši ga. Za tim storefronta se ništa nije promijenilo, samo nisu unosili i ažurirali dokumente, a tim back officea našao se u situaciji kada puštanje novih verzija storefronta lomi nešto kod njih, i to su njihovi problemi, a ako njihovi novi verziji lome nešto u storefrontu, to su opet njihovi problemi, jer je storefront na očima vlasnicima 🙂
Što me privuklo u ovom komentaru i što će pronaći onaj koji traži iz naslova — ispod.
Razvijam web aplikacije već 20 godina, tako da frontend/backend za mene nisu samo riječi. To su stvari koje su jako povezane. Na primjer, ne mogu zamisliti situaciju u kojoj se frontend razvija potpuno (ili vrlo jako) odvojeno od backenda. Na obje strane operiraju istim podacima, izvode slične operacije. Približno znam kakav volumen informacija se razmjenjuje između developera iz obje ekipe da bi se uskladila razvojna rješenja, i koliko vremena i kako često su ta usuglašavanja potrebna. Timovi ne mogu ne komunicirati, čak i ako su u različitim vremenskim zonama. Pogotovo s obzirom na postojanje JIRA-e.
Znam da je besmisleno upozoravati backend developere o deployu frontenda. Nova verzija frontenda ne može ništa pokvariti na backendu, dok obratno - može. To su developeri frontenda zainteresirani za obavještavanje developera backend-a o potrebnim novim ili izmijenjenim funkcionalnostima. Frontend ovisi o deployima backend-a, a ne obrnuto.
Što dečko koji "donese nam kavu" ne može biti BA (ako pod BA podrazumijevamo "poslovnog analitičara"), a BA ne može biti "dečko, donesi nam kavu". A sigurno, "unositi u JIRA razne verzije i komponente" bez rasprave s timovima developera ni "dečko", ni BA ne može. To je kao kola ispred konja.
Kad su "dečka" otpustili, te funkcije, od "donesi kavu" do "unesi u JIRA", trebale su se prebaciti na druge članove timova. U ustaljenoj grupi tokovi informacija i uloge su učvršćene, ako osoba koja obavlja jednu ili više uloga ode s pozornice, tada ostali članovi grupe imaju potrebu za primanjem uobičajenih informacija iz uobičajenih uloga. Jednostavno ne mogu ne primijetiti da informacije potrebne za rad više ne pristižu. To je kao da ovisnik ne može ne primijetiti prestanak dolaska droga. I kao što ovisnik traži i pronalazi druge kanale, tako će i članovi grupe pokušati pronaći izvore potrebnih informacija na "tamo" strani i nove izvršitelje starih uloga. I sigurno će pronaći. Najmanje onoga koji, po njihovom mišljenju, treba dati potrebne informacije.
Čak i ako pretpostavimo da su uobičajeni kanali informacija nestali, a onaj ko bi trebao uhvatiti situaciju ne smatra da treba, programeri u pozadini neće šest meseci skrivati razloge svojih neuspeha od vlasnika, znajući da problemi proizlaze iz nedostatka potrebnih informacija. Vlasnici neće "šuteti" šest meseci, videći da je ranije potrebna informacija "bila u višku", a sada je niko ne unosi. I prvi konsultant je teško mogao biti toliko neprofesionalan da ne razgovara sa programerima u pozadini i ne dođe do izvora problema – nedostatak uskladištenja između timova. To je zbilja uzrok opisanih problema, a ne otpuštanje "dečka".
Banalan nedostatak komunikacije između programera – uobičajen uzrok mnoštva problema u razvoju i ne samo. Nije potrebno biti izuzetan konsultant da bi se to otkrilo. Dovoljno je biti samo razuman.
Smatram da je cela ta priča izmišljena i lepo izložena. Pa, nije potpuno izmišljena – svi elementi su iz stvarnog života (front, back, razvoj, dečko, kafa, "višak", ...). Ali su povezani na način da se takva konstrukcija ne sreće u stvarnosti. Svaki pojedinačni deo može se naći u okolini, ali u toj kombinaciji – ne. Ispod sam napisao zašto.
Ipak, izloženo je veoma verodostojno. Čita se s interesovanjem i prisutna je lična uključenost. Sažaljenje prema "dečaku-za-sve", nedovoljeno ocenjenom malom mehanizmu velike mašine (to se zapravo odnosi na mene!). Opreznost prema programerima, tako pametnim i iskusnim, ali ne vide dalje od vlastitog nosa (oni su oko mene!). Laka podsmeh nad vlasnicima, bogatašima koji su sami sebi napravili "bo-bo" i ne razumeju uzroke (pa, to je kao moje rukovodstvo!). Prezir prema prvom "konsultantu", koji nije uspeo da pronađe tako običan izvor problema (aha, nedavno je došao neki s naočarima, išao je s pametnim izrazom lica), i oduševljeno jedinstvo s "pravim" konsultantom, koji je jedini mogao da oceni pravu ulogu dečka-za-sve (to jest mene!).
Osjećate li unutarnje zadovoljstvo nakon čitanja ovog komentara? Naša uloga malih zupčastih kotačića u velikom mehanizmu zapravo nije tako mala! Odlično napisano, iako nije istina. Ipak, kakav ugodan dojam ostavlja.
Ne znam tko je kolega i u kojem je chatu podijelio ovo otkrovenje s kolegama. i zašto je kolega mkrentovskiy odlučio to objaviti pod člankom "" istaknute autorice s Habr-a ‘a (koja se, usput rečeno, trenutno nalazi na prvom mjestu u Habr-ovoj ljestvici!), ali priznajem da je kolega mkrentovskiy to učinio iznimno uspješno. Poruka komentara i stil pisanja toliko se podudaraju s porukom i stilom drugih objava nmivan‘a, da se može pomisliti da je konzultant za krize iz komentara i glavni lik mnogih objava nmivan‘a — ista osoba.
Čitao sam prilično mnogo objava Ivana Belokamenceva kada je autor započeo svoju aktivnost na Habr-u (2017. godine). Neke sam čak s užitkom (, ). Ima dobar stil i zanimljiv način izlaganja. Njegove priče jako su slične životnim pričama, ali praktički nemaju šanse da se stvarno dogode, u Eto kako je s ovom pričom u komentaru.
Iskreno, osobno ne smatram da je Habr postao bolji zahvaljujući objavama Ivana. No njegov rang i ostalih posjetitelja Habr-a govore suprotno:
Ne razumijem vašu jadikovku. Habr je već odavno krenuo nizbrdo, a autor donosi malo vatre i podiže raspoloženje čitateljima ) izvlačeći resurs iz ponora.
Da, Habr nije dobrotvorna organizacija, Habr je komercijalni projekt. Habr je ogledalo koje odražava naše želje. Ne moje osobne želje i ne želje svakog pojedinačnog posjetitelja, nego zbroj svih naših želja — "srednje po bolnici". A Ivan Belokamencev najbolja je osoba koja osjeća što nam svima zajedno treba i to nam daje.
Možda ne bih napisao ovaj članak da nisam počeo gledati seriju "".
"Izgubili smo Boga" (c)
To je iz serije. I to je o nama.
Prestali smo biti očarani stvarnošću koju je stvorio Stvoritelj.
Bogom, Prirodom, Velikim Praskom — kako god želite. Stvarnost postoji. Oko nas i neovisno o nama.
Živimo u skladu s prirodnim zakonima (Božjim naumom). Upoznajemo te zakone (naum) i učimo kako iskoristiti stvarnost u kojoj živimo, da bismo živjeli još bolje. Praksa provjerava naše pretpostavke, odbacujući netočne, a zadržavajući one važne. Stupamo u interakciju sa stvarnošću i mijenjamo je.
I veoma smo uspješni u tome.
Na planeti ima mnogo ljudi. Zaista mnogo. S trenutnom produktivnošću rada, ne trebamo preživljavati više — manjina može osigurati većini sve što joj treba. Većina se dakle mora nečim baviti. Povijesno, višak resursa namijenjen kreativnosti stizao je do najtalentiranijih (ili najuspješnijih, što je također talent). Danas je toliko slobodnih resursa da ga svi nečim talentirani mogu iskoristiti, bez obzira na razinu. Usporedite koliko se filmova godišnje snimi širom svijeta i koliko ih se može gledati. Koliko se knjiga piše, i koje od njih se može čitati. Koliko se informacija pojavljuje na internetu, i što od toga je korisno.
Zašto je profesija IT stručnjaka tako popularna? Zato što se u IT-u mogu trošiti bezdani resursi i nitko ne trepće (sjetite se samo problema iz 2000. godine). U IT-u možete godinama razvijati aplikacije koje će zastarjeti prije nego što se pokrenu, možete pokušavati integrirati nespojive komponente i natjerati ih da funkcioniraju, možete iznova izumljavati vlastite bicikle, a možete se odmah posvetiti podršci programa na Fortranu, koji je zarastao u mahovinu prije 20 godina. U IT-u možete proći cijeli svoj život a da ne učinite ništa korisno. I najvažnije — nitko to neće primijetiti! Čak ni vi sami.
Malo tko od nas će ostaviti trag u IT industriji. A ostaviti dobar uspomena će poći još manjem broju ljudi. Rezultati našeg rada će se osipati u sljedećih 10-20 godina u najboljem slučaju, ili i ranije. Svakako tijekom našeg života (ako doživimo do penzije). Nećemo moći pokazati našim unucima računalne sustave na kojima su radili njihovi djedovi u mladosti. Ljudi će jednostavno zaboraviti njihova imena. Na početku svoje karijere, podizao sam poštanske stanice pod ""I have about 20 years until retirement and 10 years until grandchildren, yet most of you have probably never heard of the "top email software package of the mid-1990s" ("najbolji paket softvera za e-poštu iz sredine 1990-ih").
Možda u stvarnosti slabo svjesni besmislenosti našeg IT tereta, ali u podsvijesti težimo pobjeći tamo gdje nam je ugodno. U izmišljene svjetove gdje korištenje Scruma i Agilea uvijek dovodi do stvaranja proizvoda koji desetljećima osvajaju svijet svojom korisnošću. Gdje nismo samo mali zupčanici velikih mehanizama, već zupčanici bez kojih se veliki mehanizmi raspadaju. Gdje naš život ne prolazi u besmislenom obavljanju rutinskih zadataka, već je ispunjen kreativnošću i stvaranjem, čime se možemo ponositi.
Bježimo u te prekrasne, nečijom maštom stvorene svjetove kako bismo pobjegli od vlastite beskorisnosti u stvarnom svijetu. U njima tražimo utjehu.
Tražimo utjehu i na Habr-u. I Ivan nam je ovdje pruža.
Izvor: habr.com
