Читаем Творческий отбор онлайн бесплатно


Творческий отбор

Сотни миллионов людей ежедневно пользуются продукцией Apple. Несколько тысяч специалистов работают в калифорнийском офисе компании. Но лишь небольшая группа людей была у истоков создания знаменитого программного обеспечения Apple.Кен Косиенда — главный инженер программного обеспечения iPhone, работавший в «золотой век» компании вместе со Стивом Джобсом. Если в продукции Apple и есть какая-то присущая только ей магия, то это ее ПО, и Кен Косиенда расскажет, как создавались самые важные программные продукты в истории компании.

Серия: Цифровые империи

Кен Косиенда

Компьютеры и Интернет / Зарубежная компьютерная, околокомпьютерная литература
<p>Кен Косиенда</p><p>ТВОРЧЕСКИЙ ОТБОР</p><p>Как создавались лучшие продукты Apple во времена Стива Джобса</p>

Ken Kocienda

CREATIVE SELECTION

* * *

Для CDK и JGK

<p>Введение</p>

Эта книга — о тех пятнадцати годах, которые я проработал в Apple, стараясь создать отличное программное обеспечение, и историях и наблюдениях из тех времен, которыми хотел бы поделиться. Если вам интересно узнать, каково это — показывать демоверсию программы Стиву Джобсу[1], или как появилась сенсорная клавиатура iPhone, или что делает продукцию Apple особенной, — моя книга для вас.

Я расскажу вам о том, каково это — быть программистом в Apple, о плюсах и минусах работы в компании с такими высокими требованиями, о радости, которую мы, программисты, испытываем, заставляя компьютер сделать что-то, добиваясь этого один на один с клавиатурой, используя только силу своего ума.

Я расскажу вам о сообществе программистов Apple, частью которого я стал, и о том, как маленькая группа странноватых интровертов, у которых были лишь мечты, идеи и намерения, создала веб-браузер и операционную систему для смартфонов с сенсорными экранами.

Я расскажу вам о том, как программисты вписываются в глобальную систему разработки ПО[2] Apple, о радостях работы с дизайнерами, чьи доработки делают наши приложения более элегантными, и о стрессе во время показа своей работы коллегам, менеджерам и руководителям, постоянно требующим улучшений, которых, кажется, невозможно достичь.

В создании продукции Apple есть много аспектов: техническая эстетика, проектирование аппаратных платформ, маркетинг, юридические вопросы, управление обширной международной цепочкой поставок — и это только некоторые из них. Но чтобы понимать, что делает компанию Apple тем, чем она является, чтобы понять ее сущность, нужно разбираться в программном обеспечении, и я проведу вас в мир, где обитают программисты, покажу, как с нуля создаются программы и как мы вкладываем в них душу. В то время как другие компании разрабатывают красивое «железо», добиваются успехов в маркетинге, нанимают хороших юристов и производят гаджеты один за другим, ни одна из них не выпускает программного обеспечения, которое было бы интуитивно понятным, тщательно разработанным или попросту приносящим удовольствие. Если в продукции Apple и есть какая-то присущая только ей магия, то это ее ПО, и я расскажу вам, как мы создавали некоторые самые важные программные продукты в истории компании.

Я пришел на работу в Apple в 2001 году, когда главной продукцией компании все еще были компьютеры и ноутбуки, цветной iMac успешно восстановил ее репутацию лидера в высоких технологиях, а Стив Джобс уже четыре года как вернулся после одиннадцатилетнего изгнания[3]. Но Apple все еще имела менее 5 процентов рынка, на котором доминировала Microsoft. Разумеется, в компании были влюбленные в работу энтузиасты, но для всех остальных Mac был компьютером, которым можно пользоваться, пока учишься в колледже, но который сразу же бросаешь, повзрослев и устроившись на работу.

Спустя четыре месяца после начала моей работы в Apple начались изменения. Выход iPod стал для меня таким же сюрпризом, как и для всех остальных, и этот портативный музыкальный плеер обозначил начало смены курса Apple от компьютеров к персональным устройствам. Благодаря iPod доверие к компании выросло, а приток финансов обеспечил создание новых очень популярных устройств. Венчал этот список iPhone, превративший Apple из технического статиста в одно из самых высокорентабельных предприятий.

Я был свидетелем и участником этих событий, этих изменений. Я начал писать программы для iPhone, когда все программисты и разработчики этого секретного проекта могли уместиться в маленькой комнате для совещаний. Если вы спросите меня о первом iPad, мне в голову придет К48 — внутреннее кодовое название, которое мы использовали до того, как Стив Джобс и отдел маркетинга придумали настоящее. Сегодня, в тот день, когда я пишу это предисловие, сотни миллионов людей будут пользоваться продукцией Apple. А если посчитать еще и браузеры, работающие в Windows и Google Android, где применяется код, основанный на коде Safari, который я помогал разрабатывать, то число тех, кто пользуется плодами этих трудов каждый день, перевалит за миллиард, и даже приблизится к двум.

