(Бу эссе Oscon 2004 конференциясендәге чыгышка нигезләнгән.)
Берничә ай элек мин яңа китапны тәмамладым, һәм рецензияләрдә «коткы салучы» һәм «бәхәсле» кебек сүзләрне еш күрәм. «үтә акылсыз» дигән сүз турында әйтмим дә инде.
Мин китапны бәхәсле итәргә ниятләмәгән идем. Мин аны нәтиҗәле итәргә тырыштым. Кешеләрнең вакытын алар болай да белгән әйберләрне сөйләп әрәм итәсем килмәде. Иң нәтиҗәлесе — аларга бары тик аермаларны (diffs) бирү. Ләкин, күрәсең, бу котылгысыз рәвештә шомландыргыч китапка китерәдер.
Эдисоннар
Нинди идея иң бәхәсле булуы турында бернинди бәхәс тә юк: байлыктагы тигезсезлек без уйлаган кадәр үк зур проблема булмаска да мөмкин дигән фикер.
Мин китапта байлыктагы тигезсезлек үзе үк яхшы нәрсә дип әйтмәдем. Мин кайбер очракларда бу яхшы нәрсәләрнең билгесе булырга мөмкин дидем. Чәнчеп авырткан баш үзе яхшы нәрсә түгел, ләкин ул яхшы нәрсәнең билгесе булырга мөмкин — мәсәлән, башка бәрелгәннән соң сезнең аңыгызга килүегезнең билгесе.
Байлыктагы тигезсезлек җитештерүчәнлектәге тигезсезлекнең билгесе булырга мөмкин. (Бер кешедән торган җәмгыятьтә алар бер үк нәрсә.) Һәм бу — һичшиксез яхшы нәрсә: әгәр сезнең җәмгыятьтә җитештерүчәнлектә аерма юк икән, бу, мөгаен, һәркем Томас Эдисон булганга түгел. Бу, мөгаен, сездә бернинди дә Томас Эдисоннар булмаганга күрәдер.
Түбән технологияле җәмгыятьтә җитештерүчәнлектә зур аерма күрмисез. Әгәр учак өчен чыбык-чабык җыючы күчмәләр кабиләсен алсак, иң яхшы чыбык җыючы иң начарыннан күпмегә нәтиҗәлерәк булачак? Ике тапкыргамы? Шул ук вакытта кешеләргә санак кебек катлаулы корал бирсәгез, аларның аның ярдәмендә ниләр эшли алуы арасындагы аерма гаять зур була.
Бу яңа фикер түгел. Фред Брукс бу турыда 1974 елда язган иде, ә ул сылтама ясаган тикшеренү 1968 елда басылып чыккан. Ләкин, минемчә, ул программалаштыручылар арасындагы аерманы җитәрлек бәяләп бетермәгән. Ул җитештерүчәнлек турында код юлларында язган: иң яхшы программалаштыручылар бирелгән мәсьәләне ун тапкыр тизрәк чишә ала. Әгәр мәсьәлә алдан бирелмәгән булса ничек? Программалаштыруда, күп кенә башка өлкәләрдәге кебек үк, иң кыены — мәсьәләләрне чишү түгел, ә нинди мәсьәләләрне чишәргә кирәклеген билгеләү. Хыял көчен үлчәве кыен, ләкин гамәлдә нәкъ менә ул код юллары белән үлчәнә торган җитештерүчәнлектән өстен тора.
Җитештерүчәнлек теләсә кайсы өлкәдә үзгәреп тора, ләкин ул шулкадәр зур дәрәҗәдә аерыла торган өлкәләр бик аз. Программалаштыручылар арасындагы аерма шулкадәр зур ки, ул сыйфат аермасына әверелә. Ләкин мин моны программалаштыруга гына хас нәрсә дип уйламыйм. Һәр өлкәдә технология җитештерүчәнлектәге аермаларны арттыра. Минемчә, программалаштыруда бары тик технологик рычагның бик көчле булуы бара. Ләкин һәр өлкәдә рычаг озыная бара, шуңа күрә без күрә торган аерма — вакыт узу белән барган саен күбрәк өлкәләрдә күренәчәк нәрсә. Һәм компанияләрнең, шулай ук илләрнең уңышы аларның моның белән ничек эш итүенә бәйле булачак.
Әгәр технологияләр белән бергә җитештерүчәнлектәге аерма да үсә икән, иң җитештерүчән шәхесләрнең өлеше пропорциональ булмаган рәвештә зур гына түгел, ә вакыт узу белән фактта тагын да үсәчәк. Төркем нәтиҗәсенең 90% өлеше аның әгъзаларының 1% тарафыннан тудырыла торган чиккә җиткәч, әгәр ниндидер нәрсә (викинглар һөҗүмеме, яисә үзәкләштерелгән планлаштырумы) аларның җитештерүчәнлеген уртача дәрәҗәгә төшерсә, сез бик зур югалту кичерәсез.
Әгәр без алардан максималь файда алырга теләсәк, бу аеруча нәтиҗәле кешеләрне аңларга тиешбез. Аларны нәрсә дәртләндерә? Үз эшләрен башкару өчен аларга нәрсә кирәк? Аларны ничек танып белергә? Аларны ничек үзегезгә эшкә җәлеп итәргә? Һәм, әлбәттә, шундый сорау туа: үзең ничек шундыйларның берсе булырга?
Акчадан да мөһимрәк
Мин берничә супер-хакерны беләм, шуңа күрә утырып, аларның уртак якларын уйладым. Аларның төп сыйфаты — аларның программалаштыруны чыннан да яратуы. Гади программалаштыручылар түләүләрне каплар өчен код яза. Бөек хакерлар моны күңел ачу өчен башкарыла торган һәм кешеләр аның өчен акча түләргә әзер булуына үзләре дә сөенә торган эш дип саный.
Бөек программалаштыручыларны кайвакыт акчага битараф диләр. Бу бөтенләй үк дөрес түгел. Аларның чынлап кызыксындырган бердәнбер нәрсәсе кызыклы эш башкару булуы — хак. Ләкин әгәр сез җитәрлек акча эшләсәгез, үзегез теләгән нәрсә өстендә эшли аласыз, һәм шул сәбәпле хакерларны бик зур күләмдә акча эшләү идеясе җәлеп итә. Ләкин алар һәр көнне эшкә барырга тиеш булган вакытта, аларга күпме түләүләренә караганда, анда нәрсә белән шөгыльләнүләре мөһимрәк.
Икътисадый яктан бу бик зур әһәмияткә ия факт, чөнки бу бөек хакерларга аларның чын кадеренә тиң акча түләргә кирәк түгеллеген аңлата. Бөек программалаштыручы гадиеннән ун яки йөз тапкыр нәтиҗәлерәк булырга мөмкин, ләкин ул үзенә өч тапкыр күбрәк түләнгәндә дә бәхетле санаячак. Соңрак аңлатырмынча, бу өлешчә бөек хакерларның үзләренең никадәр яхшы булуын белмәүләреннән килә. Ләкин бу шулай ук акча алар теләгән иң төп нәрсә булмаганлыктан да килеп чыга.
Хакерлар нәрсә тели? Барлык осталар кебек үк, хакерлар яхшы коралларны ярата. Дөресен генә әйткәндә, бу хәтта йомшартып әйтү булыр иде. Яхшы хакерлар өчен начар кораллар куллану чыдамсыз нәрсә. Алар дөрес булмаган инфраструктуралы проектларда эшләүдән гади генә баш тартачак.
Мин эшләгән бер стартапта игъланнар тактасына эленгән кәгазьләрнең берсе IBM белдерүе иде. Анда AS400 рәсеме бар иде, һәм баш исеме, минемчә, «хакерлар моны нәфрәт итә» дип укыла иде. [1]
Проект өчен нинди инфраструктура куллануны хәл иткәндә, сез бары тик техник карар гына кабул итмисез. Сез шулай ук социаль карар да кабул итәсез, һәм бу икесе арасыннан мөһимрәге булырга мөмкин. Мәсәлән, компаниягез ниндидер программа язарга теләсә, аны Java телендә язу акыллы сайлау булып күренергә мөмкин. Ләкин сез тел сайлаганда, сез бер үк вакытта берләшмәне дә сайлыйсыз. Java проектында эшләү өчен сез яллый алачак программалаштыручылар Python телендә язылган проектта эшләргә чакырып була торган кешеләр кебек акыллы булмаячак. Ә хакерларыгызның сыйфаты, мөгаен, сез сайлаган телгә караганда мөһимрәктер. Гәрчә, дөресен генә әйткәндә, яхшы хакерларның Java урынына Python телен сайлавы сезгә бу телләрнең чагыштырма өстенлекләре турында нидер әйтергә тиеш.
Бизнес әһелләре иң популяр телләрне өстен күрә, чөнки алар телләргә стандартлар итеп карый. Алар Betamax кебек стандартка таянып компания белән рискка барырга теләми. Ләкин телләрнең бер үзенчәлеге бар: алар бары тик стандартлар гына түгел. Әгәр сезгә челтәр аша битлар күчерергә кирәк икән, һичшиксез TCP/IP кулланыгыз. Ләкин программалаштыру теле — гади генә формат түгел. Программалаштыру теле — ул фикер белдерү чарасы.
Мин Java теленең иң популяр тел буларак Cobol телен яңа гына узып китүе турында укыдым. Стандарт буларак, моннан да яхшырагын теләп булмый. Ләкин фикер белдерү чарасы буларак, күпкә яхшырагын табарга булыр иде. Хәтеремә килгән бөек программалаштыручылар арасыннан үз теләге белән Java телендә программа язачак бер генә кешене беләм. Ә Sun компаниясендә Java өстендә эшләмәүче бөек программалаштыручылар арасында берәүне дә белмим.
Бөек хакерлар шулай ук гадәттә ачык кодлы программа тәэминатын куллануны таләп итә. Бу аның яхшырак булуы аркасында гына түгел, ә ул аларга күбрәк контроль биргән өчен. Яхшы хакерлар контрольне таләп итә. Бу — аларны яхшы хакер итүче сәбәпләрнең берсе: берәр нәрсә ватылса, алар аны төзәтергә тиеш. Сез аларның сезнең өчен яза торган программага карата нәкъ менә шундый хис кичерүен телисез бит. Аларның операцион системага да шундый ук мөнәсәбәттә булуына гаҗәпләнергә ярамый.
Берничә ел элек минем венчур инвесторы дустым үзе катнашкан яңа стартап турында сөйләде. Ул өметле күренә иде. Ләкин аның белән киләсе тапкыр сөйләшкәндә, ул үзләренең программасын Windows NT нигезендә төзергә карар кылганнарын һәм баш техник директор итеп бик тәҗрибәле NT эшләүчесен яллаганнарын әйтте. Моны ишеткәч, мин: «бу егетләр һәлакәткә дучар булды», — дип уйладым. Беренчедән, техник директор беренче класслы хакер була алмый иде, чөнки күренекле NT эшләүчесе булу өчен ул NT-ны үз теләге белән берничә тапкыр кулланырга тиеш иде, ә бөек хакерның моны эшләвен мин күз алдына да китерә алмыйм; икенчедән, ул яхшы булган очракта да, әгәр проект NT-да төзелергә тиеш булса, аның астында эшләү өчен берәр яхшы кешене яллау гаять кыен булачак иде. [2]
Соңгы чик
Программа тәэминатыннан кала, хакер өчен иң мөһим корал — мөгаен, аның офисыдыр. Зур компанияләр офис урынының функциясе дәрәҗәне күрсәтү дип уйлый. Ләкин хакерлар офисларын моннан да зуррак нәрсә өчен куллана: алар офисны фикерләү урыны буларак куллана. Әгәр сез технология компаниясе икәнсез, аларның фикерләре — сезнең продуктыгыз. Шуңа күрә хакерларны шау-шулы, игътибарны читкә юнәлтә торган мохиттә эшләргә мәҗбүр итү — һавасы корым белән тулган буяу фабрикасына ия булу кебек.
«Dilbert» комиксында кубикллар (бүлгечле өстәлләр) турында күп әйтелә, һәм моның җитди сәбәпләре бар. Мин белгән барлык хакерлар аларны нәфрәт итә. Хәтта бүлендерү ихтималы гына да хакерларның катлаулы мәсьәләләр өстендә эшләвенә комачаулау өчен җитә. Әгәр кубикллары булган офиста чын эш башкарырга теләсәгез, сезнең ике юлыгыз бар: өйдә эшләү, яисә беркем дә булмаганда иртән иртүк, соң яки ял көннәрендә килү. Компанияләр моның берәр нәрсәнең бозык булуы билгесе икәнен аңламыймы әллә? Офис мохите сезгә эшләргә ярдәм итәргә тиеш, сез аңа карамастан эшләргә тиеш түгелсез.
Cisco кебек компанияләр һәркемнең, хәтта генераль директорның да кубиклы булуы белән горурлана. Ләкин алар үзләре уйлаган кадәр үк алга китмәгән; күрәсең, алар офис мәйданына һаман да дәрәҗә билгесе итеп карыйлар. Шуны да истә тотыгыз: Cisco үз эчендә продуктларны бик аз эшкәртүе белән билгеле. Алар яңа технологияләрне аларны тудырган стартапларны сатып алып алалар — ә анда, мөгаен, хакерларның эшләү өчен тыныч урыны булгандыр.
Хакерларга нәрсә кирәклеген аңлаган бер зур компания — ул Microsoft. Бервакыт мин Microsoft-ның эшкә чакыру белдерүен күрдем, анда зур ишек рәсеме бар иде. Мәгънәсе шул иде: безгә эшләргә килегез, һәм без сезгә чыннан да эш башкара алырлык урын бирербез. Һәм беләсезме, Microsoft зур компанияләр арасында гаҗәеп бер үзенчәлеккә ия: алар үз эчләрендә программа тәэминатын үстерә ала. Бәлки бик яхшы булмаса да, җитәрлек дәрәҗәдә яхшы.
Әгәр компанияләр хакерларның нәтиҗәле булуын теләсә, аларның өйдә нәрсә эшләгәненә карарга тиеш. Өйдә хакерлар мөмкин кадәр күбрәк эш башкару өчен барысын да үзләре оештыра ала. Һәм алар өйдә эшләгәндә, хакерлар шау-шулы, ачык киңлекләрдә эшләми; алар ишекләре ябыла торган бүлмәләрдә эшли. Алар гектарлаган парковкалар уртасындагы пыяла тартмаларда түгел, ә якында кешеләр булган һәм берәр нәрсәне төпле итеп уйланырга кирәк булганда йөреп керерлек урыны булган уңайлы, җыйнак тирәлектә эшлиләр. Эшләгән кыяфәт чыгарып үз өстәлләре янында һушсыз утырганчы, үзләрен арыган итеп хис иткәндә черем итеп алыр өчен аларның диваны бар. Анда хакерлык өчен иң кулай кичке сәгатьләрдә тузан суыргычлары белән шаулап йөрүче җыештыручылар юк. Анда бернинди җыелышлар яки, Ходай сакласын, корпоратив чыгулар һәм тимбилдинг күнегүләре юк. Һәм аларның санакта нәрсә эшләгәненә карасагыз, бу минем кораллар турында алдарак әйткәннәремне раслый. Эштә аларга Java һәм Windows кулланырга туры килергә мөмкин, ләкин өйдә, үзләре сайлый алган җирдә, аларның Perl һәм Linux кулланганын күрү ихтималы күбрәк.
Дөресен генә әйткәндә, Cobol яки Java-ның иң популяр тел булуы турындагы бу статистика ялгыштырырга мөмкин. Нинди кораллар иң яхшысы икәнен белергә теләсәк, без хакерлар ирекле сайлый алганда — ягъни үзләренең шәхси проектларында — нәрсәне сайлаганына карарга тиешбез. Бу сорауны биргәч, сез ачык кодлы операцион системаларның инде өстенлекле базар өлешенә ия булуын һәм беренче номерлы телнең, мөгаен, Perl булуын табарсыз.
Кызыклы
Яхшы кораллар белән беррәттән, хакерлар кызыклы проектлар тели. Проектны нәрсә кызыклы итә? Әлбәттә, яшерен самолетлар яки махсус эффектлар ясау кебек күренеп торган кызыктыргыч кушымталар өстендә эшләү күңелле булыр иде. Ләкин яңа техник кыенлыклар тудыра икән, теләсә нинди кушымта кызыклы була ала. Шуңа күрә хакерларга нинди проблемалар ошаячагын алдан әйтү кыен, чөнки кайберләре алар өстендә эшләүче кешеләр яңа төр чишелеш тапкач кына кызыклыга әверелә. ITA-га кадәр (алар Orbitz эчендәге программаны язган), авиабилетларны эзләү өстендә эшләүче кешеләр, мөгаен, моны күз алдына китерә алырлык иң кызыксыз кушымталарның берсе дип санагандыр. Ләкин ITA мәсьәләгә тагын да амбициялерәк карап, аны яңадан билгеләде һәм кызыклы итте.
Минемчә, нәкъ шул ук нәрсә Google-да да булды. Google оешканда, порталлар дип аталганнар арасында эзләү кызыксыз һәм мөһим түгел дигән гадәти фикер яши иде. Ләкин Google егетләре эзләүне кызыксыз дип санамады, һәм нәкъ менә шуңа күрә алар моны шулкадәр яхшы башкара.
Бу — җитәкчеләр үзгәреш кертә ала торган өлкә. Баласына «ун минут эчендә бөтен бүлмәңне җыештырып бетерә алмыйсыңдыр шул» дип әйтүче ата-ана кебек, яхшы җитәкче кайвакыт проблеманы кызыклырак итеп яңадан билгели ала. Стив Джобс бу яктан аеруча оста булган кебек, моңа өлешчә гади генә югары стандартларга ия булу аркасында иреште. Mac-ка кадәр күп кенә кечкенә, кыйммәт булмаган санаклар бар иде. Ул мәсьәләне болай билгеләде: матур булганын ясагыз. Һәм бу, мөгаен, эшләүчеләрне теләсә нинди «кишер яки чыбык»ка караганда ныграк тырышырга мәҗбүр иткәндер.
Алар чыннан да бурычны җиренә җиткереп үтәделәр. Mac беренче тапкыр чыккач, аның яхшы буласын белү өчен аны кабызырга да кирәк түгел иде; моны корпусыннан ук аңлап була иде. Берничә атна элек мин Кембриджда урам буйлап бара идем, һәм кемнеңдер чүплегендә Mac йөртү сумкасына охшаган нәрсәне күрдем. Эченә карасам — анда Mac SE ята. Мин аны өйгә алып кайттым, челтәргә тоташтырдым һәм ул кабынды. Бәхетле Macintosh йөзе, аннары finder. Ходаем, бу шулкадәр гади иде. Нәкъ ... Google кебек.
Хакерлар югары стандартлары булган кешеләр өчен эшләргә ярата. Ләкин бары тик таләпчән булу гына җитми. Сез дөрес нәрсәләрне таләп итәргә тиешсез. Ә бу гадәттә үзегезгә дә хакер булырга кирәк дигәнне аңлата. Мин программалаштыручылар белән ничек идарә итү турында мәкаләләрне вакыт-вакыт күрәм. Чынлыкта ике мәкалә булырга тиеш: берсе — үзегез программалаштыручы булсагыз нәрсә эшләргә кирәклеге турында, икенчесе — булмасагыз нәрсә эшләргә кирәклеге турында. Һәм икенчесен, мөгаен, ике сүзгә кыскартып булыр иде: кул селтәгез.
Проблема көндәлек идарә итүдә түгел. Чыннан да яхшы хакерлар үзләре белән үзләре диярлек идарә итә. Проблема шунда: әгәр сез үзегез хакер түгел икәнсез, кемнең яхшы хакер булуын аера алмыйсыз. Охшаш проблема Америка машиналарының ни өчен шулкадәр ямьсез булуын аңлата. Мин моны дизайн парадоксы дип атыйм. Сез үз продуктларыгызны проектлау өчен бөек дизайнерны яллап кына аларны матур итә алам дип уйларга мөмкинсез. Ләкин үзегездә яхшы зәвык булмаса, яхшы дизайнерны ничек танып беләчәксез? Билгеләмә буенча сез моны аның портфолиосыннан аңлый алмыйсыз. Һәм сез аның алган бүләкләренә яки эшләгән урыннарына карап хөкем итә алмыйсыз, чөнки дизайнда, күпчелек өлкәләрдәге кебек үк, болар модага һәм таныш-белешлеккә нигезләнә, ә чын сәләт өченче планда кала. Моннан башка юл юк: матур нәрсәләр җитештерүгә юнәлтелгән процесс белән матурның нәрсә икәнен белмичә торып идарә итеп булмый. Америка машиналары ямьсез, чөнки Америка автомобиль компанияләре белән начар зәвыклы кешеләр идарә итә.
Бу илдә күпләр зәвыкка тотрыксыз яки хәтта җитди булмаган бер нәрсә дип карый. Ул алай да, болай да түгел. Дизайнга юнәлеш бирү өчен менеджер компания продуктларының иң таләпчән кулланучысы булырга тиеш. Һәм сездә чыннан да яхшы зәвык булса, Стив Джобс кебек, үзегезнең таләпләрегезне канәгатьләндерүне яхшы кешеләр эшләргә ярата торган мәсьәләгә әйләндерә аласыз.
Вак, ямьсез проблемалар
Нинди төр проблемаларның кызыксыз булуын әйтү бик җиңел: берничә зур, ачык проблеманы чишү урынына бик күп вак, ямьсез мәсьәләләрне чишәргә туры килгәннәре. Иң начар проектларның берсе — хаталар белән тулы программага интерфейс язу. Икенчесе — аерым бер клиентның катлаулы һәм начар билгеләнгән ихтыяҗлары өчен нәрсәнедер җайлаштырырга туры килгәндә. Хакерлар өчен мондый проектлар — «мең тапкыр кисеп үтерү» кебек.
Вак, ямьсез проблемаларның үзенчәлеге шунда: сез алардан бернәрсәгә дә өйрәнмисез. Компилятор язу кызыклы, чөнки ул сезгә компиляторның нәрсә икәнен өйрәтә. Ләкин хаталы программага интерфейс язу сезне бернәрсәгә дә өйрәтми, чөнки хаталар очраклы. [3] Шуңа күрә яхшы хакерларны вак, ямьсез проблемалардан биздерүче нәрсә — гади генә бәйләнчеклек түгел. Бу күбрәк үз-үзеңне саклап калу мәсьәләсе. Вак, ямьсез проблемалар өстендә эшләү сезне тупасландыра. Яхшы хакерлар алардан модельләрнең чизбургерлардан качканы кебек үк качалар.
Әлбәттә, кайбер проблемаларның табигате шундый. Һәм ихтыяҗ белән тәкъдим аркасында, аларга аеруча яхшы түлиләр. Шуңа күрә бөек хакерларны күңелсез проблемалар өстендә эшләтү юлын тапкан компания бик уңышлы булыр иде. Моны ничек эшләргә?
Моның тормышка ашу урыннарының берсе — стартаплар. Безнең стартапта Роберт Моррис система администраторы булып эшләде. Бу — бар-мицва бәйрәмендә Rolling Stones чыгыш ясавы кебек бер хәл. Сез андый сәләтле кешене яллый алмыйсыз. Ләкин кешеләр үзләре нигез салучы булган компанияләр өчен теләсә нинди күләмдәге кара эшне башкарачак. [4]
Зуррак компанияләр проблеманы компанияне бүлекләргә аерып чишә. Алар үзләрендә эшләү өчен акыллы кешеләрне аерым R&D бүлеге оештырып җәлеп итә, анда хезмәткәрләргә турыдан-туры клиентларның вак, ямьсез проблемалары белән шөгыльләнергә туры килми. [5] Бу модельдә тикшеренүләр бүлеге шахта кебек эшли. Алар яңа идеяләр чыгара; бәлки, компаниянең калган өлеше аларны куллана алыр.
Сезгә мондый чиккә үк барырга кирәкмәскә дә мөмкин. Түбәннән өскә программалаштыру компанияне бүлүнең тагын бер ысулын тәкъдим итә: акыллы кешеләрне корал җитештерүчеләр сыйфатында эшләтегез. Әгәр компаниягез ниндидер x эшен башкару өчен программа тәэминаты җитештерә икән, бер төркем шул төр программа язу өчен кораллар булдырсын, ә икенче төркем шул коралларны кушымталар язу өчен куллансын. Шул рәвешле сез акыллы кешеләрне кодыгызның 99% өлешен язарга җәлеп итә аласыз, ләкин шул ук вакытта аларны традицион тикшеренү бүлегендәге кебек кулланучылардан читтә тота аласыз. Корал ясаучыларның үз кулланучылары булыр, ләкин алар компаниянең үз эшләүчеләре генә булыр иде. [6]
Әгәр Microsoft бу алымны кулланса, аларның программа тәэминаты куркынычсызлык тишекләре белән шулкадәр тулы булмас иде, чөнки гамәли кушымталарны язучы акыл ягыннан кайтышрак кешеләр хәтер бүлеп бирү кебек түбән дәрәҗәдәге эшләр белән шөгыльләнмәс иде. Word-ны турыдан-туры C телендә язу урынына, алар Word-теле дигән зур Lego блокларын бер-берсенә ялгап кына утырырлар иде. (Техник атамасы Duplo булырга тиеш, минемчә.)
Туплану
Кызыклы мәсьәләләр белән беррәттән, яхшы хакерлар башка яхшы хакерларны да ярата. Бөек хакерлар бергә тупланырга омтыла — кайвакыт Xerox Parc-тагы кебек искиткеч дәрәҗәдә. Шуңа күрә сез алар өчен нинди яхшы мохит тудыруыгызга карап, яхшы хакерларны туры пропорциональ рәвештә генә җәлеп итә алмаячаксыз. Туплану тенденциясе бу нисбәтнең мохит сыйфатының квадратына якынрак булуын аңлата. Димәк, монда «җиңүче бөтен нәрсәне ала». Теләсә кайсы вакытта хакерлар иң эшләргә теләгән ун-егермеләп кенә урын бар, һәм әгәр сез шуларның берсе булмасагыз, сездә бөек хакерлар азрак кына булмаячак, сездә алар бөтенләй булмаячак.
Бөек хакерларга ия булу үзеннән-үзе генә компанияне уңышлы итү өчен җитми. Бу бүгенге көндә иң кызу нокталар булган Google һәм ITA өчен яхшы эшли, ләкин бу Thinking Machines яки Xerox-ка ярдәм итмәде. Sun берникадәр вакыт яхшы барды, ләкин аларның бизнес-моделе — аска төшүче лифт. Мондый шартларда хәтта иң яхшы хакерлар да сезне коткара алмый.
Ләкин мин уйлыймча, башка шартлар тигез булганда, бөек хакерларны үзенә җәлеп итә алган компания зур өстенлеккә ия булачак. Моның белән килешмәүче кешеләр дә бар. 1990-нчы елларда без венчур фондларын йөреп чыкканда, берничәсе безгә программа тәэминаты компанияләре яхшы программа язу аркасында түгел, ә бренд, сату каналларында өстенлек итү һәм дөрес килешүләр төзү аркасында җиңә дип әйтте.
Алар чыннан да моңа ышана кебек иде, һәм мин моның сәбәбен беләм дип уйлыйм. Күп кенә венчур инвесторлары, ким дигәндә аңсыз рәвештә, чираттагы Microsoft-ны эзлиләр. Һәм, әлбәттә, әгәр сезнең моделегез Microsoft икән, бөек программа тәэминаты язу аша җиңәргә өметләнгән компанияләрне эзләргә тиеш түгелсез. Ләкин венчур инвесторларының чираттагы Microsoft-ны эзләве — ялгыш, чөнки кирәкле мизгелдә чираттагы IBM булырга әзер икенче бер компания табылмаса, бер генә стартап та чираттагы Microsoft була алмый.
Microsoft-ны үрнәк итеп алу — хата, чөнки аларның бөтен мәдәнияте шул бердәнбер уңышлы очрактан башланып киткән. Microsoft — начар мәгълүмат ноктасы. Әгәр аларны исәптән чыгарсагыз, яхшы продуктларның базарда җиңәргә омтылуын күрерсез. Венчур инвесторлары чираттагы Apple-ны яки чираттагы Google-ны эзләргә тиеш.
Минемчә, Билл Гейтс моны белә. Аны Google-да борчыган нәрсә — аларның брендының көче түгел, ә аларда яхшырак хакерларның булуы. [7]
Тану
Шулай итеп, бөек хакерлар кемнәр алар? Берәрсен очраткач, моны ничек белергә? Бу бик кыен булып чыга. Хәтта хакерлар үзләре дә моны аера алмый. Хәзер мин дустым Тревор Блэквеллның бөек хакер булуына тулысынча ышанам. Сез Slashdot-та аның үзенең Segway-ен ничек ясаганын укыгансыздыр, бәлки. Бу проектның искиткеч ягы шул иде: ул бөтен программа тәэминатын бер көн эчендә язды (сүз уңаеннан, Python телендә).
Тревор өчен бу гадәти хәл. Ләкин мин аны беренче тапкыр очраткач, мин аны чын юләр дип уйладым. Ул Роберт Моррисның офисында торып, аңа нәрсәдер турында буш сүз сөйләп тора иде, һәм мин аның артында торып, без төшке ашка чыга алсын өчен Робертка бу тилене офис өлкәсеннән куып чыгарырга кушып котырынып ишарәләр ясаганымны хәтерлим. Роберт әйтүенчә, ул да башта Треворны дөрес бәяләмәгән. Күрәсең, Роберт аны беренче тапкыр күргәндә, Тревор үз тормышының һәр ягы турында барысын да карточкаларга язып бару буенча яңа схема башлаган булган һәм аларны һәрвакыт үзе белән йөрткән. Ул шулай ук Канададан яңа гына килгән иде, көчле Канада акценты бар иде һәм «маллет» чәч рәвешен йөртә иде.
Проблема тагын шуның белән катлаулана: хакерлар, җәмгыятькә битараф дигән абруйларына карамастан, кайвакыт акыллы булып күренер өчен шактый көч куялар. Мин аспирантурада укыганда MIT ясалма интеллект лабораториясендә вакыт-вакыт булырга ярата идем. Башта бу куркыныч кебек тоела иде. Анда һәркем бик тиз сөйләшә иде. Ләкин берникадәр вакыттан соң мин тиз сөйләшүнең серен белдем. Сезгә тизрәк уйларга кирәкми; бары тик барысын да әйтү өчен ике тапкыр күбрәк сүз кулланырга кирәк.
Сигналдагы шушы кадәр тавыш аркасында, очратканда яхшы хакерларны танып белүе кыен. Мин хәтта хәзер дә аера алмыйм. Сез шулай ук аларны резюмеларыннан да аера алмыйсыз. Хакер турында фикер йөртүнең бердәнбер ысулы — аның белән берәр нәрсә өстендә бергә эшләү кебек тоела.
Һәм югары технологияле өлкәләрнең бары тик университетлар тирәсендә генә барлыкка килүенең сәбәбе дә нәкъ менә шунда. Монда төп актив компонент — профессорлар түгел, ә күбрәк студентлар. Стартаплар университетлар тирәсендә үсә, чөнки университетлар өметле яшьләрне берләштерә һәм аларны бер үк проектлар өстендә эшләтә. Акыллылар башка акыллыларның кем булуын белә, һәм алар бергәләп үзләренең яңа проектларын уйлап табалар.
Бөек хакерны аның белән эшләмичә торып танып булмаганлыктан, хакерлар үзләре дә үзләренең никадәр яхшы булуын белә алмый. Бу күпчелек өлкәләрдә билгеле бер дәрәҗәдә дөрес. Ниндидер өлкәдә бөек булган кешеләр үзләренең бөеклегенә шулкадәр үк ышанып бетмиләр, ә нигә башкаларның барысы да шулкадәр сәләтсез күренүенә аптырыйлар дип таптым мин.
Ләкин хакерлар өчен үзләренең никадәр яхшы булуын белү аеруча кыен, чөнки аларның эшләрен чагыштыру авыр. Күпчелек башка өлкәләрдә бу җиңелрәк. Йөз метрлык дистанциядә сез кемнең тизрәк икәнен 10 секунд эчендә беләсез. Хәтта математикада да нинди мәсьәләләрне чишү кыен булуы һәм нәрсә яхшы чишелеш тәшкил итүе турында уртак фикер бар кебек. Ләкин хакерлык язучылыкка охшаган. Ике романның кайсысы яхшырак икәнен кем әйтә ала? Һичшиксез авторлар түгел.
Хакерлар очрагында, ким дигәндә, башка хакерлар аера ала. Чөнки роман язучылардан аермалы буларак, хакерлар проектларда хезмәттәшлек итәләр. Берәүгә челтәр аша берничә авыр туп (проблема) ыргыткач, аларның тупны никадәр көчле кире кайтаруын бик тиз беләсез. Ләкин хакерлар үзләренең эшләрен читтән күзәтә алмый. Шуңа күрә бөек хакердан аның никадәр яхшы булуын сорасагыз, ул «мин белмим» дип җавап бирер диярлек. Ул тыйнак кыланып кына тормый. Ул чыннан да белми.
Һәм үзебез бергә эшләгән кешеләрдән кала, берберебез дә берни белмибез. Бу безне сәер бер халәткә куя: геройларыбыз кем булырга тиешлеген без белмибез. Танылган хакерлар гадәттә PR'ның очраклы нәтиҗәләре аркасында гына таныла. Кайвакыт миңа бөек хакерга мисал китерергә кирәк була, һәм мин кемне кулланырга белми тилмерәм. Башка беренче булып килә торган исемнәр гел шәхсән үзем белгән кешеләр була, әмма аларны куллану уңайсыз кебек тоела. Шуңа күрә мин, бәлки Ричард Столлман, яисә Линус Торвальдс, яисә Алан Кей яки шуның кебек берәр танылган шәхесне атарга кирәктер, дип уйлыйм. Ләкин мин бу егетләрнең бөек хакерлар булу-булмавын бөтенләй белмим. Мин алар белән беркайчан бергә бернәрсә өстендә дә эшләмәдем.
Хакерлыкның үз Майкл Джорданы булса да, аны беркем белми, шул исәптән аның үзе дә.
Үстерү
Ниһаять, хакерларның барысын да кызыксындырган сорау: ничек бөек хакер булырга? Үзеңне шундый итеп ясап буламы-юкмы икәнен мин белмим. Әмма үзеңне юләрләндерә торган нәрсәләрне эшләп булуы шөбһәсез, әгәр үзеңне акылсыз ясый аласың икән, мөгаен, акыллы да ясый аласыңдыр.
Яхшы хакер булуның ачкычы үзең яраткан нәрсә өстендә эшләүдә булырга мөмкин. Мин үзем белгән бөек хакерлар турында уйлаганда, аларның барысына да хас булган бер уртак сыйфат — аларны үзләре теләмәгән берәр нәрсә өстендә эшләргә мәҗбүр итүнең гаять кыен булуы. Бу сәбәпме әллә нәтиҗәме — белмим; бәлки икесе дәдер.
Берәр нәрсәне яхшы эшләү өчен аны яратырга кирәк. Шуңа күрә хакерлыкны үзең яраткан шөгыль буларак ни дәрәҗәдә саклый алсаң, аны шул дәрәҗәдә яхшы башкарырсың. 14 яшеңдә программалаштыруга карата булган шул соклану хисен сакларга тырыш. Әгәр хәзерге эшең синең миеңне черетә дип борчылсаң, мөгаен, ул нәкъ шулайдыр да.
Иң яхшы хакерлар, әлбәттә, акыллы булучан, әмма бу күп кенә өлкәләр өчен хас. Хакерларга гына хас ниндидер аерым бер сыйфат бармы? Мин кайбер дусларыма сорау бирдем, һәм аларның беренче булып әйткән сыйфаты — кызыксынучанлык булды. Мин барлык акыллы кешеләр кызыксынучан, кызыксынучанлык — бары тик белемнең беренче чыгарылмасы гына дип уйлый идем. Әмма, күрәсең, хакерлар аеруча кызыксынучан, бигрәк тә әйберләрнең ничек эшләвенә карата. Бу бик логик, чөнки программалар асылда әйберләрнең ничек эшләвенең гигант тасвирламасы булып тора.
Берничә дустым хакерларның игътибарны туплый алу сәләтен — берсенең әйтүенчә, "үз башларыннан читтә булган бар нәрсәне сүндерә алу'' сәләтен искә алды. Мин дә моны һичшиксез сиздем. Һәм берничә хакерның ярты бокал сыра эчкәннән соң да бөтенләй программалаштыра алмаулары турында әйткәнен ишеткәнем бар. Димәк, бәлки, хакерлык өчен игътибарны туплауның ниндидер махсус сәләте таләп ителәдер. Бәлки, бөек хакерлар башларына зур күләмдәге контекстны йөкли алалардыр, шуңа күрә кодның бер сызыгына караганда, алар шул сызыкны гына түгел, ә аның тирәсендәге бөтен программаны күрәләрдер. Джон Макфи язганча, Билл Брэдлиның баскетболчы буларак уңышы өлешчә аның гаҗәеп периферик күрү сәләтенә бәйле булган. "Камил'' күрү вертикаль периферик күрүнең якынча 47 градусын тәшкил итә. Билл Брэдлида ул 70 иде; ул идәнгә карап торганда да кәрзинне күрә алган. Бәлки, бөек хакерларның да шуңа охшаш тумыштан килгән сәләте бардыр. (Мин исә мәйданчыкны тарайта торган бик тыгыз тел кулланып хәйләлим.)
Бу кубикллар (бүлмәчекләр) тирәсендәге аңлашмаучанлыкны аңлата ала. Бәлки, биналар хуҗалыгы өчен җаваплы кешеләр, үзләрендә таркатырлык бернинди игътибар тупланышы булмаганга күрә, кубиклда эшләү хакер өчен миен блендерга тыгу кебек тоелуын күз алдына да китерә алмыйлардыр. (Ә менә Билл, әгәр аутизм турындагы гайбәтләр дөрес булса, моны бик яхшы аңлый.)
Бөек хакерлар белән гади акыллы кешеләр арасында мин күргән бер аерма шунда: хакерлар күбрәк дәрәҗәдә сәяси ят (политически некорректный). Яхшы хакерлар арасында ниндидер серле кул кысышу бар икән, бу — киң җәмәгатьчелек аларны ташлар белән бәреп үтерерлек фикерләрне бер-берсенә куркусыз әйтерлек дәрәҗәдә бер-берсен яхшы белгән очракта гына була. Һәм сәяси яктан яраклашмауның программалаштыруда ни өчен файдалы сыйфат булуын мин аңлыйм. Программалар бик катлаулы һәм, кимендә яхшы программистлар кулында, бик сыгылмалы. Мондый шартларда гомуми фаразларны шик астына алу гадәтенә ия булу бик файдалы.
Бу сыйфатларны үзеңдә тәрбияләп буламы? Белмим. Ләкин сез аларны кимендә бастырмыйча саклый аласыз. Менә сезгә минем кулымнан килгән иң яхшы рецепт. Әгәр бөек хакер булып җитешеп була икән, моның юлы үзең белән түбәндәге килешү төзүдә булырга мөмкин: син беркайчан да күңелсез проектлар өстендә эшләргә тиеш түгелсең (гаиләң ачтан үлмәсен өчен кирәк булган очраклардан тыш), ә моның алмашлыгына син беркайчан да үзеңә эшне җиңел-җилпе, сыйфатсыз башкарырга рөхсәт итмәячәксең. Мин белгән бөек хакерларның барысы да бу килешүне төзегән кебек тоела, гәрчә, бәлки, аларның берсендә дә бу мәсьәләдә сайлау мөмкинлеге булмагандыр.
Искәрмәләр
[1] Гаделлек хакына әйтергә кирәк, IBM яхшы җиһазлар (hardware) җитештерә. Мин моны IBM ноутбугында яздым.
[2] Аларның чыннан да һәлакәткә йөз тотканлыгы ачыкланды. Берничә айдан соң алар ябылды.
[3] Кешеләр "тормыш мәгънәсе" турында сөйләгәндә нәкъ менә шуны күз уңында тоталар, дип уйлыйм. Тышкы яктан караганда, бу сәер фикер кебек тоела. Тормыш — ул бернинди тәгъбир түгел; аның ничек мәгънәсе булсын? Ләкин аның мәгънәгә бик нык охшаган бер сыйфаты булырга мөмкин. Компилятор кебек проектта сезгә бик күп проблемаларны чисәргә туры килә, әмма бу проблемаларның барысы да, сигналдагы кебек, бер тәртипкә, калыпка туры килә. Ә чисәргә кирәк булган проблемалар очраклы булганда, алар шау-шу (noise) кебек кабул ителә.
[4] Эйнштейн үз вакытында суыткычлар проектлау өстендә эшләгән. (Аның компаниядә үз өлеше булган.)
[5] Компьютер дөньясында нәрсәнең фәнни тикшеренү булып торуын төгәл әйтүе кыен, әмма беренче якынлашуда бу — кулланучылары булмаган программа тәэминаты.
Иң яхшы хакерларны фәнни-тикшеренү бүлекләрендә эшләргә теләткән нәрсә мәкалә бастыру мөмкинлеге дип уйламыйм. Минемчә, төп сәбәп — Word 13.27-нең кореяча версиясен сөйләшүче скрепка белән интеграцияләү проблемалары турында продукт-менеджер белән өч сәгатьлек җыелышта утырмау мөмкинлеге.
[6] Төзелеш тармагында да бик озак вакыт охшаш нәрсә бара. Бер-ике йөз ел элек сез йорт салдырганда, җирле төзүчеләр андагы бөтен нәрсәне үзләре ясаган. Әмма хәзерге вакытта төзүчеләр күбрәк башкалар проектлаган һәм җитештергән компонентларны җыю белән шөгыльләнә. Бу, өстәл нәшрият системаларының барлыкка килүе кебек үк, кешеләргә һәлакәтле юллар белән экспериментлар ясау иреге бирде, ләкин бу һичшиксез нәтиҗәлерәк.
[7] Google Microsoft өчен Netscape'ка караганда күпкә куркынычрак. Мөгаен, башка беркайчан да булмаган теләсә кайсы компаниядән дә куркынычрактыр. Барыннан да элек, алар көрәшергә тәвәккәл булганга күрә. Үзләренең вакансияләр битендә алар үзләренең "төп кыйммәтләренең'' берсе сыйфатында "Явыз булмаска'' (Don't be evil) дип белдерәләр. Соя мае яки тау-кен җиһазлары сатучы компаниядән мондый белдерү бары тик сәерлек кенә булып тоелыр иде. Ләкин компьютер дөньясындагы һәрберебез бу сугышның кемгә каршы игълан ителүен яхшы аңлый, дип уйлыйм.
Бу лекциянең башлангыч версияләрен укып чыкканнары өчен Джессика Ливингстонга, Роберт Морриска һәм Сара Харлинга рәхмәт белдерәм.