Tehokkuuden salaisuus on laatukoodi, ei tehokas johtaja

Yksi idioottimimmista ammateista on johtajat, jotka johtavat ohjelmoijia. Eivät kaikki, mutta ne, jotka eivät itse olleet ohjelmoijia. Ne, jotka ajattelevat, että tehokkuutta on mahdollista "lisää" (tai "tehokkuutta"?) kirjojen menetelmillä. Edes vaivautumatta lukemaan näitä samoja kirjoja, video on mustalaismainen.

Ne, jotka eivät ole koskaan kirjoittaneet koodia. Ne, joille tehdään Hollywood-elokuvia ohjelmoijista - no, ne, joissa he katsovat sähköpostia komentorivillä. Sellaisia, joita ei kiinnosta mikään muu kuin indikaattorit, määräajat ja oma palkka.

Ne jotka ovat enemmistöä.

Mutta he ovat idiootteja eri syystä. He haluavat tehokkuutta tai ainakin tehokkuutta (joo, johtaja, Google mikä ero on), ymmärtämättä kumpaakaan. Ymmärtämättä yleisesti olemusta, tuloksen saamisprosessia, tässä prosessissa tapahtuvia menetyksiä, kehityskustannuksia. Lyhyesti sanottuna, työskentely ohjelmoijan kanssa kuin hän olisi musta laatikko.

He törmäsivät ohjelmoijien hallintaan täsmälleen yhdestä syystä: siellä on hype, rahaa, markkinat ja joukko samoja idiootteja. On paikka eksyä.

Jos mekaanisen kokoonpanon tuotannossa olisi hype, juoksimme sinne. Farmarivaunut ovat perseitä. En ihmettelisi, että naapurissamme joulukuussa joulukuusia myyvä kaveri on IT-päällikkö lomalla.

Lyhyesti sanottuna, jos mahdollista, ampukaa näitä tyyppejä niskaan. Älä huoli, he löytävät työpaikan. Kukaan heistä ei koskaan tee mitään kunnollista ennen kuin heistä tulee itse ohjelmoija. Koska hän ei ymmärrä hallitsemansa prosessin olemusta, mekanismia, logiikkaa.

Okei, riittää johtajista. Nyt asiaan, ohjelmoijille. Kuinka lisätä kehitystehokkuutta oppimalla kirjoittamaan laadukasta koodia.

Tehokkuuden lisäämiseksi sinun on ratkaistava ongelmat nopeammin menettämättä laatua. Jotta ongelmat voidaan ratkaista nopeammin, sinun on pystyttävä heti kirjoittamaan korkealaatuista koodia. Ja "korkealaatuinen", "kirjoita" ja "välittömästi". Selitän metaforalla.

Laadukkaan koodin kirjoittaminen on kuin vieraan kielen puhumista oikein. Kun et osaa kieltä, käytät paljon aikaa yrittääksesi muotoilla ajatuksesi siinä.

Jos haluat sanoa jotain kiireellisesti, pidät vain kiinni joistakin sanoista, usein ei oikeista, unohdat artikkelit, oikean sanajärjestyksen, verbimuodoista ja huonosta ääntämisestä puhumattakaan.

Jos sinulla on aikaa muotoilla vastaus, sinun täytyy avata sanakirja tai online-kääntäjä ja viettää paljon aikaa ajatusten muotoiluun. Tunne on kuitenkin edelleen epämiellyttävä: sanot vastauksen, etkä tiedä onko se oikein vai ei. Sama koskee koodia – se näyttää olevan kirjoitettu, se näyttää toimivan, mutta onko se hyvälaatuista vai ei, on mysteeri.

Se osoittautuu kaksinkertaiseksi ajanhukkaaksi. Vastauksen keksiminen vie aikaa. Tämän vastauksen muotoileminen vie myös aikaa – eikä niin vähän.

Jos laadukkaan koodin kirjoittamisen taito on olemassa, vastaus voidaan muotoilla heti, heti kun se on kypsynyt päässä, ilman ylimääräistä aikaa kääntämiseen.

Taito kirjoittaa laadukasta koodia auttaa arkkitehtuurin suunnittelussa. Et yksinkertaisesti harkitse päässäsi vääriä, toteuttamattomia tai käsiksi tehtyjä vaihtoehtoja.

Yhteenvetona: taito kirjoittaa laadukasta koodia nopeuttaa merkittävästi ongelmanratkaisua.

