Tajna efikasnosti je kvalitetan kod, a ne efikasan menadžer

Jedna od najidiotnijih profesija su menadžeri koji upravljaju programerima. Ne svi, ali oni koji sami nisu bili programeri. Oni koji misle da je moguće “povećati” efikasnost (ili povećati “efikasnost”?) metodama iz knjiga. Bez truda da pročitam te iste knjige, video je ciganski.

Oni koji nikada nisu pisali kod. Oni za koje se snimaju holivudski filmovi o programerima - pa oni za koje gledaju e-poštu koristeći komandnu liniju. Oni koje ne zanima ništa osim pokazatelja, rokova i sopstvene plate.

Oni koji su većina.

Ali oni su idioti iz drugog razloga. Oni žele efikasnost, ili barem efektivnost (ajde, menadžere, Google u čemu je razlika), a da ne razumiju ni jedno ni drugo. Bez opšteg razumevanja suštine, procesa dobijanja rezultata, gubitaka koji se javljaju u ovom procesu, troškova razvoja. Ukratko, rad sa programerom kao da je crna kutija.

Upali su u menadžment programera upravo iz jednog razloga: postoji hype, novac, tržište i gomila istih idiota. Ima gde da se izgubiš.

Da je bilo buke u proizvodnji mehaničkih sklopova, trčali bismo tamo. Karavani su sranje. Ne bih se iznenadio da je tip koji prodaje jelke u našem kraju u decembru IT menadžer na odmoru.

Ukratko, ako je moguće, pucajte ovim momcima u vrat. Ne brini, naći će posao. Niko od njih neće učiniti ništa pristojno dok i sami ne postanu programeri. Zato što ne razumije suštinu, mehanizam, logiku procesa kojim upravlja.

U redu, dosta o menadžerima. Sada na stvar, za programere. Kako povećati efikasnost razvoja učenjem pisanja visokokvalitetnog koda.

Da biste povećali efikasnost, morate brže rješavati probleme bez gubitka kvalitete. Da biste brže riješili probleme, morate biti u mogućnosti odmah napisati visokokvalitetan kod. I „visokokvalitetno“, i „napiši“, i „odmah“. Da objasnim metaforom.

Pisanje visokokvalitetnog koda je kao da pravilno govorite strani jezik. Kada ne znate jezik, provodite mnogo vremena pokušavajući da formulišete svoje misli na njemu.

Ako trebaš nešto hitno reći, samo se držiš nekih riječi, često ne pravih, zaboravljaš na članke, ispravan red riječi, da ne spominjemo glagolska vremena i loš izgovor.

Ako imate vremena da formulirate odgovor, morat ćete otvoriti rječnik ili online prevoditelja i provesti dosta vremena formulirajući svoje misli. Osjećaj će, međutim, i dalje biti neprijatan: kažeš odgovor, a ne znaš da li je tačan ili ne. Isto je i sa kodom – čini se da je napisan, čini se da radi, ali je misterija da li je kvalitetan ili ne.

Ispostavilo se da je to dvostruko gubljenje vremena. Potrebno je vrijeme da se dođe do odgovora. Također je potrebno vrijeme da se formuliše ovaj odgovor – i to ne tako malo.

Ako je prisutna vještina pisanja visokokvalitetnog koda, onda se odgovor može formulirati odmah, čim sazrije u glavi, bez trošenja dodatnog vremena na prevođenje.

Vještina pisanja visokokvalitetnog koda pomaže pri dizajniranju arhitekture. Jednostavno nećete razmišljati o pogrešnim, neostvarivim ili ručnim opcijama u svojoj glavi.

Da rezimiramo: vještina pisanja visokokvalitetnog koda značajno ubrzava rješavanje problema.

Ali to nije sve. Zahvaljujući menadžerima filcanih čizama, postoji jedna kvaka - nemamo razloga pisati visokokvalitetan kod. Menadžer ne gleda kod, klijent ne gleda kod. Rijetko pokazujemo kod jedni drugima, samo ponekad, u nekim projektima gdje postoji određena „provjera“ koda ili periodično refaktoriranje.

Ispostavilo se da u većini slučajeva usrani kod ide u proizvodnju ili klijentu. Osoba koja je napisala usrani kod formira stabilnu neuronsku vezu - ne samo da je moguće napisati usranu šifru, već je i neophodno - to je prihvaćeno, pa čak i plaćaju.

Kao rezultat toga, vještina pisanja visokokvalitetnog koda uopće nema šanse da se razvije. Šifru koju je napisao uslovno zaposleni niko nikada ne provjerava. Jedini razlog zašto će naučiti normalno programirati je unutrašnja motivacija.

Ali ova unutrašnja motivacija je u sukobu s planovima i zahtjevima za efikasnošću i produktivnošću. Ova kontradikcija očito nije riješena u korist visokokvalitetnog koda, jer oni čak i ne kritikuju ljude zbog usranog koda. A za neispunjavanje plana – čak i tako.

Sta da radim? Vidim i predlažem dva puta koja se mogu kombinovati.

Prvi je da pokažete svoj kod nekome unutar kompanije. Ne reaktivno (kada se to traži/prinudno), već proaktivno (uh, stari, pogledaj moj kod, molim te). Ovdje je glavna stvar ne objavljivati ​​slatke šmrklje, ne pokušavati iznijeti kritiku koda u pristojnom obliku. Ako je kod sranje, kažemo tako: kod je sranje. Uz objašnjenja, naravno, i preporuke kako to učiniti boljim.

Ali i ovaj put je tako-tako. Njegova primenjivost zavisi od tačke u kojoj je došlo do kontakta. Ako je posao već ušao u proizvodnju i ispostavilo se da je kod sranje, nema smisla ponavljati ga. Tačnije, razlozi - metrika će također pasti. Menadžeri će požuriti i slomiti vas zahtjevima efikasnosti. I nemojte im čak ni pokušavati objasniti da će se usrani kod definitivno vratiti u obliku grešaka - to će vam se vratiti. Možete se samo obavezati da ovo više nećete raditi.

Ako posao još nije isporučen, ili je tek počeo, onda sipanje sranja na kod (ili njegov projekat, ideju) može imati prilično praktično značenje - osoba će to raditi normalno.

Drugi način, najkvalitetniji, je da radite open source razvoj tokom neradnog vremena. Šta je cilj: da gomila programera, odnosno programera, vidi vaš kod i govori o njemu. Svi u kompaniji nemaju vremena. Ali programeri širom svijeta i dalje nemaju što raditi, a ako napišete nešto korisno sa stanovišta primjene, oni će sigurno pogledati unutra.

Glavni trik je, po mom mišljenju, pisanje koda u neradno vrijeme, jer kontradikcija između kvaliteta koda i brzine isporuke rezultata neće funkcionirati. Napišite svoj razvoj za najmanje godinu dana. Ni rokovi, ni tehničke specifikacije, ni novac, ni šef neće vršiti pritisak na vas. Potpuna sloboda i kreativnost.

Samo u slobodnoj kreativnosti ćete shvatiti i osjetiti šta je sjajan kod, vidjeti ljepotu jezika i tehnologije i osjetiti čar poslovnih zadataka. Pa, naučit ćete pisati visokokvalitetan kod.

Istina, ovo će zahtijevati od vas da provedete lično vrijeme. Kao i svaki drugi razvoj. Ne gledajte na to kao na trošak, već kao na investiciju – u sebe.

izvor: www.habr.com

Dodajte komentar