По­че­му я до сих пор про­грам­ми­рую

Не­дав­но Дэни­ел Ли­майр (про­фес­сор Уни­вер­си­те­та Кве­бе­ка в Мон­ре­а­ле) раз­ме­стил в сво­ём бло­ге за­ме­ча­тель­ную ста­тью «Why I still program». Пуб­ли­кую с со­гла­сия ав­то­ра пе­ре­вод ста­тьи на рус­ский язык.

Лю­ди ожи­да­ют, что, как толь­ко ты ста­но­вишь­ся стар­ше, ты бро­са­ешь прак­ти­че­ские за­ня­тия, та­кие, как про­грам­ми­ро­ва­ние, ра­ди бо­лее до­стой­ных ве­щей — управ­ле­ния кол­лек­ти­вом и по­ис­ка фи­нан­си­ро­ва­ния. Это осо­бен­но вер­но в на­уч­ной сре­де, где «на­сто­я­щие учё­ные» не вни­ка­ют в де­та­ли, за­ни­ма­ясь лишь «об­щей кар­ти­ной про­ис­хо­дя­ще­го». Дру­ги­ми сло­ва­ми, ор­га­ни­за­ции на­це­ле­ны на вер­ти­каль­ное со­труд­ни­че­ство — иерар­хи­че­скую ст­рук­ту­ру, в ко­то­рой лю­ди на­вер­ху ру­ко­во­дят дру­ги­ми (бо­лее де­шё­вы­ми) ра­бот­ни­ка­ми. В ис­сле­до­ватель­ской сре­де это озна­ча­ет, что стар­шие на­уч­ные со­труд­ни­ки да­ют идеи, а мо­ло­дые со­труд­ни­ки их реа­ли­зо­вы­ва­ют. Со вре­ме­нем стар­шие со­труд­ни­ки мо­гут ра­зу­чить­ся де­лать то, что де­ла­ют мо­ло­дые, но за­то они ста­но­вят­ся спе­циа­ли­ста­ми в об­ла­сти до­бы­ва­ния де­нег. Мас­штаб та­кой мо­де­ли мо­жет рас­ти: стар­ший учё­ный ру­ко­во­дит учё­ны­ми сред­не­го зве­на, а те, в свою оче­редь, мо­ло­ды­ми со­труд­ни­ка­ми, и так да­лее. Джордж Чем на­звал та­кую мо­дель «про­фес­сор­ской пи­ра­ми­дой», так как она ра­бо­та­ет луч­ше все­го, ко­гда фи­нан­си­ро­ва­ние обиль­ное и по­сто­ян­но воз­рас­та­ет:

the Profzi Scheme

Про­ти­во­по­лож­но­стью яв­ля­ет­ся го­ри­зон­таль­ное со­труд­ни­че­ство. В этой мо­де­ли стар­шие учё­ные де­ла­ют всё: от глав­ной идеи до её реа­ли­за­ции. Они пред­по­чи­та­ют из­бе­гать ру­тин­ной ра­бо­ты, ко­гда это воз­мож­но. Со­труд­ни­че­ство ис­поль­зу­ет­ся, в ос­нов­ном, для по­лу­че­ния дру­гой точ­ки зре­ния и об­ме­на опы­том. Эта мо­дель про­дол­жа­ет ра­бо­тать при не­до­ста­точ­ном фи­нан­си­ро­ва­нии, но не мо­жет мас­шта­би­ро­вать­ся в пла­не ко­ли­че­ства во­вле­чён­ных лю­дей: го­ри­зон­таль­ное со­труд­ни­че­ство обя­за­тель­но лич­ное.

Тип де­я­тель­но­сти, ко­то­рую луч­ше все­го под­дер­жи­ва­ет каж­дая из мо­де­лей, раз­ли­ча­ет­ся. Я счи­таю, что вер­ти­каль­ное со­труд­ни­че­ство под­хо­дит для дол­го­вре­мен­ных пла­нов и пред­ска­зуе­мых ре­зуль­та­тов, в то вре­мя, как го­ри­зон­таль­ное со­труд­ни­че­ство рас­по­ла­га­ет к ин­ту­и­тив­ным дей­стви­ям и «ди­ким» иде­ям.

