Андрей Бреслав (abreslav) известен прежде всего как человек, возглавляющий работу над языком Kotlin. Но в последнее время он стал выступать с докладами совсем о другом: весной говорил о важности эмоций при работе в IT, а в августе на TechTrain представит доклад «Это выгодно: почему нам нужно больше женщин-программисток?»
И мы взяли соответствующее интервью: не о Kotlin, а о социальном и эмоциональном. Что волнует Андрея помимо разработки языка? Бывает ли у него синдром самозванца? Чем его доклад о женщинах-программистках будет отличаться от большинства других рассуждений о гендерном перекосе в IT? Почему можешь ощущать себя плохо, когда твой проект собирается публично поддержать Google?
Название Kotlin в тексте встречается, но не в контексте «когда появится тернарный оператор», а в контексте «эмоции Андрея по Kotlin-поводам». О языках программирования есть уже очень много текстов. А вот о том, что ощущают их создатели — кажется, очень мало.
Отход от Kotlin
— Раньше все твои доклады на конференциях были о языке, а теперь совсем о другом — почему так произошло?
— Я лет восемь делал доклады про Kotlin, и немного устал. Когда долго-долго говоришь на относительно узкую тему, кажется, что всё давно сказал, и добавить нечего. Наверное, можно придумать ещё темы, просто хочется каких-то перемен. У меня есть другие интересы, которые хочется реализовывать. Поэтому я стал делать доклады на какие-то более человекоориентированные темы, а доклады о Kotlin делают мои коллеги, у них очень хорошо получается.
— А какой оказалась реакция зрителей? Например, весной после доклада «Эмпатия в IT» каким было обсуждение в дискуссионной зоне по сравнению с «котлиновскими» докладами?
— Отклики на человекоориентированные доклады, конечно, живее. После технического доклада собравшиеся в дискуссионной зоне обычно постепенно расходятся, а здесь через час-полтора после доклада, когда мне нужно было куда-то уйти, в дискуссионной зоне по-прежнему оставались люди. Им уже даже не нужен был я, они между собой обсуждали.
Это гораздо более универсальная штука. Kotlin кому-то нужен, кому-то нет, и во втором случае вопросов не возникает. А эмоциональные вещи затрагивают абсолютно всех. В отличие от технических разговоров, люди начинают рассказывать личные истории из своего опыта, которые понятны всем окружающим: там не надо знать контекст того продукта, над которым работает человек. Поэтому возникают дискуссии между пришедшими в дискуссионную зону, и это гораздо более живой процесс. Так что фидбэк, конечно, совсем другой. И как делать технические доклады с такой же интенсивностью фидбэка, я пока не знаю. Я не встречал таких докладов, но, возможно, это как-то можно сделать.
— Как ты выбираешь темы для новых докладов? Со стороны кажется, что предпочитаешь социально значимые, которые могут улучшить жизнь разработчиков.
— Действительно, мне хочется заниматься вещами, которые как-то влияют на жизнь людей. И не только разработчиков: мне проще всего попасть на айтишные конференции, но вообще у меня нет цели заузить это только на девелоперов. Когда я говорю про «эмпатию в IT», то примеры привожу из IT, но суть универсальная для всех людей, на работе и дома.
С тем, что я буду рассказывать на TechTrain про гендерный баланс в IT, чуть-чуть сложнее: не везде есть такой перекос и не везде такие экономические соображения возможны, то есть этот доклад не везде можно повторить. Но мне кажется, что сам вопрос о гендерном балансе универсальный, и доклад поняли бы очень широкие массы.
— А если бы не было проще попадать на айтишные конференции, где хотелось бы выступить и о чём рассказать?
— Из неайтишного я этой весной уже записал один TEDx talk про честность и полиаморию, и получилось неплохо, хотя я думаю, что могу лучше.
Этот формат очень интересный. Я впервые выступал в таком формате, и у меня ушло какое-то неадекватное количество времени на подготовку, количество часов подготовки на минуту выступления получилось неразумным. Зато я примерно понял, как это делать, и в процессе у меня даже получилось понять какие-то новые вещи про себя. Получился очень искренний рассказ, и с этой точки зрения мне очень понравилось. А с точки зрения того, как я рассказывал, вижу, что можно сделать лучше. В следующий раз, если буду записывать ещё какой-нибудь доклад в формате TED, то буду делать иначе. В общем, TED как площадка для распространения таких общечеловеческих идей мне очень нравится.
Также мне интересно разговаривать с тимлидами — с людьми, которые руководят людьми. И перед айтишными тимлидами я скоро буду выступать.
А ещё есть довольно широкий круг людей, которые так или иначе хотят развиваться, и вот для них мне было бы очень интересно было делать доклады. Если знаете конференции, на которых они собираются, то расскажите в комментариях.
— Благодаря весеннему докладу мы узнали о некоторых интересующих тебя темах вроде психотерапии, но вряд ли о всех. Что, кроме Kotlin, занимает большое место в твоей жизни?
— Попробую перейти от конкретных узких тем к более широким. Одна узкая тема — это гендерные вопросы, их практические последствия. Ещё одна — то, что связано с психическим: с психотерапией, эмоциями, с тем, как люди общаются. Как устроен баланс, грубо говоря, эмоционального и рационального. Есть тема полиамории, про которую я уже несколько раз рассказывал и готов рассказать ещё, мне кажется, что там может быть много интересного.
А ещё есть более общефилософская штука, про которую я пока не делал ни одного доклада, но когда-нибудь наверняка сделаю: это фундаментальные ценности (либо моего мировоззрения, либо фундаментальные ценности вообще). Это то, что такое для меня свобода (как свобода выбора), насколько она важна в моём мировоззрении, что такое истина и почему мне очень важны понятия ответственности и адекватности, как в эту картину вписывается идея постоянного развития, почему мне это важно и почему я думаю, что это должно быть важно для других людей.
И к этой теме сводится многое другое. В конечном счёте, разговоры про гендерное — это на самом деле разговоры про свободу выбора, про то, чтобы установившиеся в культуре стереотипы не мешали нам делать наш собственный выбор. То же самое касается и психотерапии, и обращения с эмоциями, и так далее. Там как раз в центре всего — вопросы свободы выбора и истины или адекватности того, как мы думаем о мире. Ну и, естественно, вопросы развития тоже — в этом психотерапия, на мой взгляд, один из самых эффективных инструментов.
Полиамория — тоже в значительной мере разговор про осознанный, а не стереотипический выбор модели отношений. Так что в обсуждение фундаментальных ценностей вкладывается сразу всё это.
Work/life balance и продуктивность
— После перечисления интересов многие удивятся «как всё это умещается в жизни, когда возглавляешь Kotlin и участвуешь в разработке Alter». Как поддерживаешь баланс, когда рабочие задачи наверняка легко могут занять всю жизнь?
— Я не то чтобы мастер work/life balance. Но я, безусловно, осознаю, что, когда у меня происходит сбой этого баланса, мне становится очень плохо, у меня быстро кончаются силы, и я больше не могу делать что-то полезное.
Мне кажется, главное, на что я ориентируюсь — уменьшение трения. Есть такая иллюзия: если я что-то делаю и у меня получается, то если буду делать больше, будет получаться больше. Но это неправда, эта штука работает нелинейно. В два раза больше занимаясь какой-то работой, я не сделаю в два раза больше: я устану, у меня замылится глаз, закончится запал. Трение повысится, эффективность снизится, а всё остальное будет запущено.
Поэтому важно не вкладывать во что-то одно 100% времени. Очень важно, чтобы был баланс эмоций, чтобы я чувствовал не только желание добить задачу, но и радость какой-то игры, общение с близкими людьми, узнавание нового и так далее. Эти вещи — не менее важные, чем всё остальное. Потому что, если их становится мало, всё остальное перестаёт работать.
То есть, когда занимаешься одной работой, количество трения возрастает от времени, её становится всё сложнее делать. А если переключаться, то трения становится мало, и в каждом направлении, которому я уделяю внимание, я достаточно эффективен.
Но если я не буду осознанно обращать внимание на то, чем занимаюсь, то интуитивно всё равно буду скатываться в иллюзию, что можно «просто вложить больше и получить больше». У меня нет постоянного хорошего осознания, что мир работает не так, как может показаться. Поэтому приходится сознательно планировать, разделять время, применять разные техники… Я постепенно этому учусь. Сейчас получается лучше, чем два года назад, надеюсь, через год будет получаться ещё лучше. Так что смотрю оптимистично.
— Зачастую работа «засасывает» даже обычных разработчиков, а ты возглавляешь большой проект. Усложняет ли это поддержание баланса? Условно говоря, звонят ли тебе посреди ночи, потому что что-то сломалось и только ты можешь помочь починить?
— Мне кажется, усложняет не с той точки зрения, что только я могу что-то починить, а скорее в другом смысле.
В любом большом проекте есть очень много операционных задач, по которым надо прямо сейчас оперативно что-то сделать. И руководителю (особенно если он не пришёл в уже существующую команду, а рос вместе с проектом) легко попасть в капкан, когда очень много делаешь сам. Насколько я понимаю, центральная менеджерская мудрость состоит в том, что всё это надо делегировать. И я сейчас довольно близок к этому состоянию: все вещи, которые можно делать без меня, более-менее делаются без меня. А это довольно много вещей. Какое-то время назад я уходил в длинный отпуск и четыре месяца проект жил без меня, пока я приходил в себя после восьми лет работы с недлинными отпусками. Выяснилось, что целая куча вещей отлично происходит без меня, нет никакой нужды в том, чтобы я это делал — и прекрасно. Я вернулся из отпуска, и всё, что перед отпуском было делегировано временно, теперь делегировано постоянно.
А то, что принципиально сложно — это работа по стратегическому управлению и даже по среднесрочному управлению. Просто нужно держать в голове много разных аспектов какой-то достаточно большой штуки. Причём это не только про Kotlin: это касается и Alter, и моих планов на выступления.
Я могу, например, нагенерировать идей по выступлениям на несколько страниц. И понятно, что нельзя реализовать их все. Значит, надо как-то подумать и принять решение, что делать, а что не делать. И принять, исходя из каких-то соображений, а не просто по настроению. И так в любом проекте. Нужно осознать, ради чего всё делается. Возникают вопросы о том, какая у нас миссия, какие цели. Из каких соображений мы считаем что-то одно важнее чего-то другого.
И оказывается, что на кучу вопросов с ходу просто нет ответа. Нужно сначала что-то узнать, порисёрчить, выдвинуть какую-то гипотезу, поставить какой-то эксперимент, и тогда станет понятнее, есть ли серьёзные основания делать это, а не то.
Это место, где максимум неопределённости. А чем больше неопределённости, тем более нервно. Приходится учиться жить в состоянии, когда ничего точно не понятно и довыяснять то, что надо понять прямо сейчас.
— И ещё о продуктивности. По докладу «Эмпатия в IT» понятно, как психотерапия может улучшить коммуникацию, но разработчиков ещё очень волнуют проблемы вроде прокрастинации, проявляющиеся и без коммуникации. Насколько, по-твоему, психотерапия помогает с ними?
— Среди примеров, которые я привожу в докладе про эмоции, есть и пример про прокрастинацию, хотя он там не совсем в спектре психотерапии. В общем, прокрастинация — один из важных факторов, снижающих продуктивность, и он есть у очень многих людей. Например, когда я готовил свой TEDx talk, прокрастинировал совершенно дико и пришлось использовать pomodoro technique, чтобы как-то сфокусироваться (там уже поздно было идти на психотерапию, через два дня надо было всё рассказывать).
Если вы прокрастинируете и не понимаете, почему это происходит, вероятно, психотерапевт поможет вам найти ответ и поможет управлять этим. Вы можете научиться прокрастинировать меньше (или больше, если вдруг вы хотите больше). Это совершенно точно.
И вообще вопросы, связанные с продуктивностью, очень часто упираются в психологические вещи. Я довольно много работаю с людьми и вижу, что некоторые при замечательных талантах в решении технических задач могут в своём развитии упираться в какие-то психологические вещи.
Таких вещей гораздо больше, чем мы привыкли замечать. Большинство людей вокруг не прибегает ни к каким способам отрефлексировать что-то, что им мешает, а просто интуитивно пытается с этим справляться.
Если рядом есть хороший менеджер, он или она сможет чем-то помочь в такой ситуации. Если сравнивать работу менеджера с чем-нибудь из области помогающих практик, то это будет, скорее работа коуча, чем психотерапевта. То есть просто находить решение чего-то, а не помогать человеку изменить свою личность.
Но менеджер может помочь только в определённых рамках, как минимум потому, что он человек вовлечённый и заинтересованный. Возможно, для того, чтобы двигаться вперёд, человеку нужно вообще уходить с этой работы или полностью менять профиль, а менеджер в этом может быть не заинтересован совсем. Коллега физически не может участвовать как беспристрастный человек.
И поэтому полезно подумать о психотерапии. Это незаменимый и супер-эффективный по сравнению со всеми остальными (из известных мне) инструмент для улучшений своей жизни. Во всех смыслах. И в работе, и просто в общении с коллегами и близкими, включая в осознание того, что мне вообще хочется. Думаю, очень многие люди, занимающиеся программированием и другими инженерными вопросами, понимают: они очень по-разному эффективны в зависимости от того, интересно ли им то, что они делают. И вопрос о том, что же интересно («вот раньше было интересно это, а теперь поднадоело, что же мне теперь найти, чтобы было интересно? как мне снова вернуться в это состояние увлечённости?») — это вопрос, во многом связанный с психотерапией, в более простых случаях — с коучингом.
Гендерный баланс в IT
— Есть вопросы, связанные с докладом «Почему нам нужно больше женщин-программисток». В прошлом году компания JetBrains учредила премию для учителей, направленную как раз на повышение числа женщин в инженерных профессиях. Ты имеешь к этому отношение?
— Да, я участвовал в координации этой инициативы. В какой-то момент возникла мысль, что мы хотим, чтобы в кружках по математике, физике, программированию становилось больше девочек на школьном уровне. Потому что в пятом классе там одинаковое количество девочек и мальчиков, а к седьмому классу оно становится очень-очень разным. Хотелось как-то на это повлиять.
Некоторое время мы пытались выяснить, какие меры могут работать. Из всех доступных нам мер мы выбрали эту: поощрять тех преподавателей, у которых девушки добиваются успехов на уровне российской олимпиады. Я во всём этом участвовал — в обсуждениях, в придумывании этого проекта и так далее.
— В зарубежных рассуждениях о гендерном балансе часто звучит слово «pipeline», компании говорят: «мы бы охотно нанимали женщин из числа выпускников технических вузов, но там их уже почти нет, дисбаланс возникает не у нас, а раньше». И вы намеренно решили внедриться в начало этого пайплайна?
— Да. Это комплексная проблема. Для начала мы видим этот отсев к седьмому классу. Кроме этого, мы знаем, что позже отсеивается ещё заметная часть женщин: уже выбрав соответствующее образование, они не идут потом работать в эту сферу. Ещё какое-то количество не развивается в этой сфере, потому что возникают какие-то препятствия на этом пути. То есть это действительно пайплайн, и на каждом его этапе есть проблемы.
Но, действительно, сейчас кажется, что самый большой отсев в этой воронке — в самом начале. И если на входе не поступает достаточно людей, то на выходе уже мало что можно сделать (так устроена любая воронка, например, воронка продаж). Так что оптимизировать последующие шаги не так интересно.
— Чтобы не спойлерить доклад, поспрашиваем не про саму ситуацию с гендерным дисбалансом в IT, а про связанный с ней общественный дискурс. В интернете можно увидеть прорву дискуссий на эту тему, но зачастую они выглядят тысячным повторением давно известных аргументов, в котором стороны не приходят к чему-либо, а просто выпускают пар и остаются при своём. Считаешь ли ты, что есть не только проблема гендерного баланса, но и проблема дискуссий о нём?
— Проблема с дискуссиями обо всех гендерных вопросах есть, но это, на самом деле, проблема не только гендерных вопросов, а любых культурных изменений.
Значительное количество людей привыкло к существованию какого-то статус-кво. Люди выросли взрослыми и ни разу не слышали, чтобы этот статус-кво кто-либо ставил под сомнение. А потом вдруг кто-то начинает ставить. И это попросту усложняет жизнь. Вещь, которая казалась очевидной, перестаёт быть очевидной. Все объяснения, которые придумал себе или где-то услышал, внезапно оказываются под вопросом. «Какой кошмар, моя жизнь становится гораздо сложнее, чем она была раньше». Люди вообще не любят, когда им рассказывают, что они сильно ошибались. И с этим ничего нельзя поделать.
Похожие споры возникают по абсолютно всем направлениям, от искусственного интеллекта до каких-то политических соображений. Если послушать споры приверженцев свободного рынка с приверженцами регулируемой экономики, тоже можно услышать одинаковые аргументы, которые повторяют уже 50 лет. Причём обе стороны повторяют одинаково невдумчиво (если в дискуссии нет специалистов или тех, кто реально потратил много времени на изучение темы). Кто-то вырос в традиции, что хорошо одно, кто-то — что хорошо другое, и они не соглашаются.
Но в случае конкретно гендерного дискурса большой численный перевес на стороне выросших в представлении, что IT — это почему-то не женская профессия. То есть это не две давно знакомых всем позиции, а «традиционная» позиция, которой придерживается много людей, и «прогрессивная», у которой апологетов меньше. Когда есть две уже знакомых сильных культуры, немножко легче. А здесь, в таких вещах, которые стали обсуждаться относительно недавно (в России совсем недавно, да и на Западе не так давно), когнитивный диссонанс у людей сильнее, чем если бы это была сколько-то знакомая история.
И одна из задач, которые я преследую в докладе — поговорить на тему гендерного баланса в IT, используя в этот раз не политические или этические аргументы, которые многих раздражают. То есть не аргументы про то, кому принадлежит власть и кто кого дискриминирует, и не про то, что морально и аморально, что хорошо и плохо делать. А вместо этого собираюсь рассмотреть вообще с совершенно другой стороны — экономических аргументов. Про то, что выгодно и не выгодно.
Конечно, мне всё равно вряд ли удастся избежать абсолютно всех политических и морально-этических вопросов. Но я, по крайней мере, постараюсь везде подчёркивать, что в рамках этого разговора эти вопросы — личное дело каждого. То есть у выводов, которые я делаю, нет никаких морально-этических и политических оснований, только экономические. У меня есть политическая позиция и морально-этическая позиция, но про них я не буду рассказывать.
— Как ты упоминал в предыдущем докладе, за аргументами людей в спорах зачастую стоят эмоции, очень отличающиеся от того, что люди произносят. Вот и в гендерных вопросах, по твоим словам, за аргументами может скрываться «мне дискомфортно от разрушения статус-кво». Не стоит ли тогда вместо экономических или политических аргументов сделать шаг назад и поговорить не о самом гендерном балансе, а об эмоциях, заставляющих людей занимать позицию по его поводу?
— Было бы замечательно, если бы люди умели «делать шаг назад», но это очень сложно. Это отдельный навык, я с огромным уважением отношусь к тем, кто это умеет делать надёжно (то есть хотя бы в каком-то заданном проценте случаев из всех разговоров).
Мне кажется, нереалистично в масштабах TechTrain, где будет больше тысячи человек, ожидать, что мы все можем сделать шаг назад. Я, конечно, буду к этому призывать, но я понимаю, что это не случится.
В этом смысле, кажется, гораздо лучше работает стадность. Окна Овертона никто не отменял. И получается, что люди выбирают позицию «оптом». Если в целом придерживаешься, например, условных «либеральных западных ценностей», то выбираешь всё, что ассоциировано с ними: и отношение к однополым бракам, и отношение к гендерным вопросам, и отношение к экономической политике, и ещё что-то. Есть конгломерат ценностей, и он целиком либо нравится, либо нет. Потому что, как правило, выбирают на самом деле не ценности, а желаемый образ жизни и кого считать «своими». Если потом оказывается, что «свои» исповедуют что-то, что тебе не нравится, ты все равно со временем втягиваешься и начинаешь это тоже поддерживать.
При этом импорт новых идей происходит очень быстро. По моим ощущениям, аргументация в российских спорах, например, на гендерную тему, сейчас очень мало отличается от американских. При том, что в Америке эти споры идут 50 лет, а у нас 5. Если бы мы об этом тоже говорили 50 лет изолированно, у нас были бы разные соображения. А поскольку мы это просто импортировали из западного сообщества пять лет назад, то мы уже практически на переднем крае в части аргументации.
Однажды на докладе про социологию я услышал прекрасный факт. Социологи провели исследование о том, какие есть предикторы у количества людей с высшим образованием в разных странах. Они взяли много-много стран, проанализировали, и оказалось, что количество людей с высшим образованием не особо зависит от целой кучи факторов: уровня жизни, рынка труда. А зависит от количества международных организаций, в которых эта страна состоит членом. То есть наилучшим предиктором престижности высшего образования в стране является фактор интегрированности в международное сообщество.
И это говорит о том, как вообще происходит распространение идей. Если мы хотим быть в клубе каких-то стран, то мы начинаем использовать практики, которые в этом клубе приняты. И так распространяются самые разные ценности, включая соображения по гендерным вопросам.
Но это не значит, что можно перестать про них говорить и мы всё это просто как-то впитаем вместе с остальными вещами. Так не работает, говорить надо. Конечно, мало кто выйдет из одного такого разговора перерождённым. Маловероятно, что, поговорив с кем-нибудь один раз, я резко поменяю мировоззрение этого человека. Но от каждого разговора у людей ощущение будет понемногу смещаться в ту сторону, что люди, которые им нравятся, считают вот так-то. И в какой-то момент ты просыпаешься, и обнаруживаешь, что думаешь не как год назад, а уже противоположным образом. И так ты оказался «в другом лагере». Просто потому что там те люди, которым ты симпатизируешь.
— В дискуссиях о гендерных вопросах можно встретить позицию «пока вы занимаетесь надуманными проблемами, в Африке дети голодают, лучше бы о них позаботились». Я не поддерживаю эту позицию, но хочется уточнить: а как ты выбираешь, по каким из социальных проблем выступать? Даже если рассматривать конкретно дисбаланс в IT, то почему волнует именно гендерный перекос, а не, например, эйджизм?
— По-моему, тут есть две части. Одна про то, что кто-то кому-то заявляет «вы говорите не о тех проблемах». Мне сложно вежливо ответить на такой аргумент, потому что ни у кого нет никакого права предписывать другим, о чём им говорить. Они о чём хотят, о том и говорят. Если какой-то человек выбрал для себя заниматься каким-то вопросом, это его полнейшее право, каким бы странным вопрос ни был.
И ни у кого нет никакой моральной обязанности помогать именно тем, кому «хуже всех». Любая социально-ориентированная деятельность — дело абсолютно добровольное.
А дальше, когда каждый желающий занялся важным для него вопросом, происходит сравнение: сколько людей заинтересовалось каким-то вопросом, насколько громко они об этом говорят. И если о некоторой проблеме говорят больше или более эффективно себя продвигающие люди, её субъективная важность повышается. Если вам кажется, что другая проблема важнее — ну, повышайте её важность.
Поэтому мне кажется, что «вы занимаетесь не теми проблемами» — это некрасивая манипуляция. И, по-моему, большинство людей, приводящих такие аргументы, сами не уделяют внимания «настоящим проблемам», а просто хотят заткнуть человека, уделяющего внимание чему-то, что им делает некомфортно.
Это одна сторона. Другая — как я для себя субъективно сравниваю важность чего-нибудь. Например, голодающих детей и гендерного баланса. Я не то чтобы подумал и выбрал наиболее эффективный способ принимать такие решения, я могу просто пронаблюдать, что для меня субъективно является большим мотиватором.
Мне больше нравится то, результаты чего я могу увидеть на себе, «своя рубашка ближе к телу». И в этом смысле помощь людям где-то очень далеко мне менее интересна, чем изменение чего-то в моей среде обитания. А ещё очень хочется получать результаты. То есть какие-то вещи могут иметь существенное значение, но я абсолютно не понимаю, как к ним подступиться, и не понимаю, как я могу увидеть результат этой деятельности в обозримом будущем.
Соответственно, голодающими в Африке я не занимаюсь, в частности, потому что этот вопрос от меня далеко. У эйджизма мне очень сложно оценить его масштабы, я от этой проблемы далеко. А что касается гендерного баланса, то у меня есть вполне конкретные наблюдения и подозрение, что мы теряем десятки процентов людей, которые могли бы эффективно работать в этой сфере, и мы могли бы их не терять. Про это, собственно, будет доклад.
Поэтому для меня выбор очевиден. В связи с IT может быть куча вопросов от этнической или расовой дискриминации до разного доступа к образованию в разных регионах, я понимаю, что они есть, но я не понимаю их остроту, она на меня «не выпрыгивает». А вопросы, связанные с гендерным балансом, они для меня очевидно важные. Поэтому я ими занимаюсь.
— Что с гендерным балансом в разработке языков программирования? Если IT в целом считается «не женским делом», то такое могут считать «совсем уж не женским». Но вспоминаются и Светлана Исакова из команды Kotlin, и Нада Амин, причастная к Scala…
— Я бы сказал, практика здесь примерно такая же, как в среднем по индустрии. К большому количеству языков программирования, про которые я слышал, приложили руку какие-нибудь женщины. Над Kotlin работает немало женщин — конечно, ничего похожего на долю женщин в популяции, но совсем не ноль. И, действительно, с Мартином Одерски в разное время работали и Хезэр Миллер, и Нада Амин. Вообще в науке с этим становится немножко полегче, хотя и несильно: там тоже есть большой перекос.
Я сейчас общаюсь с небольшой командой, которая занимается одним экспериментальным языком в Facebook, так в этой команде вообще одни женщины. Как так получилось — я не знаю, но факт остается фактом. Мне кажется (это только гипотеза, которую мне сложно проверифицировать, и я ничего не знаю про объяснения), что есть феномен таких женских команд: как будто женщины «притягиваются» друг к другу. Вот у нас в JetBrains есть такая команда, которая занимается EduTools — по-моему, там ещё недавно работали практически только женщины, сейчас присоединилось несколько мужчин, но женщин все равно большинство. Ещё в паре мест я видел такие команды с преобладанием женщин. Но как это устроено, я точно не знаю.
Эмоции
— Из-за доклада про эмоции интересно задать тебе несколько вопросов, связанных с твоими эмоциями, если ты готов на такие отвечать.
— Если на что-то не готов, то я так и скажу, что не готов.
— В мире IT ты выглядишь очень успешным человеком: возглавляешь работу над успешным языком программирования, который обожают многие разработчики. Поэтому тебя особенно интересно спросить: а бывает ли у тебя синдром самозванца?
— Да, бывает. Первый осознанный синдром самозванца был после того, как я закончил университет, решил, что хочу заниматься наукой, и пошёл в аспирантуру. Там я довольно быстро понял, что на русском языке никакой настоящей computer science не существует, и стал смотреть на глобальную ситуацию. И у меня был огромный комплекс по поводу того, что я учусь в не котирующемся университете, у меня нет серьёзных публикаций, мой научный руководитель — не специалист в computer science, и вообще я весь такой «абсолютно негодный исследователь». Тут были перемешаны разные факторы: с одной стороны — то, что вокруг меня объективно не было хорошей среды, а с другой — моё восприятие собственных способностей образования.
Года через три-четыре меня взяли на стажировку в Microsoft Research. Там вокруг было много разных аспирантов, много людей из топовых вузов — из Стэнфорда, из MIT, ещё откуда-то. Как-то раз я послушал довольно бестолковый рассказ аспиранта какого-то очень крутого вуза про его исследование, связанное с аспектно-ориентированным программированием, и понял, что я в его теме понимаю больше его самого, он говорит ерунду, а на мои вопросы не может ответить.
Потом я поговорил пару раз с кем-то ещё и понял: хотя человек учится в каком-то топовом вузе, а я нет, мы обсуждаем вопрос вполне на равных. Ещё я делал какую-то осмысленную работу на этой стажировке, и по совокупности этого всего понял, что не надо париться, что я учусь в университете, где нет науки. Если я хочу заниматься чем-то, то у меня нормально получается. И мой синдром самозванца, что я только называюсь аспирантом, а на самом деле «не совсем аспирант в computer science», закончился. В итоге я не защитил диссертацию и вообще не стал заниматься computer science, а стал заниматься Kotlin, но это был первый шаг.
Другой раз был примерно в тот же период, когда я понял, что уже много лет не работал промышленным программистом. Я преподавал программирование, занимался каким-то рисёрчем и очень беспокоился, а вдруг я «ненастоящий программист» и ничего из себя не представляю в этом смысле.
Как-то раз мой приятель сказал, что в Питере Google набирает людей, позвал на собеседование. Я не хотел работать в Google, но подумал, что это — прекрасный тест, возьмут меня или не возьмут. С Google у меня была связана специфическая травма. В 2006-м, когда работать там ещё было очень модно, компания Borland закрыла питерский офис, где я работал, а Google и Яндекс пришли нанимать освобождавшихся людей. И вся моя команда ушла в Google, а я тогда из-за отпуска не пришёл на собеседование с гуглерами, не проходил их «тест на компетентность». Я уже тогда хотел преподавать и ушёл преподавать, но остался комплекс, что остальных взяли, а про меня непонятно.
И вот, несколько лет спустя, я пошёл на собеседование в питерский офис Google, провёл увлекательные пять часов с интересными людьми, какие-то задачки, на мой взгляд, решил хорошо, какие-то плохо, но в итоге мне дали оффер (и теперь каждые полгода какой-нибудь рекрутер Google пишет мне, не надумал ли я у них работать). Это с точки зрения моей самооценки себя как инженера на тот момент закрыло вопрос. Я понял, что я — нормальный программист, всё хорошо.
С тех пор у меня были несколько повышающих самооценку опытов. Например, когда я впервые общался с людьми, разрабатывающими Java: в комнате сидят инженеры мирового уровня, я про них всех узнал гораздо раньше, чем они узнали обо мне, и я высказываю какое-то мнение, а они относятся к этому с интересом и интегрируют это в свою картину. Мне было приятно, я понял, что я на уровне.
Потом я ездил в Лозанну в гости к Мартину Одерски и его команде, разрабатывающей Scala. И тоже были эпизоды, когда я что-то спрашиваю и оказывается, что это интересный вопрос, про который они не думали с этой стороны. И какие-то ошибки я у них нашёл. В общем, мне понравилось: не в том смысле, что они хуже меня, а в том, что я не хуже их.
Тут мой синдром самозванца с инженерной точки зрения (то есть насколько хорошо я понимаю в языках программирования) более-менее сошёл на нет. Я знаю не всё, те же ребята из Лозанны отлично понимают всё в теории языков программирования, а я её знаю настолько, насколько она релевантна для моей работы: две трети того, что они знают, я не знаю и не хочу. У нас в этом смысле разные профили компетенции, но я себя не чувствую каким-то второсортным по сравнению с ними.
А сейчас у меня эпоха синдрома самозванца, связанного с управлением. Я не учился специально менеджменту, я вижу, что какие-то вещи у меня не получаются, и часто переживаю, что «я не настоящий сварщик», я не понимаю, как правильно руководить, и в моей команде не всё гладко. И я стараюсь себе напоминать: хотя в моей команде есть проблемы, она очень успешно и регулярно выпускает продукт, который популярен. А значит, мы работаем хорошо. Изнутри всегда кажется, что всё ужасно, но хотя работать над проблемами надо, всё не так уж плохо.
В начале своего доклада про эмоции я подчёркиваю, что я тут что-то говорю, но это не значит, что я всё это идеально умею. Я этому всему учусь и не достиг ещё каких-то высот. Если поспрашивать моих коллег, насколько я соответствую всем рекомендациям, которые даю в своих докладах, ответ будет, скажем так: «не полностью». Это процесс освоения, и я далёк от идеала.
— Теперь в каком-то смысле противоположный вопрос. Есть шутки, что программист всегда мечется между состояниями «я бог» и «я ничто». А когда проект масштабно взлетает, как Kotlin в последние годы, провоцирует ли это ощущение «я бог»? Что ты чувствовал в связи с успехом?
— Есть сложность в том, что этот успех отложенный. Чувствуешь себя молодцом, когда что-то сделал и получил положительный отклик сразу. В этом смысле выступать, консультировать, отвечать на вопросы и так далее — гораздо более благодатная почва. И программировать — вот ты написал программу, она работает, это подтверждение того, что ты справился.
А тут ты что-то сделал, прошли годы, оно медленно набирало-набирало популярность, а потом раз — и взлетело вверх очень быстро. Мы в феврале 2016 года выпустили релиз Kotlin 1.0, и только в мае 2017-го был анонс Google, после которого всё очень резко пошло вверх. До этого мы неплохо росли, но не взрывоподобно.
И, конечно, подготовка к этому анонсу была очень затратна с точки зрения нервной нагрузки. Мы только за пару месяцев до I/O узнали об их намерениях, а окончательное решение вообще принималось в последний момент — то есть до последнего момента не было известно, будет анонс или нет, потому что была куча всякой юридической работы, создание Kotlin Foundation и так далее. Там нужно было подписать кучу бумажек, много всего решить. Это всё было трудно, нервно, крайне непросто.
И за пару недель до I/O я заметил, что я не то что не рад, а просто чувствую себя ужасно. Мне было очень плохо. Но у меня была возможность сразу поговорить об этом с психотерапевтом. И после этого я стал целенаправленно себя настраивать, что эта конференция Google I/O 2017 — это мой праздник, где я смогу присвоить результат, что Kotlin действительно крутой, смогу отпраздновать, что у нас что-то получилось. И когда я туда приехал, на кейноуте в амфитеатре на несколько тысяч человек объявили, что Kotlin получает официальную поддержку, и была овация — вот в этот момент я почувствовал, что да, ура. Я наконец действительно порадовался тому, что у нас что-то получилось. И это было очень важно.
Я (как, возможно, многие люди со склонностью к рациональному осмыслению мира) долго недооценивал важность многих ритуалов — в частности, праздников. И сейчас у меня переходный период, когда я понимаю, что некоторые праздники на самом деле мне необходимы, чтобы почувствовать, что что-то важное действительно произошло. Когда это произошло не через пять минут, а через какой-то промежуток времени, важно отпраздновать, чтобы это присвоить.
Я учусь пользоваться праздниками и действительно эту радость как-то интегрировать и присваивать. Мы на днях получили премию O’Reilly Open Source Awards в номинации «Прорыв года». Рома Елизаров ездил на церемонию, сегодня привёз сам хрустальный приз, он стоит у нас в офисе. Я ещё не успел это попраздновать у себя внутри, но сделал себе селфи с этим призом, чтобы потом написать какой-то праздничный пост, зафиксировать про себя, что это произошло.
Поздравляем Андрея и всю команду Kotlin с премией! А праздничный пост, о котором говорит Андрей, он уже опубликовал.
— А когда происходит такой взлёт, начинает ли в разы сильнее давить груз ответственности?
— Не особенно. Было опасение, что количество пользователей вырастет в разы, и нам станет в разы сложнее: станет больше фидбэка, пользователи будут находить гораздо больше проблем, и их нужно будет быстрее чинить. Но оказалось, что у многих пользователей сценарии использования одинаковые, поэтому количество фидбэка не увеличилось кратно, и мы не завалены.
В этом смысле масштаб ответственности «сто тысяч человек» или «миллион человек» — уже примерно одна фигня, потому что это всё равно очень много народу, на которых влияет то, что ты сделал. Хотя, конечно, гораздо приятнее думать, что мы работаем на несколько миллионов человек, чем даже на сто тысяч.
— В прошлогоднем интервью я спрашивал про решения в Kotlin, которые постфактум оказались неправильными. А теперь спрошу так: какие эмоции испытываешь в связи с неправильными решениями? Переживаешь, или «что сделано — то сделано»?
— Скорее не переживаю. Я в этом смысле, наверное, постиг какой-то дзен и понимаю, что не наделать ошибок было невозможно. У меня нет иллюзии, что я мог бы всё сделать идеально, но не справился. Я уверен, что не мог всё сделать идеально. Смотря на другие языки и вообще на другие крупные проекты, я понимаю, что идеальных не бывает.
Я принял несколько неудачных решений и несколько удачных решений — ну, да. Это ожидаемо и нормально. Более того: один из важных принципов, который я стараюсь реализовывать в Kotlin — это возможность исправлять неудачные решения. Мы пока исправляли только относительно маленькие проблемы, ещё не брались за большие, но они на очереди. В любом случае мне не кажется, что это какие-то фатальные ошибки. Видно же, что не убило наш проект, это не сделало жизнь пользователей кратно хуже. Это что-то, что, да, можно было бы сделать лучше. Мы придумываем какие-то способы с этим справиться, но теперь исправлять эту ошибку гораздо сложнее, чем было бы там семь лет назад. Да, что делать. Жизнь — сложная штука.
Я в этом смысле вообще как-то спокойнее отношусь к ошибкам людей в масштабных проектах. Даже когда, скажем, строители делают ремонт квартиры, делают хорошо, но всегда в итоге что-нибудь где-нибудь неправильно сделано, не работает с первого раза и т.д. И я, с одной стороны, как-то расстраиваюсь — ну как же, вот тут должно было быть всё отлично, а не всё отлично. А с другой стороны, я понимаю, сколько времени, работы и усилий в это вложено, и понятно, что если что-то требует такого количества усилий, то где-то будут ошибки. Это очевидно. Вопрос только в том, насколько эти ошибки фатальны и исправимы. Вот и всё.
— Последний вопрос. Ты уже описывал, как твои интересы (фундаментальные ценности, психотерапия, гендерные вопросы, полиамория) пересекаются друг с другом. А сказывается ли что-либо из них на Kotlin (не на процессе работы над языком, а на нём самом)?
— Я такого не прослеживаю. Понятно, всё, что я делаю, в целом как-то влияет на мой
В построении отношений интуиция, конечно, неизбежно существует и позволяет нам вообще как-то двигаться вперёд, но при этом она всё время подбрасывает неправильные решения. И это большая проблема, потому что мы всё время неосознанно воспроизводим какие-то вещи, которые мы где-то когда-то усвоили, а сами и не заметили. Поэтому там зачастую интуиция — это тормоз.
А в дизайне сложных систем интуиция — это ускоритель. Конечно, гипотезы, которые интуитивно выдвигаются, нужно верифицировать. Но представить себе, как бы мы вообще разработали Kotlin без сильной интуиции про то, что хорошо и что плохо, я не могу. Это было бы безумно тяжело.
Так что многие неосознанные вещи поучаствовали в дизайне Котлина позитивно. Потом мы на практике выяснили, что многие из них оказались удачными, какие-то оказались неудачными, часть неудачных мы успели поправить, часть не успели. Но для того, чтобы вообще закончить эту работу и показать какой-то результат, было абсолютно критично опираться на интуицию и не просчитывать супер-глубоко все-все детали.
И это смешно, но, вероятно, неосознанная сторона инжиниринга сильно недооценивается. Кажется, что это очень рациональная работа, на самом деле не совсем.
— Про возможное влияние твоих интересов на язык напрашивается какая-то шутка, упоминающая полиаморию и понятие из Kotlin “private fun”...
— У нас есть ещё “actual fun” и “expect fun”. Когда мы добавляли в язык слова expect и actual, понимали, что будут такие шутки, и решили, что это хорошо. Веселиться — хорошо!
Доклад «Это выгодно: почему нам нужно больше женщин-программисток?» можно будет увидеть на IT-фестивале TechTrain. Помимо Андрея на TechTrain выступят многие другие спикеры — от главного идеолога свободного ПО Ричарда Столлмана до Сергея milfgard Абдульманова. Увидеть всю актуальную информацию можно на сайте TechTrain, приобрести билеты — там же.
Автор: Евгений Трифонов