Një nga profesionet më të mbushura me idiotë është ai i programuesve. Jo të gjithë, por ata që nuk kanë qenë kurrë vetë programues. Ata që mendojnë se mund të "rrisin" efikasitetin (ose të rrisin "efikasitetin"?) duke përdorur metoda nga librat. Ata as nuk janë shqetësuar t'i lexojnë vetë librat - në fund të fundit, ka një video për programimin në stilin cigan.
Ata që nuk kanë shkruar kurrë kod. Ata për të cilët janë bërë filma hollivudianë për programuesit - e dini, ata ku shikojnë email-et duke përdorur rreshtin e komandës. Ata që nuk interesohen asgjë tjetër përveç metrikave, afateve dhe pagave të tyre.
Ata që janë shumicë.
Por ata janë idiotë për një arsye tjetër. Ata duan efikasitet, ose të paktën efektivitet (hajde tani, menaxher, kërko ndryshimin në Google), pa e kuptuar asnjërën prej tyre. Ata nuk kanë asnjë kuptim për thelbin, procesin e arritjes së rezultateve, humbjet që ndodhin gjatë rrugës ose kostot e zhvillimit. Shkurt, të punosh me një programues është si të punosh me një kuti të zezë.
Programuesit u dyndën drejt menaxhimit për një arsye: ka reklamë, para, treg dhe një tufë po aq idiotësh. Ka shumë hapësirë për t'u fshehur.
Nëse do të kishte bujë në prodhimin e montimeve mekanike, njerëzit do të nxitonin atje. Station wagon-at janë të tmerrshëm. Nuk do të habitesha nëse djali që shet pemë Krishtlindjesh në lagjen tonë në dhjetor është një menaxher IT-je me pushime.
Shkurt, nëse është e mundur, nxirrini këta njerëz jashtë. Mos u shqetësoni, do të gjejnë punë. Asnjëri prej tyre nuk do të bëjë kurrë diçka të mirë derisa të bëhen vetë programues. Sepse nuk e kuptojnë thelbin, mekanikën apo logjikën e procesit që po menaxhojnë.
Në rregull, mjaft me menaxherët. Tani le të kalojmë te puna e vërtetë, për programuesit. Si të përmirësojmë efikasitetin e zhvillimit duke mësuar të shkruajmë kod me cilësi të lartë.
Për të rritur efikasitetin, duhet t'i zgjidhni problemet më shpejt pa sakrifikuar cilësinë. Për t'i zgjidhur problemet më shpejt, duhet të jeni në gjendje të shkruani kod me cilësi të lartë menjëherë. "Cilësi e lartë", "shkruaj" dhe "menjëherë". Më lejoni ta shpjegoj me një metaforë.
Të shkruash kod me cilësi të lartë është si të flasësh një gjuhë të huaj me kompetencë. Kur nuk e njeh gjuhën, kalon shumë kohë duke u përpjekur të formulosh mendimet e tua në të.
Nëse duhet të thuash diçka urgjentisht, thjesht shton disa fjalë, shpesh ato të gabuara, harron nenet, rendin e saktë të fjalëve, për të mos përmendur kohët e foljeve dhe shqiptimin e dobët.
Nëse keni kohë për të formuluar një përgjigje, do t'ju duhet të hapni një fjalor ose një përkthyes online dhe të shpenzoni shumë kohë duke formuluar mendimet tuaja. Ndjesia, megjithatë, do të jetë ende e pakëndshme: po jepni një përgjigje, por nuk e dini nëse është e saktë apo jo. E njëjta gjë është me kodin: e keni shkruar, duket se funksionon, por nëse është me cilësi të mirë apo jo - kush e di.
Është humbje kohe e dyfishtë. Të gjesh një përgjigje kërkon kohë. Formulimi i asaj përgjigjeje gjithashtu kërkon kohë - dhe goxha kohë.
Nëse keni aftësinë për të shkruar kod me cilësi të lartë, atëherë mund ta formuloni përgjigjen tuaj sapo të jetë formuar në kokën tuaj, pa humbur kohë shtesë në përkthim.
Aftësia për të shkruar kod me cilësi të lartë ndihmon në dizajnimin e arkitekturës. Thjesht nuk do të keni ide të pasakta, të parealizueshme ose të ngathëta në kokën tuaj.
Për ta përmbledhur: aftësia e shkrimit të kodit me cilësi të lartë përshpejton ndjeshëm zgjidhjen e problemeve.
Por kjo nuk është e gjitha. Falë menaxherëve budallenj, ka një problem: ne nuk kemi asnjë nxitje për të shkruar kod me cilësi të lartë. Menaxheri nuk e shikon kodin dhe klienti nuk e shikon. Ne rrallë e ndajmë kodin me njëri-tjetrin, vetëm herë pas here, në projekte të caktuara ku ka një rishikues të caktuar të kodit ose rifaktorizim periodik.
Rezulton se në shumicën e rasteve, kodi i dobët përfundon në prodhim ose në anën e klientit. Një lidhje e fortë nervore zhvillohet tek personi që shkroi kod të dobët: jo vetëm që është e pranueshme të shkruash kod të dobët, por është madje e detyrueshme - pranohet, dhe njerëzit madje paguajnë për të.
Si rezultat, aftësia e shkrimit të kodit me cilësi të lartë nuk ka asnjë shans për t’u zhvilluar. Kodi i shkruar nga një punonjës hipotetik nuk rishikohet kurrë nga askush. Arsyeja e vetme pse ata do të mësojnë të programojnë mirë është motivimi i brendshëm.
Por ky motivim i brendshëm bie ndesh me planet dhe kërkesat për efikasitet dhe produktivitet. Ky konflikt qartësisht nuk zgjidhet në favor të kodit me cilësi të lartë, sepse kodi i dobët as nuk kritikohet. Dhe mosrespektimi i planit sigurisht që po.
Çfarë të bëj? Unë shoh dhe sugjeroj dy rrugë që mund të kombinohen.
E para është t’ia tregosh kodin dikujt brenda kompanisë. Jo në mënyrë reaktive (duke u pyetur ose duke u detyruar), por në mënyrë proaktive (hej, shoku, shiko kodin tim, të lutem). Çelësi këtu është të shmangësh lyerjen e ëmbël ose përpjekjen për ta maskuar kritikën ndaj kodit me terma të sjellshëm. Nëse kodi është i keq, e themi menjëherë: kodi është i keq. Me shpjegime, sigurisht, dhe rekomandime se si ta përmirësojmë.
Por kjo qasje është gjithashtu problematike. Zbatueshmëria e saj varet nga pika e kontaktit. Nëse puna është shtyrë tashmë në prodhim dhe rezulton se kodi është i keq, nuk ka kuptim ta ribësh atë. Ose më saktë, nuk ka arsye - metrikat do të bien ndjeshëm. Menaxherët do të ndërhyjnë dhe do t'ju godasin me kërkesa për performancë. Dhe mos u përpiqni as t'u shpjegoni atyre se kodi i keq do të kthehet në mënyrë të pashmangshme si gabime - do të kthehet kundër. Mund të zotoheni vetëm të mos e bëni më.
Nëse puna nuk ka përfunduar ende, ose sapo ka filluar, atëherë hedhja e tepërt mbi kodin (ose projektin, idenë e tij) mund të ketë një kuptim shumë praktik - personi do ta bëjë siç duhet.
Opsioni i dytë, dhe më emocionues, është të bëni zhvillim me kod të hapur në kohën tuaj të lirë. Qëllimi është që një grup programuesish - programues, domethënë - ta shohin kodin tuaj dhe ta komentojnë atë. Brenda kompanisë, askush nuk ka kohë. Dhe programuesit në mbarë botën nuk kanë asgjë më të mirë për të bërë gjithsesi, kështu që nëse shkruani diçka që është e dobishme nga një këndvështrim praktik, ata patjetër do ta shohin.
Avantazhi kryesor, sipas mendimit tim, është shkrimi i kodit jashtë orarit të punës, sepse nuk ka kompromis midis cilësisë së kodit dhe shpejtësisë së dorëzimit. Mund të kaloni një vit duke zhvilluar projektin tuaj. Nuk do të jeni nën presion nga afatet, specifikimet, paratë ose shefi juaj. Është liri dhe kreativitet i plotë.
Vetëm nëpërmjet kreativitetit të lirë do ta kuptoni dhe do ta ndjeni se çfarë është kodi i shkëlqyer, do të shihni bukurinë e gjuhëve dhe teknologjive të programimit dhe do të përjetoni gëzimin e sfidave të biznesit. Dhe do të mësoni të shkruani kod me cilësi të lartë.
Vërtet, kjo do të kërkojë pak kohë personale. Ashtu si çdo zhvillim tjetër, në të vërtetë. Mos e konsideroni si shpenzim, por si një investim - në veten tuaj.
Burimi: www.habr.com