В под­твер­жде­ние то­го, что я пред­по­чи­таю го­ри­зон­таль­ное со­труд­ни­че­ство, я до сих пор про­грам­ми­рую не­смот­ря на то, что не мо­лод. Это не­обыч­но. На­столь­ко не­обыч­но, что лю­ди удив­лён­но под­ни­ма­ют бро­ви. Ино­гда про­грам­ми­ро­ва­ние тре­бу­ет вре­мя, мно­го вре­ме­ни. Я мо­гу про­ве­сти два или три ме­ся­ца в го­ду, за­ни­ма­ясь про­грам­ми­ро­ва­ни­ем. Пред­по­ла­га­ет­ся, что моё вре­мя слиш­ком до­ро­го для то­го, что­бы тра­тить его на низ­мен­ную ра­бо­ту ти­па про­грам­ми­ро­ва­ния, ко­то­рой мо­гут за­ни­мать­ся лю­ди, за­ра­ба­ты­ваю­щие не­боль­шую часть от то­го, что за­ра­ба­ты­ваю я. Так по­че­му же я до сих пор про­грам­ми­рую?

Воз­мож­но, луч­ше все­го ме­ня оправ­да­ет сам Ма­стер — До­нальд Кнут:

Лю­ди, от­крыв­шие для се­бя мощь и кра­со­ту вы­со­ко­уров­не­вых, аб­стракт­ных идей, очень ча­сто до­пус­ка­ют ошиб­ку, ду­мая, что кон­крет­ные идеи на ниж­них уров­нях от­но­си­тель­но бес­по­лез­ны и по­это­му мо­гут быть за­бы­ты. (…) на­обо­рот, луч­шие учё­ные-ком­пью­тер­щи­ки в со­вер­шен­стве вла­де­ют ос­но­во­по­ла­гаю­щи­ми прин­ци­па­ми ра­бо­ты ком­пью­те­ров, и на са­мом де­ле суть ком­пью­тер­ных на­ук за­клю­ча­ет­ся в спо­соб­но­сти по­ни­мать мно­го уров­ней аб­страк­ции од­но­вре­мен­но.

Но у ме­ня есть и соб­ствен­ные ар­гу­мен­ты:

  • Я хо­чу, что­бы моя ра­бо­та бы­ла важ­на, ока­зы­ва­ла влия­ние. Но да­же ча­сто ци­ти­руе­мые на­уч­ные ста­тьи ред­ко чи­та­ют­ся; очень ма­ло на­уч­ных ста­тей ока­зы­ва­ют су­ще­ствен­ное влия­ние. Од­на­ко срав­ни­тель­но про­ще сде­лать зна­чи­мую ра­бо­ту в об­ла­сти про­граммно­го обес­пе­че­ния. На­при­мер, не­дав­но коман­да из Facebook внед­ри­ла од­ну из мо­их биб­лио­тек для ра­бо­ты с ин­дек­са­ми на ос­но­ве сжа­тых би­то­вых карт в Apache Hive — ин­фра­ст­рук­ту­ру, ос­но­ван­ную на Hadoop, и пред­на­зна­чен­ную для на­коп­ле­ния дан­ных. Я бы по­спо­рил на круп­ную сум­му, что ни­кто из Facebook не чи­тал ори­ги­наль­ную ста­тью, для ко­то­рой я пи­сал эту биб­лио­те­ку.

  • Реа­ли­зо­вы­вая свои идеи сно­ва и сно­ва, я вы­нуж­ден луч­ше их по­ни­мать. За­ча­стую бы­ва­ет так, что то, что вы­гля­дит ра­зум­ным на бу­ма­ге, ока­зы­ва­ет­ся не­ук­лю­жим при реа­ли­за­ции. Кро­ме то­го, я за­ча­стую на­хо­жу ошиб­ки в сво­их ма­те­ма­ти­че­ских вы­клад­ках по­сред­ством их реа­ли­за­ции. Мо­гу ли я по­ру­чить эту ра­бо­ту дру­гим? Воз­мож­но. Но то­гда про­цесс не бу­дет та­ким пло­до­твор­ным.

  • Со вре­ме­нем ты про­грам­ми­ру­ешь всё луч­ше и луч­ше. Я на­кап­ли­вал свой опыт де­ся­ти­ле­ти­я­ми. Очень при­ят­но на­чать с ну­ля и ре­шить слож­ную за­да­чу за не­сколь­ко дней зная, что дру­гим по­тре­бо­ва­лись бы не­де­ли и да­же ме­ся­цы, что­бы сде­лать то же са­мое.