Тем не менее мы никогда не думали о таких огромных числах. Мы были слишком заняты, занимаясь разными деталями. Каждый день в Apple был похож на возвращение в школу или в университет дизайна и высоких технологий, где ты глубоко погружен в учебу, а экзамен может случиться в любой день. При такой напряженности нужно было все делать правильно, и, сами того не планируя, мы создали действительно эффективный подход к разработке программного обеспечения.

Моя цель — поделиться этим подходом с вами, то есть объяснить, как мы работали. Для начала я выделил семь элементов, особенно важных для успешной разработки программного обеспечения в Apple.

1. Вдохновение — мыслить масштабно и представлять, что из задуманного можно воплотить в жизнь.

2. Сотрудничество — работать вместе с другими людьми и стараться задействовать сильные стороны каждого.

3. Профессиональное мастерство — применять свои навыки для достижения высококачественных результатов и всегда стремиться сделать лучше.

4. Усердие — выполнять необходимую тяжелую работу и не искать легких путей или полумер.

5. Решительность — делать трудный выбор и избегать отставания от графика или откладывания.

6. Вкус — научиться чутко воспринимать нюансы и добиться равновесия, чтобы все было связано воедино и приятно.

7. Эмпатия — умение поставить себя на место другого, то есть стараться увидеть мир с точки зрения других людей и создать то, что подойдет их жизни, подстроится под их нужды.

На свете не существует никаких корпоративных учебников, в которых описывались бы эти элементы. Никто не выдает этот список во время обучения новых сотрудников. Нет никаких знаков, начертанных на стенах кампуса Купертино и призывающих нас сотрудничать. Напротив, мы чувствовали, что применение четкой методологии может задушить на корню то новаторство, к которому мы стремимся. Таким образом, наш подход вытекает из самой работы. Он движется сверху вниз, беря свое начало в непререкаемом авторитете и бескомпромиссном видении Стива Джобса, и начинается он с нуля, с ежедневного труда разработчиков и программистов, о которых вы никогда не слышали, таких людей, как я и мои коллеги. Кое о ком из них я вам и собираюсь рассказать.

Но если вы думаете, что прочтете руководство о «Семи вещах, которые сделали Apple великой», то вынужден вас разочаровать: вы увидите, что работа в стиле Apple — это не действия по списку. Я надеюсь, что вы это увидите.

Вы могли взять в руки эту книгу по многим причинам. Не исключено, что среди них было желание посмотреть на то, как работает образцовая американская компания с точки зрения ее сотрудников, услышать байки о вашей любимой продукции Apple или узнать что-то о доступном пониманию лишь посвященных в мастерство разработки ПО.

Эти семь главных элементов — квинтэссенция того, что мы делаем каждый день, и при этом они представляют собой открытия, потребовавшие много времени. Очень важная составляющая этой книги — рассказ о создании творческих методов, ставших побочным продуктом нашей основной работы. В то время как все мы занимались созданием продукта, мы разрабатывали подход к разработке классного программного обеспечения. Это было эволюцией, мы решали конкретные задачи, но при этом всегда представляли цель. Мы никогда не ждали озарений, одним махом решающих проблему, и моментов, где можно было крикнуть: «Эврика!», у нас было очень мало. Даже когда мне в голову приходила прорывная идея — подробнее я расскажу об этом дальше, — я, разумеется, не бегал по кампусу Apple голышом, как это предположительно происходило с Архимедом. Вместо этого мы двигались вперед как группа, продумывая каждый шаг, и шли от поставленной задачи по разработке демоверсии к поступлению продукта в продажу, принимая каждую многообещающую идею и стараясь все улучшить. Мы смешивали все эти семь основополагающих элементов и формировали из них «молекулы», соединяя вдохновение и решительность, чтобы создать первые прототипы, или сочетали сотрудничество, мастерство и понимание, чтобы дать подробную обратную связь товарищу по команде. Иногда мы объединяли усердие и сопереживание, стараясь создать программное обеспечение, которое люди могли бы использовать, не напрягая голову. Выполняя эту работу, смешивая и соединяя наши основные семь элементов, мы всегда добавляли к ним что-то личное, октэссенцию[4], и, собрав вместе наши цели, идеи и усилия, наши элементы, молекулы и личное отношение, мы создали подход, который я называю «творческий отбор».

<p>1. Демонстрация</p>

«Бзззззз!»

