Программист-фанатик — страница 10 из 35

Поработав на Sun четыре года и столкнувшись с вопросом «А дальше что?», я решил стать независимым. И начал писать книги для издательства O'Reilly. Разрабатывать программное обеспечение для Mac. Я создал изрядное количество программ, так и не дошедших до выпуска. В конце концов, я занялся разработкой Ruby on Rails. Мне нравится быть независимым разработчиком программного обеспечения, и у меня это хорошо получается. Фактически хобби, которым я увлекался, превратилось в профессию.

Из мечтающего стать архитектором студента я превратился в серьезного технического специалиста, увлекающегося фотографией. Основам фотоискусства меня научила бабушка, а родители всячески поддерживали мое хобби. В итоге, сколько себя помню, рядом со мной всегда была камера. Она стала атрибутом моей жизни. Более того, невыпущенная программа, которую я писал для себя после ухода из Sun, была предназначена для работы с фотографиями.

В 2005 году, через десять лет после того как я прекратил учиться на архитектора и переключился на разработку программного обеспечения, мне позвонили друзья из группы, занимающейся организацией конференций для O'Reilly Им требовался человек, который мог бы запечатлеть проводимое мероприятие, и меня спросили, не хочу ли я прийти и сделать несколько снимков. Я принял предложение, но несколько вышел за рамки данных мне инструкций. Я с удовольствием снял все важные заседания и с изумившей всех быстротой выложил фотографии на сайт Flickr. Меня снова пригласили на аналогичное мероприятие, и в течение следующих четырех лет благодаря большому количеству клиентов мне удалось открыть свое дело.

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

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

Действуй!

1. Найди работу, которая тебе по-настоящему интересна.

2. Начиная со следующего понедельника на протяжении двух недель веди журнал. Каждый будний день, проснувшись, отмечай уровень энтузиазма по десятибалльной шкале: 1 означает, что ты предпочел бы заболеть, лишь бы не идти на работу, а 10 — что высокая температура не может удержать тебя в постели, так тебя захватила идея по поводу решения очередной задачи.

Через две недели внимательно посмотри на результаты. Есть ли на графике пики? Какие тенденции он показывает? Он прижат вниз или стремится ввысь? Какую бы ты поставил себе оценку, если бы это был школьный тест?

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

Часть IIИнвестируя в свой продукт

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

Но именно это помешало мне вложиться в себя как в саксофониста. Все получалось достаточно легко, и я был доволен. Кроме того, для групп, в которых мне приходилось играть, я был, как правило, «палочкой-выручалочкой», соответственно особого давления со стороны коллег тоже не наблюдалось.

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

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

Возможно, все дело в том, что я постарел. Или поумнел, хотя в этом я сомневаюсь. Но теперь я понял, насколько большое значение могут иметь даже небольшие инвестиции в себя. Вместо того чтобы взять инструменты и отправиться на очередной концерт, я (в обязательном порядке) играл сам для себя. Это позволило мне более целенаправленно подойти к инструментам. Я слушал музыку и составлял список приемов, которые неплохо было бы изучить. Скажем, я всегда хотел делать такие же штуки, которые показывал в своих соло на саксофоне Фил Вудс. Или узнать, каким образом Принс в конце песни «Let's Go Crazy» из альбома Purple Rain заставляет свою гитару так визжать.

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

Через несколько месяцев таких целенаправленных стараний я во многих отношениях стал играть лучше, чем когда бы то ни было, лучше, чем я играл, когда музыка была моей работой. Сконцентрированный и вкладывающийся в свои способности (пусть даже в виде хобби), я наголову превзошел себя, полагающегося на природные талант и способности.

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

В этой части книги мы рассмотрим стратегии инвестиций в карьеру. Мы поговорим о том, как выбрать навыки и технологии, в которые имеет смысл вкладываться, и какими способами мы можем вложиться в себя. Именно с этого момента начнется реальная работа.

Совет 11Учимся ловить рыбу

Лао-цзы сказал: «Дай человеку рыбу, и он будет сыт целый день. Научи его ловить рыбу, и он будет сыт всю жизнь». При всей верности этой поговорки Лао-цзы не учел, что бывают люди, не желающие учиться ловить рыбу. Такой человек предпочтет на следующий день попросить еще одну рыбу. В процессе обучения задействованы как учитель, так и ученик. Но многие из нас зачастую не испытывают желания учиться.

Не жди, пока тебе расскажут. Спрашивай сам!

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

Кто хочет зависеть от милостей другого человека? Или поставим вопрос более жестко: ты бы согласился нанять на работу человека, зависящего от целой группы специалистов? Лично я отвечаю на этот вопрос отрицательно. И предпочитаю сотрудников, способных к самостоятельным действиям.

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