Mutta siinä ei vielä kaikki. Huopakangasjohtajien ansiosta on yksi saalis - meillä ei ole syytä kirjoittaa laadukasta koodia. Esimies ei katso koodia, asiakas ei katso koodia. Näytämme koodia toisillemme harvoin, vain joskus, joissakin projekteissa, joissa on nimetty koodin "tarkistus" tai säännöllinen uudelleenjärjestely.

Osoittautuu, että useimmissa tapauksissa paskakoodi menee tuotantoon tai asiakkaalle. Paskakoodin kirjoittanut ihminen muodostaa vakaan hermoyhteyden - paskaa koodia ei vain voi kirjoittaa, vaan se on myös välttämätöntä - se hyväksytään ja siitä jopa maksetaan.

Tämän seurauksena korkealaatuisen koodin kirjoittamisen taidolla ei ole mahdollisuuksia kehittyä ollenkaan. Ehdollisen työntekijän kirjoittamaa koodia ei koskaan tarkista kukaan. Ainoa syy, miksi hän oppii ohjelmoimaan normaalisti, on sisäinen motivaatio.

Mutta tämä sisäinen motivaatio on ristiriidassa tehokkuutta ja tuottavuutta koskevien suunnitelmien ja vaatimusten kanssa. Tämä ristiriita ei selvästikään ole ratkaistu korkealaatuisen koodin hyväksi, koska ihmiset eivät edes arvostele ihmisiä paskasta koodista. Ja suunnitelman toteuttamatta jättämisestä - silti.

Mitä minun pitäisi tehdä? Näen ja ehdotan kahta polkua, jotka voidaan yhdistää.

Ensimmäinen on näyttää koodisi jollekin yrityksen sisällä. Ei reaktiivisesti (kun pyydetään/pakotetaan), vaan ennakoivasti (uh, jätkä, katso koodiani, kiitos). Tärkeintä tässä on olla postaamatta sokerista räkää, ei yritä esittää koodin kritiikkiä kohteliaassa muodossa. Jos koodi on paskaa, sanomme niin: koodi on paskaa. Tietenkin selitykset ja suositukset sen parantamiseksi.

Mutta tämä polku on myös niin ja niin. Sen soveltuvuus riippuu kohdasta, jossa kosketus tapahtui. Jos työ on jo mennyt tuotantoon ja koodi osoittautuu paskaksi, ei sitä kannata tehdä uudestaan. Tarkemmin sanottuna syyt - myös mittarit heikkenevät. Esimiehet ryntäävät sisään ja murskaavat sinut tehokkuusvaatimuksilla. Äläkä edes yritä selittää heille, että paska koodi tulee varmasti takaisin bugien muodossa - se kostaa sinua. Voit vain sitoutua olemaan tekemättä tätä uudelleen.

Jos työtä ei ole vielä toimitettu tai se on vasta alkanut, niin koodin (tai sen projektin, idean) päälle paskan kaatamisella voi olla varsin käytännöllinen merkitys - ihminen tekee sen normaalisti.

Toinen tapa, siistein, on tehdä avoimen lähdekoodin kehitystyötä työajan ulkopuolella. Mikä on tavoite: joukko ohjelmoijia, nimittäin ohjelmoijia, näkemään koodisi ja puhumaan siitä. Kaikilla yrityksen sisällä ei ole aikaa. Mutta ohjelmoijalla kaikkialla maailmassa ei ole vieläkään mitään tekemistä, ja jos kirjoitat jotain hyödyllistä sovelluksen näkökulmasta, he katsovat ehdottomasti sisään.

Päätemppu on mielestäni koodin kirjoittaminen työajan ulkopuolella, koska koodin laadun ja tuloksen toimitusnopeuden välinen ristiriita ei toimi. Kirjoita kehityksestäsi vähintään vuoden ajalta. Määräajat, tekniset tiedot, raha tai pomo eivät painosta sinua. Täydellistä vapautta ja luovuutta.

Vain vapaassa luovuudessa ymmärrät ja tunnet mitä hieno koodi on, näet kielen ja tekniikan kauneuden ja tunnet bisnestehtävien viehätyksen. No, opit kirjoittamaan korkealaatuista koodia.

Totta, tämä edellyttää henkilökohtaista aikaa. Kuten mikä tahansa muu kehitys. Älä katso sitä kuluna, vaan sijoituksena – itseesi.

Lähde: will.com

Lisää kommentti