Tajna učinkovitosti je kvalitetan kod, a ne učinkovit menadžer

Jedna od najglupljih profesija je profesija programera. Ne svi, ali oni koji nikada nisu bili programeri. Oni koji misle da mogu "povećati" učinkovitost (ili povećati "učinkovitost"?) koristeći metode iz knjiga. Nisu se čak ni potrudili pročitati same knjige - uostalom, postoji video o programiranju u ciganskom stilu.

Oni koji nikada nisu pisali kod. Oni za koje se snimaju holivudski filmovi o programerima - znate, oni u kojima pregledavaju e-poštu pomoću naredbenog retka. Oni koji se ne brinu ni za što osim za metrike, rokove i vlastite plaće.

Oni koji su u većini.

Ali oni su idioti iz drugog razloga. Žele učinkovitost, ili barem djelotvornost (daj, menadžeru, proguglaj razliku), a ne razumiju ni jedno ni drugo. Nemaju uopće razumijevanja suštine, procesa postizanja rezultata, gubitaka koji se javljaju putem ili troškova razvoja. Ukratko, rad s programerom je kao rad s crnom kutijom.

Programeri su se sjatili u menadžment iz jednog razloga: postoji pompa, novac, tržište i hrpa jednako idiota. Ima puno mjesta za skrivanje.

Da postoji velika pompa u proizvodnji mehaničkih sklopova, ljudi bi pohrlili tamo. Karavani su smeće. Ne bi me iznenadilo da je tip koji prodaje božićna drvca u našem susjedstvu u prosincu IT menadžer na odmoru.

Ukratko, ako je moguće, izbacite ove tipove. Ne brinite, naći će posao. Nitko od njih neće ništa pristojno napraviti dok i sami ne postanu programeri. Jer ne razumiju bit, mehaniku ili logiku procesa kojim upravljaju.

U redu, dosta o menadžerima. A sada o pravoj stvari, za programere. Kako poboljšati učinkovitost razvoja učenjem pisanja visokokvalitetnog koda.

Da biste povećali učinkovitost, morate brže rješavati probleme bez žrtvovanja kvalitete. Da biste brže rješavali probleme, morate odmah moći napisati visokokvalitetni kod. "Visoka kvaliteta", "napiši" i "odmah". Dozvolite mi da objasnim metaforom.

Pisanje visokokvalitetnog koda je kao kompetentno govorenje stranog jezika. Kada ne znate jezik, provodite puno vremena pokušavajući formulirati svoje misli u njemu.

Ako trebaš nešto hitno reći, samo nabaciš neke riječi, često krive, zaboraviš na članove, ispravan red riječi, a da ne spominjemo glagolska vremena i loš izgovor.

Ako imate vremena formulirati odgovor, morat ćete otvoriti rječnik ili online prevoditelj i potrošiti hrpu vremena formulirajući svoje misli. Osjećaj će, međutim, i dalje biti neugodan: dajete odgovor, ali ne znate je li točan ili ne. Isto je i s kodom: napisali ste ga, čini se da radi, ali je li kvalitetan ili ne - tko zna.

To je dvostruko gubljenje vremena. Smišljanje odgovora zahtijeva vrijeme. Formuliranje tog odgovora također zahtijeva vrijeme - i to poprilično.

Ako imate vještinu pisanja visokokvalitetnog koda, onda možete formulirati svoj odgovor čim vam se formira u glavi, bez gubljenja dodatnog vremena na prevođenje.

Vještina pisanja visokokvalitetnog koda pomaže pri dizajniranju arhitekture. Jednostavno nećete imati netočne, neizvedive ili nespretne ideje u glavi.

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

Ali to nije sve. Zahvaljujući glupim menadžerima, postoji jedna kvaka: nemamo poticaja za pisanje visokokvalitetnog koda. Menadžer ne gleda kod, a ni klijent ne gleda kod. Rijetko dijelimo kod jedni s drugima, samo povremeno, na određenim projektima gdje postoji određeni recenzent koda ili se vrši periodično refaktoriranje.

Ispada da u većini slučajeva loš kod završi u produkciji ili na strani klijenta. U osobi koja je napisala loš kod razvija se snažna neuronska veza: ne samo da je prihvatljivo pisati loš kod, već je to čak i obavezno - prihvaćeno je, pa čak i ljudi za to plaćaju.

Kao rezultat toga, vještina pisanja visokokvalitetnog koda uopće nema šanse za razvoj. Kod koji je napisao hipotetski zaposlenik nikada nitko ne pregledava. Jedini razlog zašto će naučiti dobro programirati jest intrinzična motivacija.

Ali ova unutarnja motivacija je u sukobu s planovima i zahtjevima za učinkovitošću i produktivnošću. Ovaj sukob očito nije riješen u korist visokokvalitetnog koda, jer se loš kod čak ni ne kritizira. A neuspjeh u ispunjavanju plana svakako se kritizira.

Što učiniti? Vidim i predlažem dva puta koja se mogu kombinirati.

Prvo je pokazati svoj kod nekome unutar tvrtke. Ne reaktivno (da te netko pita ili te prisiljava), već proaktivno (hej, stari, pogledaj moj kod, molim te). Ključno je ovdje izbjegavati uljepšavanje ili pokušaj uljepšavanja kritike koda u pristojne riječi. Ako je kod loš, odmah to kažemo: kod je loš. Naravno, s objašnjenjima i preporukama kako ga poboljšati.

Ali ovaj pristup je također problematičan. Njegova primjenjivost ovisi o točki kontakta. Ako je posao već gurnut u produkciju i ispostavi se da je kod loš, nema smisla ponovno ga raditi. Ili bolje rečeno, nema razloga - metrike će pasti. Menadžeri će se umiješati i zasuti vas zahtjevima za performansama. I nemojte im ni pokušavati objasniti da će se loš kod neizbježno vratiti kao greške - to će vam se obiti o glavu. Možete se samo obvezati da to više nećete raditi.

Ako posao još nije završen ili je tek započeo, onda prolijevanje sranja po kodu (ili njegovom projektu, ideji) može imati vrlo praktično značenje - osoba će ga napraviti kako treba.

Druga, i najuzbudljivija opcija je bavljenje razvojem otvorenog koda u slobodno vrijeme. Cilj je da hrpa programera - programera, dakle - vidi vaš kod i komentira ga. Unutar tvrtke nitko nema vremena. A programeri diljem svijeta ionako nemaju ništa pametnije za raditi, pa ako napišete nešto što je korisno s praktičnog stajališta, sigurno će pogledati.

Glavna prednost, po mom mišljenju, je pisanje koda izvan radnog vremena, jer nema kompromisa između kvalitete koda i brzine isporuke. Možete provesti godinu dana razvijajući vlastiti projekt. Nećete biti pod pritiskom rokova, specifikacija, novca ili šefa. To je potpuna sloboda i kreativnost.

Samo kroz slobodnu kreativnost shvatit ćete i osjetiti što je izvrstan kod, vidjeti ljepotu programskih jezika i tehnologija te iskusiti radost poslovnih izazova. I naučit ćete pisati visokokvalitetan kod.

Istina, ovo će zahtijevati malo osobnog vremena. Baš kao i svaki drugi razvoj, zapravo. Ne gledajte na to kao na trošak, već kao na ulaganje - u sebe.

Izvor: www.habr.com

Kupite pouzdan hosting za stranice s DDoS zaštitom, VPS VDS poslužiteljima 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster