Интервью с создателем обобщённого программирования Александром Степановым
Всем привет! В C++ сообществе Александр Александрович Степанов особо не нуждается в представлениях: это создатель обобщённого программирования и Standard Template Library. Менее известно, что он построил карьеру в США, но получил образование в СССР. И сейчас, когда многие разработчики уезжают из России, особенно интересно узнать, как переезд IT-специалиста выглядел почти полвека назад, до интернета и удалёнки. Изменились ли с тех пор вызовы и трудности?
Мы решили поговорить с Александром Александровичем, чтобы узнать больше о его жизненном пути, эмиграции и адаптации к жизни в США. Наша беседа затронет в основном не профессиональные достижения и его вклад в развитие информатики, а личные истории.
Начало
Как Вы стали интересоваться информатикой и программированием? Какие факторы и события повлияли на выбор Вашей профессии?
Моя жизнь была полна случайностей. Так и программистом я стал случайно. Весной 1972 года я пережил духовный кризис и в мае был крещен в Московской церкви Св. Людовика. Перед этим я вышел из комсомола и ушел с мехмата МГУ. Я устроился работать техником в Гидрометеорологический центр. Моя работа состояла в наблюдении за неким оборудованием на вершине одного из Московских высотных зданий. Я работал 3 двенадцатичасовых смены в неделю; иногда днем, иногда ночью. Работа состояла в том, что когда мне звонили, я должен был включать или выключать прибор. Так что за смену я работал около 2 минут; остальное время я либо спал, либо читал Отцов Церкви. Платили мне за это 80 рублей в месяц. Через пару месяцев такой жизни я разговаривал со своим другом Николаем Гуриным и он сказал что он меня может устроить работать программистом где мне будут платить 120 рублей. Он позвонил своим знакомым в ЦНИИКА (Центральный Научно Исследовательский Институт Комплексной Автоматизации) где он за год до этого работал и, чудо из чудес, меня взяли на работу исполняющим обязанности инженера.
Расскажите о Вашей первой работе или исследовательском проекте в области информатики в СССР. Какие задачи и проблемы Вы решали?
Лаборатория в которой я работал разрабатывала управляющую вычислительную машину ТА-100 которую применяли на гидроэлектростанциях (Саратовской, Красноярской, Братской, и несколько других) и на Центральном Пункте Энергоуправления в Москве. Моя первая задача была написать подпрограммы для помещения байта в буфер и получения байта из буфера. (Эта машина не имела адресования байтов.) К сожалению я не знал что такое байт и что такое буфер, и стеснялся спросить. Я заметил что другие программисты очень мучились отлаживая программы с операторского пульта. Я решил написать программу которая бы выполняла другую программу и по ходу распечатывала бы инструкции и их результаты. Когда я ее написал, мой друг Коля Гурин объяснил мне что это называется «отладчик». После этого я стал главным и единственным системным программистом. Остальные программисты были инженерами энергетиками и писали программы для контроля электростанций. За четыре года которые я проработал в ЦНИИКА я написал два отладчика, ассемблер, дизассемблер (программа переводящая бинарный код в ассемблер), программа тестирующую все инструкции, систему ввода/вывода, и часть ядра операционной системы. Мне очень повезло с тем что начальник лаборатории Александр Михайлович Гуревич, главный конструктор TA-100, стал моим ментором. Он был блестящий конструктор и я от него всему научился. Он меня постоянно повышал: и.о.инженера, инженер, и.о. старшегоа инженера, старший инженер, и.о. старшего научного сотрудника, старший научный сотрудник. Он помог мне получить диплом и записал меня в аспирантуру. Ему несколько раз звонили из органов и советовали меня сократить. Он решительно отказывался, говоря что я критически нужен проекту. И это несмотря на то что он был убежденным марксистом и членом партии. Мы вели долгие споры, не он, ни я не переменили взглядов. Он брал у меня читать Солженицына и брал на работу по моей рекомендации известных диссидентов (Владимира Альбрехта и несколько других). В эти годы я прочитал много основополагающих книг по программированию: Кнута, Дийкстру, Вирта, и много других. Мой первый отладчик был ужасным: массивный код безо всякой структуры. Мои последние программы я бы не постыдился опубликовать даже сейчас. Моя главная идея: разделение алгоритмов от структур данных и разбиение алгоритмов на мелкие абстрактные шаги, появилась у меня именно тогда.
Переезд
Каковы были причины Вашего решения уехать из Советского Союза?
У меня была прекрасная работа. У меня был необыкновенный начальник. Но меня все время грызло то, что я большая рыба в мелком пруду. В ноябре 1976 год мой друг Коля Гурин (тот самый), который работал в Институте Проблем Управления устроил меня туда разрабатывать вычислительную машину с перестраивающейся структурой. Красная корочка Академии Наук, прекрасное здание, прекрасная библиотека, замечательный кафетерий. К сожалению, в течении нескольких недель наступило разочарование. Я не увидел никаких разработок. Никто не писал программ, никто не делал железа. Все занимались «исследовательской работой». Я проводил все время в библиотеке, читая Американские журналы: Communications of ACM, Computer, Datamation. Я в молодости читал очень быстро и за пару месяцев составил хорошее представление о том что происходит в Америке. В конце февраля 1977 года я пришел домой полностью удрученный и сказал своей жене Лене ужасную фразу: «Если бы у меня не было семьи, я бы уехал в Америку.» К этому моменту у нас было двое детей и переезд даже в другую квартиру казался кошмаром. Лена не могла ответить по другому и сказала: «Поехали». Не она, ни я не думали уезжать. Но вдруг решились. У нас были серьезные причины для отъезда, но мы о них тогда не думали.
Расскажите, пожалуйста, немного о процессе эмиграции и проблемах, с которыми Вы столкнулись во время переезда.
С 1974 года у нас был Израильский вызов. Я пытался его выбросить, но Лена мне не дала, говоря, «может пригодиться». Она, как всегда была права. Нам его обновили в Голландском посольстве и вписали в вызов наших детей. Мы сразу же уволились с работ и жили на распродажу нашей хорошей библиотеки. Собрали документы, подали в ОВИР и месяца через три были лишены гражданства и получили визы. Главные проблемы были у наших родителей. Они сами доложили что мы едем в Америку и немедленно потеряли работы. Моему тестю особист сказал что я немецкий шпион и поэтому нас выпускают. Он наверняка ничего обо мне не знал, но не мог в этом признаться и соврал невесть что. Мой тесть, милейший и умный человек, ему поверил. Ему дали строгий выговор на партсобрании и он обязался с нами не переписываться; он держал слово до 1991 года.
Сразу ли Вы оказались в США?
Мы ждали Американскую визу 5 месяцев в Вене. Нас поддерживал Толстовский Фонд, друзья нам нашли замечательную квартиру с видом на Дунайский Канал и Собор Св. Стефана. В соседнем доме жил Рюрик Крым и его жена Стелла, сотрудники ООН, он француз (из старых русских), она американка прожившая 12 лет в России. Они нам очень помогали, дарили вкусную еду, хорошие вина, приносили каждый день International Herald Tribune, приносили книги по современной Американской политике. Устраивали для нас формальные обеды со своими друзьями. И все это они делали без всякого снисходительного тона; мы с ними остались близкими друзьями до самой их смерти. Были и другие друзья; 5 месяцев в Вене были для нас хорошим переходным периодом. Я посылал много заявок на работу в Американские компании. Все они вежливо отвечали, что будут сохранять мои данные на будущее. Как я потом понял, я напрасно старался. Иногда надо терпеливо ждать. Перед самым отъездом в Америку, мы попали в неприятности с Австрийской полицией. Хозяйка нашей кваритиры не прописала нас в полиции (чтобы не платить налоговов за квартплату), а мы не знали что нам нужна прописка. Для того чтобы получить Американскую визу нам нужен был паспорт, а полицейское начальство его нам не давало так как мы у них не были прописаны. После многочисленных попыток, Стелла Крым со своим дипломатическим паспортом и уверенными манерами, добилась чтобы нам выдали временные паспорта (Fremdenpass / Aliens Passport) и мы благополучно улетели в Нью Йорк.
Как Вы адаптировались к новой культуре и образу жизни после переезда?
Мы были как малые дети, ничего не умеющие, но не понимающие чего они не знают. Поход за продуктами был полон приключений, и часто больших ошибок. В первый день я пошел покупать кофе, но обнаружил 100 разных сортов. Приехав из Вены, где нам кофе нравилось, я остановился на банке с надписью «Венское Кофе» компании General Foods. Мы эту банку сразу же выбросили. У нас ушло лет 10 чтобы найти такое кофе как нам нравится. (Теперь мы обычно пьем итальянское кофе Lavazza: Perfetto, Gran Aroma, или Gran Selezione, но вместо эспрессо машины пользуемся стальным фильтром.) Лет десять ушло чтобы найти свой вкус одежды и обуви. Мы без труда узнаем русских по одежде. Некоторые никогда не научаются быть похожими на аборигенов. В Америке много разных социальных групп. Принадлежность к группе определяется не столько деньгами, а многими другими факторами. Нахождение правильной группы с которой у меня совместимость, заняло долгое время. Я рекомендую регулярное внимательное чтение серьезной газеты, The New York Times в Америке, Le Monde или Le Figaro во Франции. Это очень мне помогло адаптироваться. Много лет я подписывался на The New York Review of Books, замечательный источник интеллектуальных веяний. Ну и конечно надо научится улыбаться и быть приятным. Если я встречаю соотечественника, то обычно слышу, «как ты постарел и потолстел». Я согласен с этим, но сильно предпочитаю американское «you are looking good». «Тьмы низких истин мне дороже Нас возвышающий обман…» Переезжая в другое общество мы должны смиренно учиться местным обычаям. Иначе мы обрекаем себя на жизнь в гетто. Научиться другой культуре это замечательный дар. Да, Пушкин великий поэт, но узнать Шекспира в его оригинальном блеске, прочитать Свифта и Диккенса в оригинале, это великое счастье. Я не завидую людям с громадным количеством денег, славой, позицией. Но я завидую тем кто может читать Гомера, Данте, Рабле, Сервантеса в оригинале. (Я завидую своей жене Лене, которая могла без труда играть Баха и Моцарта.) Да, переезд это тяжелейший шок, но я столько получил этот шок пережив.
Какие были Ваши первые шаги в карьере в США?
Через пару дней после приезда, я пошел к нескольким агентам по трудоустройству. Они мне сказали, что я могу рассчитывать только на работу стажером без зарплаты. Но мне было нужно кормить семью; зарплата была необходима. Две или три недели не было никаких шансов. Но вдруг все переменилось: в течении двух недель я получил 8 хороших предложений и не знал какое из них принять. (Я никогда больше не имел такой ситуации; поиски работ были всегда долгими и тяжелыми. Чем более известным я становился, тем дольше мне приходилось искать работу. Мне повезло и я ни одного дня не был безработным. В последний момент всегда находилась работа.) Я выбрал National CSS, компанию создавшую большую сеть машин где покупатели могли покупать разделенное время (time-sharing system) и одну из первых успешных интерактивных баз данных Nomad. Я попал в ее исследовательский отдел и через несколько месяцев стал руководителем проекта Gist, который должен был заменить Nomad. Это был полный провал. Я был совершенно не готов разрабатывать новое поколение баз данных. Я был наглым мальчишкой с хорошим английским и полным непониманием проблемы. Шарлатанизм возможен не только в Академии Наук, но и в серьезных американских компаниях. Интересно, но в самом начале проекта, один из работников маркетинга компании, пришел ко мне и описал работу электронной таблицы за год до появления VisiCalc. Я его полностью проигнорировал. У меня ушло много лет прежде чем я понял что надо внимательно слушать маркетинг. Они могут знать что людям нужно. К сожалению у меня ушло много лет чтобы понять что нужно стараться делать полезные вещи. Цитата из мало теперь модного Николая Островского о бесцельно прожитых годах мне вспомнилась только в конце жизни.
Повлиял Ваш опыт эмиграции и адаптации на ваше творческое мышление, на работу?
Безусловно. В 1995 году я побывал в Новосибирском Академгородке и встретил многих очень приятных людей. Но в конце визита я буквально плакал. Я увидел свое будущее если бы я остался в России. Эти милые люди занимались Алгол-68 и многими другими вещами о которых на Западе уже никто не помнил. Там был культ Андрея Ершова. Наука требует жертв. Идолов надо убирать. Темы надо закрывать. Стариков надо гнать из науки еще больше чем из политики. Жизнь в Америке освободила меня от почитания научных авторитетов. В науке требуется много времени чтобы оценить результаты. Поэтому я решился отвергнуть догму объектной ориентации в которую верили все вокруг. Мое отсутствие веры привело к потере работы в отделе программных библиотек в Bell Labs. Мне сказали что я противоречу стратегическому решению компании. Эта история повторилась в Hewlett Packard Labs. Меня выгнали из отдела программных технологий и мне пришлось заниматься разработкой дисководов. В Америке можно быть диссидентом в своей дисциплине и иметь успешную карьеру.
Есть ли определенные истории или переживания из вашей эмиграции, которые особенно сильно повлияли на Вашу жизнь и карьеру?
Меня поражала доверчивость американского общества. Меня брали на работу не спрашивая никаких документов. Мы привезли заверенные копии дипломов, трудовых книжек; я даже привез характеристику на должность старшего научного сотрудника. За 45 лет жизни в Америке они мне не разу не пригодились. Мне сразу же дали большой кредит на машину. Через полтора года мы купили дом. Нас приглашали в гости. Я не могу представить что человек приехавший в Москву из, скажем, Бурятии, мог бы прорваться через чванство московского интеллигентского общества. Я помню как во время нашего первого приезда в Москву в 1995 году нас коробило от постоянных разговорах о лимитчиках и других «понаехавших». Постоянные анекдоты про чукчу. Мы сами были чукчами. А с нами обращались как с американскими гражданами, которыми мы, кстати, долго не были.
Заключение
Если Вам было тяжело во время переезда или после, как вы с этим справлялись?
Когда несколько раз мы оказывались в казалось бы в безвыходной ситуации, мы всей семьей молились Св. Антонию Падуанскому. Мы также заказывали мессы у Отцов Францисканцев. Для моих Православных читателей, Св. Серафим Саровский и Св. Тихон Задонский могут быть хорошими защитниками.
Если бы Вы могли дать совет тем, кто недавно переехал? Что бы вы им посоветовали?
Учите язык! Моей первой покупкой в Вене были две книги: Английская Библия (Jerusalem Bible) и эта:
Мы много лет читали ее нашим детям. Это издание с множеством прекрасных гравюр. Если у вас нет детей, читайте для себя. Это замечательные стихи. Учите их наизусть!
Тем временем осталось меньше недели до начала онлайн-части нашей конференции C++ Russia. Там будут уже не личные истории, а технические доклады.