Но у него возник еще один вопрос: есть ли в мире компьютерного программирования место для исключительных проектов? Ответ на второй вопрос он нашел в справочнике для желающих найти работу, изданном в 2005 г. Книга называлась довольно оригинально: «Моя работа уехала в Индию: 52 способа спасти свою работу» (My Job Went to India: 52 Ways to Save Your Job){48}. Ее автор Чед Фаулер, известный специалист по программированию на языке Ruby, давал советы, касающиеся карьеры, в том числе и программистам. Одна из пятидесяти двух стратегий, предлагаемых Фаулером, заключалась в том, что программисту, желающему найти работу, следует поддерживать движение сторонников программного обеспечения с открытым исходным кодом. Это движение объединяет программистов, на добровольной основе разрабатывающих программное обеспечение, которое можно бесплатно скачивать и менять. Фаулер подчеркивает, что это уважаемое и влиятельное сообщество. Если вы хотите сделать себе имя в области разработки программного обеспечения (способное помочь получить работу), старайтесь участвовать в проектах с открытым исходным кодом. На этом поприще вас заметят лучшие работодатели, писал автор справочника.
«И тогда я просто сложил два и два, – рассказывает Джайлс. – Прочитав “Фиолетовую корову” и “Моя работа уехала в Индию”, я понял, что лучший способ продать себя в качестве программиста – написать исключительную программу с открытым исходным кодом. Так я и сделал».
Следуя совету Година, Джайлс разработал Archaeopteryx – программу для сочинения и исполнения музыки на основе искусственного интеллекта. «Вряд ли еще у кого-то есть такое сочетание навыков, как у меня, – говорит он. – Многие программисты, использующие Ruby, любят танцевальную музыку, но вряд ли кто-то из них станет тратить время на сочинение брейк-битов и синт-патчей или выпуск не приносящих ни гроша дисков, не говоря уже об изучении теории музыки». Иными словами, благодаря уникальному сочетанию навыков Джайлс смог написать программу на Ruby, позволяющую сочинять музыку. Если бы ему удалось добиться успеха, она стала бы его фиолетовой коровой.
Опираясь на совет Фаулера, Джайлс решил, что сообщество специалистов, пишущих программы с открытым исходным кодом, – идеальная площадка для презентации его коровы. Он выложил в Сеть открытый исходный код Archaeopteryx и начал распространять информацию о своей программе. «Я последовал совету Чеда Фаулера буквально и стал выступать везде, где только мог, – в каждой группе пользователей и на любой конференции. В 2008 г. я выступил не менее 15 раз», – вспоминает Джайлс. Гибридная стратегия Година – Фаулера сработала. «На меня посыпались предложения, – рассказывает мой собеседник. – Я работал с ведущими программистами. Мне предложили написать книгу о Archaeopteryx. Я мог просить больше денег, чем привык получать». Иначе говоря, эта стратегия сделала миссию Джайлса успешной, а карьеру блестящей.
Закон исключительности
Когда я размышлял об истории Джайлса, у меня все время вертелось на языке слово «исключительный». Я думаю, Джайлс понял, что проект, движимый миссией, должен быть исключительным в двух отношениях. Во-первых, он должен быть исключительным в прямом смысле слова – выделяться среди других, чтобы его заметили. Чтобы понять, что такое исключительность, посмотрим на проект, исключительным не являющийся. Прежде чем написать Archaeopteryx, Джайлс работал над другим проектом с открытым исходным кодом. Он собрал популярные инструменты, запускаемые из командной строки, включил их в один пакет и снабдил подробной документацией. Если вы спросите какого-нибудь программиста, использующего Ruby, что он думает об этом проекте, он скажет, что это основательная, качественная, полезная работа, но вряд ли бросится писать своим друзьям: «Вы только посмотрите, что он сделал!»
Говоря словами Сета Година, первый проект явно был бурой коровой. В отличие от него программа, сочиняющая сложную музыку, – это фиолетовая корова. Ее обязательно заметят, и о ней будут говорить.
Такое определение исключительности удобно тем, что его можно применять в любой области. Взять хотя бы книги. Если бы я опубликовал книгу полезных советов для недавних выпускников, которым предстоит найти работу, ее, несомненно, сочли бы полезной, но никто не стал бы рассказывать о ней взахлеб по iPhone или в Twitter. А вот если выйдет в свет книга, в которой говорится, что гоняться за мечтами – бесполезное и даже опасное занятие, вы, надеюсь, расскажете о ней своим знакомым. Начиная работать над такой книгой, автор мечтал, что она получится исключительной.