Я посмотрел на свой iPhone. Последние полчаса я нервно вертел его в руках. Наконец я получил сообщение, которого ждал.

«В любую минуту», — гласило оно.

«ОК», — написал я в ответ.

Я сидел, подавшись вперед, упершись локтями в колени, неудобно устроившись на кожаном стуле, вполне удобном в обычной ситуации. Это был один из стульев, расставленных на официальном месте встреч около лифтов на втором этаже штаб-квартиры Apple, в здании Infinite Loop 2, Купертино, штат Калифорния. Получив сообщение, я поднялся со стула, опустил iPhone в карман и прошел несколько шагов по тихому коридору, пока не оказался около конференц-зала под названием «Дипломатия». Когда дверь откроется, меня пригласят внутрь, чтобы я мог показать свою программу Стиву Джобсу.

Был конец лета 2009 года, и я делал прототипы программного обеспечения для новой продукции — пока еще не имеющего названия планшетного компьютера. Чуть больше двух лет назад компания Apple представила миру iPhone, который практически сразу стал лидером на рынке и за один день получил признание специалистов в сфере IT. Теперь такие люди, как я, программисты iOS, сможем поучаствовать в создании достойного преемника.

С 2005 года я также работал и над iPhone. После всех превратностей судьбы, которые я подробно опишу в главе 6 «Дерби с клавиатурой», мне поручили писать программное обеспечение для клавиатуры iPhone, особое внимание уделив функции автоисправления — коду, который меняет ваше «письмо без очепяток» на «письмо без опечаток».

Во время разработки iPhone мы говорили (и здорово при этом нервничали) об этой клавиатуре как о «научном проекте». Когда мы начали придумывать операционную систему нашего сенсорного телефона, никто не знал, будет ли набор символов на этом реагирующем на прикосновения куске стекла технически возможным или мы ввязались в безнадежную авантюру. В наши дни виртуальные клавиатуры стали широко распространены, но тогда идеалом смартфона был BlackBerry со своей встроенной аппаратной клавиатурой, пластиковыми миниатюрными кнопками и тактильной печатью большими пальцами. В отличие от него, на клавиатуре iPhone были крошечные виртуальные клавиши, не дающие никакой обратной связи, ощущаемой подушечками пальцев.

Эффективная функция автоисправления была первой необходимостью, и я работал, постоянно беспокоясь о том, что мой исправляющий набранное код может сделать с iPhone что-нибудь неожиданное. Никто в Apple не хотел повторения истории с карманным персональным компьютером Newton, выпущенным на рынок в 1990-е годы. Ненадежное программное обеспечение распознавания рукописного текста так навредило репутации Newton в глазах пользователей, что эти КПК никогда хорошо не продавались. Во многом из-за того, что текстовый ввод получился неудачным. Newton так и не стал неотъемлемым товаром для потребительского рынка, как это планировалось.

Мою задачу еще больше осложняла вездесущая секретность Apple. В проекте Purple[5] — кодовое название для разработки iPhone — каждая деталь имела конфиденциальную защиту с уровнями доступа. Очень немногим людям выпал шанс увидеть или попробовать программное обеспечение Purple до того, как Стив объявил о нем на широко освещенной в СМИ презентации в январе 2007 года, поэтому не могло быть и речи о том, чтобы моя работа по клавиатуре развивалась как настоящий научный проект, и о том, чтобы провести для нее широкие испытания. До того, как весь мир увидел ее, я получил отзывы о функции автоисправления всего от нескольких десятков человек. Ясное дело, что мы нервничали.

Пока я стоял в коридоре около «Дипломатии», у меня не было времени размышлять о том, сколько нервов я потратил во время разработки клавиатуры iPhone. Я больше думал о стрессе, который испытывал прямо сейчас, — мне предстояла демонстрация своих достижений перед Стивом. Этот новый планшет, который много месяцев спустя Apple представит как iPad, использовал ту же операционную систему, что и iPhone, но у него был экран побольше. Из-за этого с клавиатурой возник целый ряд новых проблем, и я был готов представить свое решение одной из них. Такие демонстрации лежали в основе процесса разработки программного обеспечения в Apple. Далее в этой книге я еще не раз буду говорить о подобных показах.

Пока разрабатывался наш смартфон Purple, мне никогда не приходилось показывать свою клавиатуру Стиву — кто-то, занимающий более высокую должность в организации, брал на себя эту обязанность.

Похоже, клавиатура работала хорошо, и это сыграло мне на руку. Меня пригласили на встречу со Стивом только после того, как автокоррекция заработала и я как бы зарекомендовал себя. Мне не говорили об этом прямо, это показывает, как непросто пересечься со знаменитым CEO Apple.

Похожие книги