UzrakstÄ«t tonnas koda ir grÅ«ti, bet pÄrvaldÄ«t cilvÄkus ir vÄl grÅ«tÄk! TÄtad jums vienkÄrÅ”i ir nepiecieÅ”ama Ŕī grÄmata, lai uzzinÄtu, kÄ darÄ«t abus.
Vai ir iespÄjams apvienot smieklÄ«gus stÄstus un nopietnas mÄcÄ«bas? Maiklam Lopam (Å”aurÄs aprindÄs pazÄ«stams arÄ« kÄ Rands) tas izdevÄs. JÅ«s atradÄ«sit izdomÄtus stÄstus par izdomÄtiem cilvÄkiem ar neticami atalgojoÅ”u (kaut arÄ« izdomÄtu) pieredzi. TÄ Rands dalÄs savÄ daudzveidÄ«gajÄ, reizÄm dÄ«vainajÄ pieredzÄ, kas gÅ«ta, gadiem ilgi strÄdÄjot lielajÄs IT korporÄcijÄs: Apple, Pinterest, Palantir, Netscape, Symantec u.c.
Vai esat projektu vadÄ«tÄjs? Vai arÄ« vÄlaties saprast, ko jÅ«su nolÄdÄtais priekÅ”nieks dara visu dienu? Rands iemÄcÄ«s jums izdzÄ«vot uzpÅ«sto tÄ«taru toksiskajÄ pasaulÄ un zelt vispÄrÄjÄ disfunkcionÄli krÄÅ”Åo cilvÄku neprÄtÄ. Å ajÄ dÄ«vainajÄ maniakÄlo prÄtnieku kopienÄ ir sastopami vÄl dÄ«vainÄki radÄ«jumi ā menedžeri, kuri ar mistisku organizatorisku rituÄlu ir ieguvuÅ”i varu pÄr daudzu cilvÄku plÄniem, domÄm un banku kontiem.
Å Ä« grÄmata nav lÄ«dzÄ«ga nevienam vadÄ«bas vai vadÄ«bas manuskriptam. Maikls Lops neko neslÄpj, tikai stÄsta kÄ ir (varbÅ«t ne visus stÄstus vajadzÄtu publiskot: P). Bet tikai tÄdÄ veidÄ jÅ«s sapratÄ«sit, kÄ izdzÄ«vot ar Å”Ädu priekÅ”nieku, kÄ vadÄ«t dÄ«Ä·us un niÄ·us un kÄ novest "to nolÄdÄto projektu" lÄ«dz laimÄ«gÄm beigÄm!
Izvilkums. InženierzinÄtÅu mentalitÄte
PÄrdomas par: vai jums vajadzÄtu turpinÄt rakstÄ«t kodu?
Rendsa grÄmatÄ par noteikumiem vadÄ«tÄjiem ir ļoti Ä«ss mÅ«sdienu vadÄ«bas "obligÄto lietu" saraksts. Å Ä« saraksta lakonisms izriet no tÄ, ka jÄdziens āmustā ir sava veida absolÅ«ts, un, runÄjot par cilvÄkiem, absolÅ«to jÄdzienu ir ļoti maz. VeiksmÄ«ga vadÄ«bas metode vienam darbiniekam bÅ«s Ä«sta katastrofa citam. Å Ä« doma ir pirmais vienums vadÄ«tÄja āobligÄtoā sarakstÄ:
Esiet elastīgi!
DomÄt, ka jÅ«s jau visu zinÄt, ir ļoti slikta doma. SituÄcijÄ, kad vienÄ«gais nemainÄ«gais fakts ir tas, ka pasaule nepÄrtraukti mainÄs, elastÄ«ba kļūst par vienÄ«go pareizo pozÄ«ciju.
ParadoksÄli, bet otrais saraksta punkts ir pÄrsteidzoÅ”i neelastÄ«gs. TomÄr Å”is punkts ir mans personÄ«gais favorÄ«ts, jo uzskatu, ka tas palÄ«dz radÄ«t pamatu vadÄ«bas izaugsmei. Å ajÄ rindkopÄ teikts:
Beidz rakstīt kodu!
TeorÄtiski, ja vÄlaties bÅ«t vadÄ«tÄjs, jums ir jÄiemÄcÄs uzticÄties tiem, kas strÄdÄ jÅ«su labÄ, un pilnÄ«bÄ jÄnodod kodÄÅ”ana viÅiem. Å o padomu parasti ir grÅ«ti sagremot, Ä«paÅ”i jaunizveidotiem vadÄ«tÄjiem. IespÄjams, viens no iemesliem, kÄpÄc viÅi kļuva par vadÄ«tÄjiem, ir viÅu produktivitÄte attÄ«stÄ«bÄ, un, kad kaut kas noiet greizi, viÅu pirmÄ reakcija ir atgriezties pie prasmÄm, kurÄm viÅi pilnÄ«bÄ uzticas, proti, spÄja rakstÄ«t kodu.
Kad redzu, ka jaunizcelts menedžeris āiegrimstā koda rakstÄ«Å”anÄ, es viÅam saku: āMÄs zinÄm, ka tu vari rakstÄ«t kodu. JautÄjums ir: vai jÅ«s varat vadÄ«t? JÅ«s vairs neesat atbildÄ«gs par sevi viens, jÅ«s esat atbildÄ«gs par visu komandu; un es vÄlos pÄrliecinÄties, ka jÅ«s varat panÄkt, lai jÅ«su komanda pati atrisinÄtu problÄmas, jums paÅ”am nerakstot kodu. Tavs uzdevums ir izdomÄt, kÄ sevi mÄrogot. Es nevÄlos, lai tu bÅ«tu tikai viens, es vÄlos, lai bÅ«tu daudz tÄdu kÄ tu.
Labs padoms, vai ne? MÄrogs. VadÄ«ba. AtbildÄ«ba. TÄdi izplatÄ«ti modes vÄrdi. ŽÄl, ka padoms ir nepareizs.
Nepareizi?
JÄ. Padoms ir nepareizs! Nav pilnÄ«gi nepareizi, bet pietiekami nepareizi, lai man nÄcÄs piezvanÄ«t dažiem bijuÅ”ajiem kolÄÄ£iem un atvainoties: āAtceries to manu iecienÄ«tÄko izteikumu par to, kÄ vajadzÄtu pÄrtraukt rakstÄ«t kodu? Tas ir nepareizi! JÄ... SÄciet programmÄt vÄlreiz. SÄciet ar Python un Ruby. JÄ, es runÄju nopietni! No tÄ ir atkarÄ«ga jÅ«su karjera!ā
Kad es sÄku savu karjeru kÄ programmatÅ«ras izstrÄdÄtÄjs uzÅÄmumÄ Borland, es strÄdÄju Paradox Windows komandÄ, kas bija milzÄ«ga komanda. Tikai bija 13 lietojumprogrammu izstrÄdÄtÄji. Ja pievienojat cilvÄkus no citÄm komandÄm, kas arÄ« pastÄvÄ«gi strÄdÄja pie Ŕī projekta galvenajÄm tehnoloÄ£ijÄm, piemÄram, pamata datu bÄzes dzinÄja un pamata lietojumprogrammu pakalpojumiem, Ŕī produkta izstrÄdÄ tieÅ”i iesaistÄ«ti 50 inženieri.
Neviena cita komanda, kurÄ es nekad neesmu strÄdÄjusi, pat netuvojas Å”im izmÄram. PatiesÄ«bÄ ar katru gadu cilvÄku skaits komandÄ, kurÄ strÄdÄju, pamazÄm samazinÄs. Kas notiek? Vai mÄs, izstrÄdÄtÄji, kļūstam arvien gudrÄki un gudrÄki? NÄ, mÄs tikai dalÄm slodzi.
Ko izstrÄdÄtÄji ir darÄ«juÅ”i pÄdÄjos 20 gadus? Å ajÄ laikÄ mÄs uzrakstÄ«jÄm daudz koda. Kodu jÅ«ra! MÄs uzrakstÄ«jÄm tik daudz koda, ka nolÄmÄm, ka bÅ«tu ieteicams visu vienkÄrÅ”ot un pÄriet uz atvÄrtÄ pirmkoda izmantoÅ”anu.
Par laimi, pateicoties internetam, Å”is process tagad ir kļuvis pÄc iespÄjas vienkÄrÅ”Äks. Ja esat programmatÅ«ras izstrÄdÄtÄjs, varat to pÄrbaudÄ«t tÅ«lÄ«t! MeklÄjiet savu vÄrdu Google vai Github, un jÅ«s redzÄsiet kodu, par kuru jau sen esat aizmirsis, bet kuru var atrast ikviens. BiedÄjoÅ”i, vai ne? Vai nezinÄjÄt, ka kods dzÄ«vo mūžīgi? JÄ, viÅÅ” dzÄ«vo mūžīgi.
Kods dzÄ«vo mūžīgi. Un labs kods ne tikai dzÄ«vo mūžīgi, bet arÄ« aug, jo tie, kas to novÄrtÄ, pastÄvÄ«gi nodroÅ”ina, ka tas paliek svaigs. Å Ä« augstas kvalitÄtes, labi uzturÄtÄ koda kaudze palÄ«dz samazinÄt vidÄjo inženieru komandas lielumu, jo tas ļauj mums koncentrÄties uz esoÅ”o kodu, nevis rakstÄ«t jaunu kodu, un paveikt darbu ar mazÄku cilvÄku skaitu un Ä«sÄkÄ laika posmÄ.
Å is argumentÄcijas virziens izklausÄs nomÄcoÅ”i, taÄu ideja ir tÄda, ka mÄs visi esam tikai integrÄcijas automÄtu kopums, kas izmanto lÄ«mlenti, lai savienotu dažÄdas esoÅ”Äs lietas, lai izveidotu nedaudz atŔķirÄ«gu vienas un tÄs paÅ”as lietas versiju. Tas ir klasisks augstÄkÄ lÄ«meÅa vadÄ«tÄju domÄÅ”anas veids, kam patÄ«k Ärpakalpojumi. āIkviens, kurÅ” zina, kÄ lietot Google un kam ir lÄ«mlente, to var izdarÄ«t! KÄpÄc tad mÄs maksÄjam daudz naudas par savÄm iekÄrtÄm?
MÄs Å”iem menedžmentiem maksÄjam tieÅ”Äm lielu naudu, bet viÅi domÄ tÄdas muļķības. VÄlreiz mans galvenais ir tas, ka uz mÅ«su planÄtas ir daudz izcilu un ļoti strÄdÄ«gu izstrÄdÄtÄju; viÅi ir patiesi izcili un centÄ«gi, lai gan nav pavadÄ«juÅ”i nevienu minÅ«ti, sÄžot akreditÄtÄs augstskolÄs. Ak jÄ, tagad tÄdu kļūst arvien vairÄk!
Es neiesaku jums sÄkt uztraukties par savu vietu tikai tÄpÄc, ka daži izcili biedri to meklÄ. Es iesaku sÄkt par to uztraukties, jo programmatÅ«ras izstrÄdes evolÅ«cija, iespÄjams, virzÄs ÄtrÄk nekÄ jÅ«s. JÅ«s strÄdÄjat desmit gadus, piecus no tiem kÄ vadÄ«tÄjs, un domÄjat: "Es jau zinu, kÄ tiek izstrÄdÄta programmatÅ«ra." JÄ, jÅ«s zinÄt. Äauā¦
Beidz rakstīt kodu, bet...
Ja sekosi manam sÄkotnÄjam ieteikumam un pÄrtrauksi rakstÄ«t kodu, tu arÄ« brÄ«vprÄtÄ«gi pÄrtrauksi piedalÄ«ties radÄ«Å”anas procesÄ. TieÅ”i Ŕī iemesla dÄļ es aktÄ«vi neizmantoju Ärpakalpojumus. AutomÄti nerada, viÅi ražo. Labi izstrÄdÄti procesi ietaupa daudz naudas, taÄu tie mÅ«su pasaulei neko jaunu neienes.
Ja jums ir maza komanda, kas daudz dara par mazu naudu, tad doma pÄrtraukt koda rakstÄ«Å”anu man Ŕķiet slikts karjeras lÄmums. Pat monstru uzÅÄmumos ar saviem nebeidzamajiem noteikumiem, procesiem un politikÄm jums nav tiesÄ«bu aizmirst, kÄ paÅ”iem izstrÄdÄt programmatÅ«ru. Un programmatÅ«ras izstrÄde pastÄvÄ«gi mainÄs. Å obrÄ«d tas mainÄs. Zem kÄjÄm! Å ajÄ paÅ”Ä sekundÄ!
Jums ir iebildumi. Saprast. Klausīsimies.
āRands, es esmu ceÄ¼Ä uz direktora krÄslu! Ja es turpinÄÅ”u rakstÄ«t kodu, neviens neticÄs, ka es varu augt.
Es gribu jums jautÄt: vai kopÅ” jÅ«s sÄdÄjÄt savÄ āEs drÄ«zumÄ bÅ«Å”u izpilddirektors!ā krÄslÄ, vai esat pamanÄ«jis, ka programmatÅ«ras izstrÄdes ainava mainÄs pat jÅ«su uzÅÄmumÄ? Ja jÅ«su atbilde ir jÄ, tad es jums uzdoÅ”u vÄl vienu jautÄjumu: kÄ tieÅ”i tas mainÄs un ko jÅ«s gatavojaties darÄ«t ar Ŕīm izmaiÅÄm? Ja uz manu pirmo jautÄjumu atbildÄjÄt "nÄ", tad jums ir jÄpÄriet uz citu krÄslu, jo (varu derÄt!) programmatÅ«ras izstrÄdes joma mainÄs tieÅ”i Å”ajÄ sekundÄ. KÄ jÅ«s kÄdreiz gatavojaties augt, ja lÄnÄm, bet noteikti aizmirstat, kÄ izstrÄdÄt programmatÅ«ru?
Mans padoms ir neapÅemties savÄ nÄkamajÄ produktÄ ieviest daudzas funkcijas. Jums ir pastÄvÄ«gi jÄveic darbÄ«bas, lai sekotu lÄ«dzi tam, kÄ jÅ«su komanda veido programmatÅ«ru. To varat darÄ«t gan kÄ direktors, gan kÄ viceprezidents. Kaut kas cits?
"Uh, Rands! Bet kÄdam ir jÄbÅ«t tiesnesim! KÄdam ir jÄredz kopaina. Ja es rakstÄ«Å”u kodu, es zaudÄÅ”u perspektÄ«vu."
Jums joprojÄm ir jÄbÅ«t tiesnesim, jums joprojÄm ir jÄpÄrraida lÄmumi, un jums joprojÄm ir jÄapstaigÄ Äka Äetras reizes katru pirmdienas rÄ«tu kopÄ ar kÄdu no saviem inženieriem, lai klausÄ«tos viÅa iknedÄļas "We're all doomed" rÄcienu par 30. minÅ«tes.! Bet papildus tam jums ir jÄsaglabÄ inženierijas domÄÅ”anas veids, un jums nav jÄbÅ«t pilnas slodzes programmÄtÄjam, lai to izdarÄ«tu.
Mani padomi inženierijas mentalitÄtes saglabÄÅ”anai:
- Izmantojiet izstrÄdes vidi. Tas nozÄ«mÄ, ka jums ir jÄzina savas komandas rÄ«ki, tostarp koda veidoÅ”anas sistÄma, versiju kontrole un programmÄÅ”anas valoda. RezultÄtÄ jÅ«s pÄrvaldÄ«sit valodu, ko jÅ«su komanda izmanto, runÄjot par produktu attÄ«stÄ«bu. Tas arÄ« ļaus jums turpinÄt izmantot savu iecienÄ«tÄko teksta redaktoru, kas darbojas nevainojami.
- Jums ir jÄspÄj jebkurÄ laikÄ uz jebkuras virsmas uzzÄ«mÄt detalizÄtu arhitektÅ«ras diagrammu, kas apraksta jÅ«su produktu. Tagad es nedomÄju vienkÄrÅ”oto versiju ar trim ŔūnÄm un divÄm bultiÅÄm. Jums jÄzina detalizÄta produkta shÄma. Pats grÅ«tÄkais. Ne tikai jebkura jauka diagramma, bet diagramma, kuru ir grÅ«ti izskaidrot. Tai ir jÄbÅ«t kartei, kas piemÄrota pilnÄ«gai produkta izpratnei. Tas pastÄvÄ«gi mainÄs, un jums vienmÄr ir jÄzina, kÄpÄc notika noteiktas izmaiÅas.
- PÄrÅemt vienas no funkcijÄm Ä«stenoÅ”anu. Rakstot, es burtiski saraujos, jo Å”ajÄ punktÄ ir daudz slÄptu apdraudÄjumu, taÄu es tieÅ”Äm neesmu pÄrliecinÄts, ka varat izpildÄ«t 1. un 2. punktu, neapÅemoties ieviest vismaz vienu lÄ«dzekli . Pats ievieÅ”ot kÄdu no funkcijÄm, jÅ«s ne tikai aktÄ«vi iesaistÄ«sities izstrÄdes procesÄ, bet arÄ« periodiski varÄsiet pÄrslÄgties no "VadÄ«tÄjs, kas atbild par visu" lomu uz lomu "CilvÄks, kas atbild par vienas ievieÅ”anu". no funkcijÄm." Å Ä« pazemÄ«gÄ un nepiespiestÄ attieksme atgÄdinÄs jums par mazu lÄmumu svarÄ«gumu.
- Es joprojÄm visu laiku trÄ«cu. Å Ä·iet, ka kÄds uz mani jau kliedz: "VadÄ«tÄjs, kurÅ” uzÅÄmÄs funkcijas Ä«stenoÅ”anu?!" (Un es viÅam piekrÄ«tu!) JÄ, jÅ«s joprojÄm esat vadÄ«tÄjs, kas nozÄ«mÄ, ka tai vajadzÄtu bÅ«t nelielai funkcijai, labi? JÄ, jums vÄl ir daudz darÄmÄ. Ja jÅ«s vienkÄrÅ”i nevarat uzÅemties funkcijas ievieÅ”anu, man jums ir daži padomi: izlabojiet dažas kļūdas. Å ajÄ gadÄ«jumÄ jÅ«s neizjutÄ«siet radÄ«Å”anas prieku, bet jums bÅ«s izpratne par to, kÄ produkts tiek radÄ«ts, kas nozÄ«mÄ, ka jÅ«s nekad nepaliksit bez darba.
- Uzrakstiet vienÄ«bu testus. Es to joprojÄm daru ražoÅ”anas cikla beigÄs, kad cilvÄki sÄk palikt traki. Uztveriet to kÄ sava produkta veselÄ«bas kontrolsarakstu. Dariet to bieži.
Atkal iebildumi?
"Rands, ja es uzrakstÄ«Å”u kodu, es sajaucu savu komandu. ViÅi nezinÄs, kas es esmu ā vadÄ«tÄjs vai izstrÄdÄtÄjs.
Labi.
JÄ, es teicu: "Labi!" Man prieks, ka jÅ«s domÄjat, ka varat sajaukt savu komandu, vienkÄrÅ”i peldoties izstrÄdÄtÄju dÄ«Ä·Ä«. Tas ir vienkÄrÅ”i: robežas starp dažÄdÄm lomÄm programmatÅ«ras izstrÄdÄ paÅ”laik ir ļoti neskaidras. UI puiÅ”i dara to, ko kopumÄ var saukt par JavaScript un CSS programmÄÅ”anu. IzstrÄdÄtÄji arvien vairÄk uzzina par lietotÄja pieredzes dizainu. CilvÄki komunicÄ savÄ starpÄ un uzzina par kļūdÄm, par sveÅ”u koda zÄdzÄ«bÄm, kÄ arÄ« par to, ka vadÄ«tÄjam nav nekÄda iemesla nepiedalÄ«ties Å”ajÄ masÄ«vajÄ, globÄlajÄ, savstarpÄjÄs apputeksnÄÅ”anas informÄcijas bakhanÄlijÄ.
TurklÄt, vai vÄlaties bÅ«t daļa no komandas, kas sastÄv no viegli nomainÄmÄm sastÄvdaļÄm? Tas ne tikai padarÄ«s jÅ«su komandu veiklÄku, bet arÄ« dos katram komandas dalÄ«bniekam iespÄju aplÅ«kot produktu un uzÅÄmumu no dažÄdÄm perspektÄ«vÄm. KÄ jÅ«s varat cienÄ«t Frenku, mierÄ«go puisi, kurÅ” ir atbildÄ«gs par bÅ«vÄm, tÄpat kÄ pÄc tam, kad redzat viÅa uzbÅ«ves skriptu vienkÄrÅ”o eleganci?
Es nevÄlos, lai jÅ«su komanda kļūtu apjukusi un haotiska. Gluži pretÄji, es vÄlos, lai jÅ«su komanda sazinÄtos efektÄ«vÄk. Es uzskatu, ka, iesaistoties produkta izveidÄ un strÄdÄjot pie funkcijÄm, jÅ«s bÅ«siet tuvÄk savai komandai. Un vÄl svarÄ«gÄk, jÅ«s bÅ«siet tuvÄk pastÄvÄ«gajÄm izmaiÅÄm programmatÅ«ras izstrÄdes procesÄ savÄ organizÄcijÄ.
NepÄrtrauciet attÄ«stÄ«bu
Mans kolÄÄ£is BorlandÄ reiz man verbÄli uzbruka par to, ka es viÅu saucu par "kodÄtÄju".
āRands, kodÄtÄjs ir neprÄtÄ«ga maŔīna! PÄrtiÄ·is! KodÄtÄjs nedara neko svarÄ«gu, izÅemot rakstÄ«t garlaicÄ«gas bezjÄdzÄ«ga koda rindas. Es neesmu kodÄtÄjs, es esmu programmatÅ«ras izstrÄdÄtÄjs!
ViÅai bija taisnÄ«ba, viÅa bÅ«tu ienÄ«st manu sÄkotnÄjo padomu jaunajiem vadÄ«tÄjiem: "PÄrtrauciet rakstÄ«t kodu!" Ne tÄpÄc, ka es apgalvoju, ka viÅi ir kodÄtÄji, bet vairÄk tÄpÄc, ka es proaktÄ«vi iesaku viÅiem sÄkt ignorÄt vienu no vissvarÄ«gÄkajÄm sava darba daļÄm: programmatÅ«ras izstrÄdi.
TÄpÄc esmu atjauninÄjis savu padomu. Ja vÄlies bÅ«t labs vadÄ«tÄjs, vari beigt rakstÄ«t kodu, bet...
Esi elastÄ«gs. Atcerieties, ko nozÄ«mÄ bÅ«t inženierim, un nepÄrtrauciet izstrÄdÄt programmatÅ«ru.
Par Autors
Maikls Lops ir programmatÅ«ras izstrÄdÄtÄjs veterÄns, kurÅ” joprojÄm nav pametis SilÄ«cija ieleju. PÄdÄjo 20 gadu laikÄ Maikls ir strÄdÄjis dažÄdos inovatÄ«vos uzÅÄmumos, tostarp Apple, Netscape, Symantec, Borland, Palantir, Pinterest, kÄ arÄ« piedalÄ«jies jaunizveidotÄ uzÅÄmumÄ, kas lÄnÄm aizgÄja aizmirstÄ«bÄ.
Ärpus darba Maikls ar pseidonÄ«mu Rands vada populÄru emuÄru par tehnoloÄ£ijÄm un menedžmentu, kurÄ viÅÅ” ar lasÄ«tÄjiem apspriež idejas menedžmenta jomÄ, pauž bažas par pastÄvÄ«gu nepiecieÅ”amÄ«bu turÄt roku uz pulsa un skaidro, ka, neskatoties uz dÄsnu atlÄ«dzÄ«bu par produkta izveidi, jÅ«su panÄkumi ir iespÄjami, tikai pateicoties jÅ«su komandai. Blogs atrodams Å”eit
Maikls ar Ä£imeni dzÄ«vo RedvudÄ, KalifornijÄ. ViÅÅ” vienmÄr atrod laiku, lai brauktu ar kalnu velosipÄdu, spÄlÄtu hokeju un dzertu sarkanvÄ«nu, jo veselÄ«ba ir svarÄ«gÄka par aizÅemtÄ«bu.
Ā» SÄ«kÄku informÄciju par grÄmatu var atrast vietnÄ
Ā»
Ā»
Par Khabrozhiteley 20% atlaide, izmantojot kuponu - CilvÄku vadÄ«Å”ana
ApmaksÄjot grÄmatas papÄ«ra versiju, uz e-pastu tiks nosÅ«tÄ«ta grÄmatas elektroniskÄ versija.
PS: 7% no grÄmatas cenas nonÄks jaunu datorgrÄmatu tulkoÅ”anai, tipogrÄfijai nodoto grÄmatu sarakstam
Avots: www.habr.com