Игорь Савчук - Отъявленный программист: лайфхакинг из первых рук
Концепция была настолько нова, что задача состояла не только в том, чтобы «запрограммировать это», а скорее сводилась к поиску «как это вообще сделать». Творческий процесс программирования и разработки концептуально новых приложений — штука сложная сама по себе, но это вдвойне сложно, когда этот процесс монопольно контролирует менеджмент, нацеленный на жесткие сроки, отчетность, обязательства перед партнерами, прибыль... В общем вы поняли.
После очередного переноса сроков сдачи проекта Рона его закрыли (проект, а не Рона). Навсегда. Всех программистов его группы уволили, а менеджеров наконец перебросили «на более серьезные задачи». Предварительно менеджмент пытался спасти ситуацию, уговаривая Рона на компромисс: остановить разработку концепта и сделать более-менее обычный калькулятор с отдельными элементами былых задумок, ужавшись до требуемых сроков. Но Рон не видел никакого смысла в создании «еще одного калькулятора», поэтому сказал «нет».
Рон вспоминает, что этот день никак не выделялся: они, как обычно, сидели, погрузившись в работу. Зашедший старший менеджер очень кратко объяснил ситуацию, принятое решение и указал на коробки в углу, которые из-за крайней занятости так и не успели убрать со времен вселения в офис.
Собственно, тут и начинается настоящая история знаменитого графического калькулятора.
Проникновение в Apple
Команда проекта собрала вещи и разъехалась по домам. Но не так-то просто отделаться от некоторых программистов, одержимых своим проектом. Даже такой компании, как Apple.
В соответствии с установленным распорядком в последний рабочий день Рон должен был явиться к старшему менеджеру и запросить окончательный расчет за ранее оказанные им услуги, запустив процедуру официального увольнения. Рон понимал, что эта процедура приведет к его официальному уходу из компании, после чего его попросят сдать ID-бэдж, используемый в Apple в качестве входного пропуска. Рон решил перехитрить систему — он не пришел за своим расчетом, взамен оставив себе собственный валидный ID-бэдж. В больших компаниях вроде Apple не так-то просто уследить за тем, получили ли все люди расчет. Обычно люди сами давали знать, что им должны деньги, это и запускало, в частности, процедуру увольнения. На этот раз «установка по умолчанию» не сработала.
Идея Рона была проста: продолжить разработку графического калькулятора, плавно переведя ее в стадию подпольной. Чуть позже к негласной разработке присоединились коллеги Рона, хотя до конца пути дошел только один из них — Грег Роббинс (Greg Robbins). Рон и Грег отказались от всех предложений о новой работе, после чего решили использовать собственные средства для продолжения разработки проекта. Позже на образовательном семинаре Google, куда Рона пригласили рассказать необычную историю своего проекта, он говорил, что тогда у него была лишь одна идея фикс: сделать самый лучший графический калькулятор в мире, и он стремился завершить работу над ним до выхода нового «Макинтоша» любой ценой.
«Я просто не мог бросить все на полпути, я был обязан довести этот проект до конца. Мы знали, что это будет лучший калькулятор, оставалось лишь доказать это другим».
Таким образом, они ежедневно тайком ходили на свою уже бывшую работу, приходя намного раньше других и уходя позже всех, чтобы особо не попадаться на глаза менеджерам. И если в самой Apple уже были прототипы новых Маков, то вне стен компании их еще не существовало в природе, поэтому разработчики калькулятора и использовали свои ID-бэджи, чтобы продолжать разработку в своем бывшем офисе в здании Apple.
Смотреть сквозь пальцы…
Подобная тайная и неофициальная работа была достаточно распространенной ситуацией в Apple того времени. По словам Рона, «в то время контора буквально кишела фанатиками». В качестве примера Рон вспоминает, что в другом конце здания такие же уволенные ранее инженеры Apple продолжали упорно развивать проект Spectre — также официально закрытый. Все рядовые сотрудники знали, что в здании полно подобных «волонтеров», но предпочитали их не только официально не замечать, но даже наоборот — помогать всеми возможными способами.
В сентябре 1993 года, когда проект уже был готов на 90 %, вдруг произошло неожиданное: руководство Apple решило нанять новых людей и посадить их в официально пустующий кабинет, в котором работали Рон и его друзья. Представим: неожиданно явившиеся в комнату менеджеры застукали там всю небольшую команду Рона. Работа в 12-часовом режиме привела к тому, что команда ела и спала прямо в офисе, и комната была заставлена спальными мешками и неким запасом продовольствия. Общие небритость и красноглазие присутствующих только увеличивали степень подозрительности всего происходящего в здании, находящемся под охраной.
Делаю эту историю короче — на этот раз сотрудники безопасности Apple аннулировали пропуска Рона и его друзей, окончательно оборвав пуповину, связывавшую их с бывшей компанией.
Остаться или уйти?
Конечно, личный ID-бэдж был навсегда потерян, но зато осталось множество добрых друзей, готовых помочь словом и делом. Еще два месяца Рон и команда продолжали незаконно проникать в здание Apple, используя помощь друзей, которые проводили их в качестве посетителей, а иногда и вовсе делились своим бэджем. Минимальные перемещения в коридорах здания ранним утром и поздним вечером по заранее разработанным наикратчайшим маршрутам отчасти нивелировали опасности такого рода работы.
Развязка этой истории произошла в октябре 1993 года, когда продукт был полностью готов и его решили представить высшему менеджменту Apple. Через цепочку знакомых Рон вышел на руководство фирмы, которое назначило дату приемки проекта. Презентация прошла великолепно, продукт был оценен по достоинству и сразу же утвержден на включение в Mac OS. Единственная заминка вышла под конец, когда разработчиков попросили завершить протокол утверждения продукта. Рон вспоминает, что тогда прозвучало много «странных» для их ситуации вопросов, как то: «В какой группе вы работаете?», «Кто ваш непосредственный руководитель?», «Где ваш утвержденный график развития продукта?», «Почему мы не видели этого раньше?» и прочие, и прочие, и прочие.
Несмотря на весьма длинный и запутанный разговор в тот вечер, после небольшой адаптации и мелких изменений проект был полностью утвержден в январе 1994-го — отныне Graphing Calculator стал официальной частью компьютера Макинтош.
В общей сложности он разошелся тиражом свыше 25 миллионов экземпляров, при этом проект не только не существовал официально, но не имел вообще никакой документации и спецификаций.
«Поскольку у нас не было менеджеров, то не было и совещаний и мы могли быть невероятно продуктивными. Нам не нужно было писать ничего лишнего, кроме самой программы. Поскольку мы были единоличными цензорами и создателями в полной мере своего продукта, мы могли позволить себе искать, экспериментировать, а также переделывать калькулятор ровно столько раз, сколько это было нужно для воплощения его идеального образа».
Чтобы прочувствовать общую атмосферу такого образа жизни, вот еще один типичный диалог того времени со случайно встреченным менеджером Apple, в изложении Рона:
— Вы здесь работаете?
— Нет.
— То есть вы на контракте?
— Нет на самом деле.
— А кто ж вам платит?
— Никто.
— А как же вы живете?
— Да вот, просто живу.
Жизненный принцип
Рон и его история стали широко известны после недавнего выступления перед работниками Google в центральном офисе. Ирония этого выступления — в откровенном признании Рона в том, что он, скорее всего, не смог бы работать в столь жестких административно-командных условиях, как это принято в Google.
Рон стал одной из икон медленного программирования: он отказался от нескольких предложений потрудиться на крупные компании и заработать кучу денег, чтобы реализовать собственный фундаментальный труд. И даже когда триумф его графического калькулятора стал очевиден и почти родная ему компания Apple захотела подписать с ним контракт на постоянную работу, он ответил отказом.
По словам Рона, «не было смысла начинать эту историю заново».
Отчасти из-за этого отказа работать на компанию яблочный гигант так и не смог наладить поддержку и развитие графического калькулятора (еще раз — команды разработчиков этого проекта официально никогда не существовало), поэтому через несколько лет его сменила собственная альтернативная разработка — Grapher. Тогда Рон основал собственную компанию и стал продавать графический калькулятор под новым брендом NuCalc, который со временем был портирован и под Windows (Рон шутил, что выход Windows-версии так затянулся из-за повышенной политики безопасности здания Microsoft в Редмонде), став в итоге одной из самых популярных программ в нише трехмерных визуальных калькуляторов.