Ес­ли мои ар­гу­мен­ты ра­зум­ны, и да­же До­нальд Кнут на мо­ей сто­ро­не, то по­че­му лю­ди до сих пор удив­ля­ют­ся, ко­гда я при­зна­юсь, что я учё­ный-про­грам­мист? Я ду­маю, что не­при­я­тие про­грам­ми­ро­ва­ния, как низ­шей де­я­тель­но­сти, мо­жет быть объ­яс­не­но Тео­ри­ей празд­но­го клас­са. В ре­зуль­та­те мы ищем не прак­ти­че­скую поль­зу, а пре­стиж. Нет ни­че­го пре­стиж­но­го в из­го­тов­ле­нии ин­стру­мен­тов, при­го­тов­ле­нии пи­щи, и сель­ском хо­зяй­стве. Что­бы мак­си­ми­зи­ро­вать свой пре­стиж, вы долж­ны воз­вы­сить­ся до празд­но­го клас­са — ва­ша ра­бо­та не долж­на быть не­по­сред­ствен­но по­лез­ной. По­это­му быть ди­рек­то­ром или по­ли­ти­ком го­раз­до пре­стиж­ней, чем мед­се­с­т­рой или по­ва­ром. Учё­ные, ру­ко­во­дя­щие из­да­ле­ка, пре­стиж­ны. Про­грам­ми­ро­ва­ние срод­ни из­го­тов­ле­нию ин­стру­мен­тов, по­это­му лю­ди из празд­но­го клас­са не хо­тят при­тра­ги­вать­ся к про­грам­ми­стам. Лю­ди на­зы­ва­ют се­бя ин­же­не­ра­ми, ана­ли­ти­ка­ми или раз­ра­бот­чи­ка­ми, но ред­ко «про­грам­ми­ста­ми», так как это зву­чит слиш­ком ути­ли­тар­но.

Вни­ма­ние: не каж­дый дол­жен быть про­грам­ми­стом. Эта де­я­тель­ность за­ни­ма­ет мно­го вре­ме­ни. Из-за то­го, что я мно­го про­грам­ми­рую, у ме­ня не оста­ёт­ся вре­ме­ни на дру­гие ин­те­рес­ней­шие ве­щи.

Шесть отзывов на запись «По­че­му я до сих пор про­грам­ми­рую»

«Пред­по­ла­га­ет­ся, что моё вре­мя слиш­ком до­ро­го для то­го, что­бы тра­тить его на низ­мен­ную ра­бо­ту ти­па про­грам­ми­ро­ва­ния, ко­то­рой мо­гут за­ни­мать­ся лю­ди, за­ра­ба­ты­ваю­щие не­боль­шую часть от то­го, что за­ра­ба­ты­ваю я.» Жаль, что у нас лю­ди, за­ни­маю­щие­ся на­у­кой, по­лу­ча­ют в ра­зы мень­ше, чем сту­ден­ты-про­грам­ми­сты.
Те кто на вер­ши­не пи­ра­ми­ды (см. ри­су­нок вы­ше) по­лу­ча­ют в ра­зы боль­ше сту­ден­тов
buy mobic
generic for effexor xr
celebrex
benicar cost

Оставить отзыв

Жёлтые поля обязательны к заполнению

   

Можете использовать теги <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang=""> <div class=""> <span class=""> <br>