Конспект книги Passionate Programmer (Страстный Программист) by Chad Fowler от Чеда Фаулера

Чед Фаулер — известный разработчик, тренер, управленец, оратор и музыкант. Работал с крупнейшими производителями ПО и наиболее значимыми разработчиками. До недавнего времени был техническим директором 6Wunderkinder. После того, как компанию купил Microsoft, работает в этой корпорации. Один из организаторов конференций RubyConf и RailsConf. Автор и соавтор множества популярных книг, посвящённых разработке программного обеспечения, в том числе книги «Программист-фанатик» (The Passionate Programmer: Creating a Remarkable Career in Software Development).

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

В каждом из нас есть что-то выдающееся

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

До того как я зажегся проектом 37signals и Ruby on Rails, я прошел через серию работ и проектов которые вовсе не подходили под название «выдающийся». Я торговал водой, и дни были похожи друг на друга как две капли. Прежде чем я это осознал, прошло 6 месяцев и они не дали мне абсолютно ничего. Чувство горечи было отвратительным. Просто ненавижу ощущение, что моё существование не имеет ровным счетом никакого значения и мир не изменится ни на йоту, если я свою работу не сделаю.

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

Для меня, ведение выдающейся карьеры — это лучший из тех путей, которые я знаю для начала выдающейся жизни — такой, в которой ты не просто станешь лучшим и более востребованным работником, но и станешь лучше как человек.
Именно поэтому эта книга так важна. Она посвящена не просто тому, как делать более качественные виджеты и чувствовать себя безопаснее в работе. Она больше о том, как развить в себе навыки и чувства для того, чтобы жизнь была благодатнее и наполнена выдающимися составляющими, из которых работа — лишь одна из них.
Дэвид Хэнсон (David Heinemeier Hansson)
Создатель Ruby on Rails и партнер проекта 37signals.

Страсть к программированию. Выбираем рынок.

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

Непрограммисты в среднем так же умны, как и программисты. (Другими словами, хотя большинство из них не поражает нас уровнем интеллекта, попадаются и довольно умные люди.)

Книга также посвящена тому, как развить в себе желание прожить выдающуюся жизнь. Удивительно, но далеко не в каждом из нас живет стремление вести выдающуюся жизнь, когда мы начинаем свою карьеру. Большинство из нас просто плывёт по течению. Наши ожидания были занижены всеми окружающими нас источниками информации: СМИ, нашими друзьями, знакомыми и родными. Поэтому ведение выдающейся жизни должно стать для тебя целью. Это не так очевидно.

Большинство взрослых людей большую часть своего времени бодрствования проводят в работе, а по отчёту Бюро Статистики Труда США за 2006 г. средний американец тратит на работу половину времени. Отдых и занятия спортом далеко позади и занимают лишь 15% времени бодрствования. Факты говорят о том, что живём мы в основном на работе.

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

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

Может быть и нет. Но что действительно истинно, так это то, что сконцентрировав свои усилия на счастье как главном мотиваторе мы сможем принимать гораздо лучшие решения о том, какие именно небольшие шаги необходимо сделать для достижения этой цели. Более высокая зарплата действительно может быть желанной и вести к счастью. Но если ты отведёшь взгляд от основной цели, то это может привести к тому, что ты будешь добиваться более высокой зарплаты ценой счастья. Это звучит дико, но я так делал. И ты возможно тоже. Подумай над этим.
На протяжении этой книги, я собираюсь давать советы, которые, я надеюсь, приведут тебя к более счастливой и стоящей карьере (и как следствие к более счастливой жизни). Возможно, следуя этим советам, ты станешь больше зарабатывать. Возможно, ты станешь более узнаваемым или даже известным. Но пожалуйста помни, что это — не цели. Это средства для её (цели) достижения.

Не ведая преград!

По иронии судьбы одним из важнейших шагов на пути построения выдающейся карьеры для меня стало написание первого издания этой книги. Тогда она называлась «Я работал в Индии (и всё, что я получил — эту жалкую книгу): 52 способа сохранить работу». На обложке был изображен парень с табличкой «Программирую за еду». Это было привольно а название и шокирующая красная обложка играли на страхе Западного мира, что вся работа будет выполняться дешёвыми аутсорсинговыми компаниями.
Проблема была в том, что всё это рисовало неправильную картину. Суть в том, что если ты хочешь «сохранить» работу, то я тут не помощник. Эта книга не о том, как добиться какого-то скучного уровня развития, чтобы тебя не уволили. Эта книга о том, как быть клёвым. Ты не выиграешь гонку, если будешь стремиться не продуть. И ты не выиграешь в жизни, если будешь стараться не налажать. К счастью, эта книжка вовсе не о том, как не налажать. У меня в эту сторону даже мозг не повернется подумать и я надеюсь у тебя тоже.

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

Как-то вечером после работы я просматривал книги в ближайшем книжном магазине и наткнулся в отделе новинок на книгу Кента Бека «Extreme Programming Explained». Вторым названием книги было «Используйте перемены по максимуму». Идея изменений всегда была мне близка. До того момента у меня всегда были сложности с удержанием внимания и я прыгал с одной работы на другую, часто меняя компании в которых работал. Мысль о «методологии разработки ПО» казалась мне невыносимо скучной и отдавала менеджерством, но я решил, что если это позволит постоянно что-то менять, то это может помочь мне не заскучать и не думать о том, что мне нужно менять работу.

Покупка этой книги оказалась очень удачной. Когда я начал её читать, то уже не мог оторваться. После растерзания этой книги я прочел всё что нашел в интернете об идеях экстремального программирования (Extreme Programming — XP). Эти идеи захватили меня настолько, что я даже обратился к нашему руководителю информационной службы и попытался посвятить и его. Мне удалось убедить и его и его подчиненных и для внедрения экстремального программирования он отправил многих из нас на курсы «Погружение в экстремальное программирование».

Если ты хотел изучить XP, то лучше этих курсов было не найти. Это было похоже на пропуск за кулисы на концерт любимой рок группы. Поработав с этими людьми, я стал гораздо умней. Стал гораздо креативней. И когда курсы закончились, мне было очень грустно. Я даже не мог представить себе как вернусь в свой маленький кабинет и буду биться головой о стену обыденности, которую вырастил на работе.

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

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

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

Однако несмотря на то, что я не был подготовлен как программист, мой опыт музыканта дал мне возможность пропустить этот шаг и не стать обычным программистом (да и кому охота быть обычным?). Никто не становится музыкантом чтобы прожить комфортную жизнь без потрясений. Музыкальная индустрия — слишком жестокая среда, чтобы такой план казался осуществимым. Все люди, ставшие профессиональными музыкантами хотят быть великими. По крайней мере в начале пути в музыкальном мире, отношение к тому чтобы быть великим просто бинарно. Либо быть великим (и как следствие известным), либо не стоит и соваться.
Я часто задаюсь вопросом, почему так много хороших музыкантов — так же и хорошие программисты? Причина проста. Дело не в том, что задействуются аналогичные функции мозга или в том, что обе профессии ориентированы на детали или в том, что обе они требуют креативности. Дело в том, что человек, который хочет стать великим гораздо более вероятно таким станет, чем тот, кто просто хочет делать своё дело. И даже если не могут все быть Мартинами Фаулерами (Martin Fowler), Линусами Торвальдсами (Linus Torvalds) или Программистами-Прагматиками, постановка такой высокой цели делает это более вероятным, чем то, что мы остановимся на уровне ниже среднего.

Ты должен

Большинство людей следует чьим угодно планам, только не своим. Чтобы отделить себя от других, всё что нужно сделать — это остановиться и хорошенько приглядеться к своей карьере. Тебе нужно придерживаться своего плана, а не кого-то ещё.
Как составить такой план?

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

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

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

И увидим, как эти четыре грани могут быть применены в карьере:

  • Выбери рынок. Осознано и осторожно подбери технологии и сферы бизнеса, на которых ты будешь концентрироваться. Как сбалансирвоать риски и вознаграждения? Как учесть фактор спроса и предложения?
  • Инвестируй в свой продукт. Твои знания и навыки — это краеугольный камень всего продукта. Правильные инвестиции в них — ключ к хорошему спросу на рынке труда. Просто знать Visual Basic или Java уже не достаточно. Какие ещё навыки могут тебе понадобиться в новых экономических условиях?
  • Действуй. Простое содержание работников с серьёзными навыками не приносит компании денег. Их должны приносить сами работники. Как сохранять темп такой доставки, не замарав при этом рук? Как узнать, что ты представляешь для компании достаточную ценность?
  • Продавай! Даже самый лучший продукт не будет продаваться, если о его существовании никто не знает. Как получить признание в компании и в отрасли в целом без подлизывания?

Ты на пороге большой инвестиции. Может быть она не потребует от тебя много денег, но потребует вложения времени — материала, из которого состоит жизнь. Многие из нас при построении карьеры плывут по течению, позволяя ему занести куда угодно. Мы просто изучаем Java или Visual Basic, а потом начальство организует нам курсы по какой-нибудь новомодной индусской технологии. И так мы и плывём дальше некоторое время, пока кто-нибудь нас ещё куда-нибудь не подтолкнёт. Такая карьера — одна большая цепочка случайностей.

В книге «Программист-Прагматик» Дэйв Томас и Энди Хант рассказывают о программировании в расчёте на совпадение. Большинство программистов придерживаются такого подхода: начинают работать над чем-либо, добавляют немного кода здесь, намного там. Ты можешь начать с примера программы, который скопипастишь из интернета. На первых порах это работает и ты немного правишь программу, чтобы она больше отвечала твоим требованиям. Ты не совсем чётко представляешь себе что ты делаешь, но продолжаешь пинать программу то здесь, то там, пока она практически полностью не станет такой, какой должна быть. Проблема в том, что в этом случае ты не понимаешь, как она работает и, как в карточном домике, каждая новая добавленная фича повышает вероятность того, что программа рухнет.

Для любого разработчика очевидно, что программирование в расчёте на совпадение — это неправильно. Однако для многих из нас важнейшие решения в карьере становятся, по сути, случайными. В какие технологии мы должны вкладывать? В какой сфере развиваться? Нужно ли углублять свои знания или обходиться кратким рассмотрением? Эти вопросы должны возникать сами собой.

Представь, что ты открыл своё дело и решаешь, что же будет флагманским продуктом компании. Без такого продукта-«хита» компания скорее всего пойдёт ко дну. Много ли нужно уделять внимания выбору целевой аудитории? Перед тем, как приступить непосредственно к производству продукта, сколько времени уделить на определение того, что же конкретно он будет из себя представлять? Никто не доверит кому-нибудь другому принимать такие решения. Мы будем сверхвнимательны к каждой детали при принятии таких решений.

Так почему же большинство из нас не делают этого, когда решения касаются карьеры? Если ты подумаешь о своей карьере как о бизнесе (чем она, несомненно, и является), то твой «продукт» — это те услуги, которые ты предоставляешь.
Что это за услуги? Кто их купит? С годами будет ли расти или уменьшаться доход от них? Насколько ты рискуешь, делая тот или иной выбор?

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

Веди или умри

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

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

В этом нет ничего нового. Мы все познаём это ещё из детских игр. Если я побегу прямо между ними, то возможно это их ошарашит и никто меня не осалит. То же самое происходит с нами в нашей повседневной жизни. Если ты опаздываешь на встречу и выбираешь дорогу на работу, то делаешь тот же самый выбор, взвешивая риски. Если пробок нет, то я сэкономлю 15 минут если поеду по 32-ой улице. А если там пробка, то мне конец.

Взвешивание рисков — важная часть при выборе тех технологий и областей, в которые ты будешь инвестировать своё время. Пятнадцать лет назад выбор изучения COBOL был практически не связан с риском. Поэтому программистов COBOL было очень много и их средняя зарплата не особенно впечатляла. Легко можно было найти работу, но вряд ли она принесла огромный доход. Низкий риск — низкая и награда.

С другой стороны, если бы ты решил изучать новый язык Java от Sun Microsystems, то возможно были бы проблемы с поисками компании, которая делает что-то на Java. Кто знал, что кто-то вообще будет использовать Java?

Но если ты взглянешь на состояние индустрии того времени, как это сделала Sun, то увидишь что-то особенное в Java. У тебя может появиться сильное чувство, что из этого получится что-то внушительное. Инвестиции во что-то перспективное на раннем периоде может сделать тебя лидером в новом технологическом направлении.

Конечно, в данном случае ты бы поступил правильно. И если бы ты действовал правильно, то инвестиции в Java могли бы стать очень прибыльными. Высокий риск — высокая награда.

Как бы то ни было, я говорю о разнице между новейшими технологиями и уже устоявшимися. Выбор стабильной технологии, которая прочно вклинилась в производственные бизнес системы по всему миру, более безопасен, но потенциально менее выгоден, чем выбор новейшей технологии, с которой ещё никто не работает. А как насчет технологий, отживающих свой век? Тех, которые только и ждут когда же в крышки их гробов забьют последние гвозди?

Кто вобьёт эти гвозди? Взять к примеру программистов RPG — уже седых и считающих часы до выхода на пенсии, в то время как молодёжь даже не слышала об этом языке. Они все учили Java и .NET. Понятно, что карьера этих последних оставшихся приверженцев умирающей технологии описывает ту же спираль смерти, что и сама технология.

Но старые системы не умирают. Они заменяются. Более того, в большинстве случаев, системы заменяются поэтапно. И в течение этих этапов старые системы должны общаться с новыми. Кто-то должен знать, как наладить такое взаимодействие в обоих направлениях. Обычно, молодёжь не знает (да и не особо хочет узнавать) как работать со старыми системами. В то же время сварливые старики не знают, как заставить новомодные системы разговаривать с их любимыми созданиями.
Объединение знаний по этим двум технологиям может оказаться выгодным.

Поэтому задача расчетливого программиста — занять эту нишу и организовать таким образом технологический хоспис. Помочь отжившим своё технологиям уйти с достоинством — задача, которую сложно переоценить. И, конечно, люди обычно покидают корабль до того, как он утонет, либо уходя на пенсии, либо просто переходя на другую технологию. Если ты будешь последним, кто сможет сопровождать всё ещё критичные системы, то весьма вероятно будешь в цене. Это рискованно, потому что когда технология действительно исчезнет, то ты будешь экспертом в чём-то, что уже не существует. Однако если ты умеешь быстро переключаться, то сможешь взять другую умирающую технологию и начать сначала.
Кривая развития технологии имеет два края. Как далеко от этих краёв ты предпочтёшь находиться?

Кодинг ещё не всё

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

На самом деле разработчик должен разбираться в предметной области не просто на уровне, достаточном для программирования, но быть в ней экспертом. На предыдущем месте работы я столкнулся с примером этого. В команду администрирования баз данных входили люди не сильно заинтересованные в технологиях БД. Когда я это понял, для меня это было удивительно. Я подумал: «Что они вообще делают в IT?» В технических вопросах они были не сильно подкованы. Но в этой команде было кое-что особенное. Кроме того что они хранили и защищали наши данные, они разбирались в предметной области лучше практически всех наших бизнес аналитиков. Их знания делали их очень привлекательными на внутреннем рынке труда. В то время как мы, гики, смотрели на них снисходительно, бизнесмены ценили их очень высоко.

Представь, что у тебя есть свой репертуар и знание предметной области — очень важная его часть. Для музыканта добавление песни в свой репертуар значит, что он не просто один раз её исполнит, это значит, что он её отлично знает. То же самое и в бизнесе. Если ты, к примеру, работаешь в области страхования, это ещё совсем не значит, что ты понимаешь разницу между транзакциями электронного обмена данными по стандартам HIPAA 835 и HIPAA 837. Именно такие знания и отличают двух равноценных между собой разработчиков в определённой ситуации.

Ты можешь быть и «просто программистом», но общаться с клиентом на его языке — одно из важнейших умений. Представь себе, насколько жизнь была бы лучше, если бы все с кем ты работаешь понимали как разрабатывается софт. Тебе бы не пришлось объяснять, почему плохо возвращать 30 000 записей в одну страницу web-приложения, и почему не стоит передавать ссылки на внутренний сервер разработки. Так вот тоже самое думают о тебе твои бизнес клиенты: эх, насколько было бы проще, если бы эти программисты понимали то, что их просят сделать и мне не приходилось бы им всё разжёвывать до мельчайших подробностей. И вот что удивительно: эти люди тебе ещё и деньги платят!

Точно так же, как и технологии, предметные области могут пользоваться большим или меньшим спросом и выбираться исходя из тех же соображений. Java и .NET сейчас на подъёме и если ты их знаешь, то можешь претендовать на работу в одной из многих компаний, которые нанимают специалистов в этих технологиях. То же самое верно и для предметных областей. Ты должен уделять внимание как выбору индустрии, в которой будешь работать, так и выбору технологии, в которой будешь совершенствоваться.
Пришло время задуматься над тем, в какую предметную область ты будешь вкладывать своё время.
В свете важности правильного выбора предметной области при формировании своего портфолио, выбор компании и отрасли, на которые ты собираешься работать, становится для тебя важной частью твоей инвестиции. Если ты ещё всерьёз не думал о том, в какую предметную область ты будешь инвестировать, то сейчас самое время. Каждый прошедший день — это упущенная возможность. Это всё равно что держать сбережения на низкодоходном вкладе, когда требуются более выгодные. Оставлять своё развитие в направлении бизнеса в застое — вовсе не самая лучшая инвестиция.

Действуй!

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

Это может показаться странным и не очень удобным. Это нормально. Я начал так делать пару лет назад и почувствовал огромные изменения в понимании и отношении к бизнесу, в котором я работал. Ещё одним положительным эффектом стало то, что разговаривать с заказчиками мне стало гораздо спокойней.

Возьми журнал, обозревающий область деятельности твоей компании. Возможно, тебе даже не придётся его покупать. В большинстве компаний где-нибудь валяется куча старых выпусков таких журналов. Начни прорабатывать эти подшивки. Поначалу ты возможно и не поймёшь всё, что в них написано, но будь настойчив. Составь перечень вопросов и задай их своему руководству или поинтересуйся у клиентов. Даже если твои вопросы выглядят глупо, клиенты оценят твоё стремление учиться.
Выбери также сайты в твоей области, которые ты сможешь просматривать на регулярной основе. И на сайтах, и на страницах журналов уделяй особое внимание основным новостям и нововведениям. С какими проблемами сталкиваются и борются люди в этой области? Какая проблема сейчас самая важная и горячо обсуждаемая? Что бы это ни было, обсуди её со своими клиентами. Попроси их подробнее её объяснить и узнай их мнения. Подумай о том, как эти изменения затрагивают твою компанию, твой отдел, твою команду и, в конце концов, твою работу.

Спрос и предложение

Когда web только начинал свой путь, то каждый мог зарабатывать кучу денег делая простенькие странички в HTML для компаний. Каждая компания хотела себе страницу в интернете и относительно мало людей знало как их делать. Компании готовы были платить очень много «опытным» web-дизайнерам, от которых требовались лишь базовые знания HTML, ссылок и структуры сайта.
Делать HTML страницы достаточно просто. Сложно сделать красивые страницы, но основы достаточно просты в освоении. Со временем, люди заметили насколько велик спрос на web-дизайнеров и всё больше стали покупать и изучать книги по HTML. Рынок был очень горячим, зарплаты и почасовые ставки были высоки и предложение в ответ на это стало расти.

Рынок наполнялся дизайнерами и они начали делиться на действительно творческих личностей и просто прикладных. Более того, конкуренция стала понижать цены. В результате больше компаний смогли позволить себе сделать первый шаг и начать мелькать в интернет. Возможно, они не могли себе позволить заплатить $5000 за первый сайт, но могли заплатить $500.
Конечно, некоторые конторы всё ещё готовы были расстаться с внушительными суммами за нереальный сайт. И некоторые web-дизайнеры всё ещё могли рассчитывать на серьёзное вознаграждение.

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

Ты не можешь соревноваться в цене. По сути, тебе это просто не по карману.

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

Дешёвые оффшорные программисты сосредоточены на относительно узком наборе технологий. Java и .NET программистов в Индии пруд пруди. Так же в Индии много администраторов БД Oracle. Менее массовые технологии представлены оффшорными программистами значительно слабее. Выбирая технологию, в которой будешь развиваться, ты должен осознавать влияние повышения предложения и понижения цен на твою будущую карьеру.

При программировании для .NET у тебя будет в десятки тысяч раз больше конкурентов на рынке труда, чем если бы ты программировал, например, на Python. Это может привести к тому, что средняя цена на .NET программистов существенно снизится, возможно, увеличив при этом спрос (таким образом увеличивая количество рабочих мест в этой области). В конечном итоге найти работу возможно и не составит труда, но она вряд ли будет хорошо оплачиваться. Предложение на рынке программирования на Python значительно ниже, чем на .NET, но и спрос под стать.

На рынке программирования на Python, где цены на программистов значительно выше, люди могут прельщаться на более высокий ценовой диапазон и начать предлагать свои услуги, снижая таким образом цены в среднем.
Таким образом всё и балансирует. Но один аспект очевиден. Индия обслуживает лишь уже стабилизировавшиеся IT рынки. Ты не встретишь среднестатистическую оффшорную компанию, переходящую на какую-нибудь необычную технологию. Они никогда не станут первопроходцами. Они никогда не рискуют. Они дожидаются равновесия на рынке технологий и затем взрывают его своими сверхдешевыми программистами.

Отталкиваясь от этих наблюдений ты можешь выбрать в качестве своей арены тот сегмент рынка, на котором спрос не так высок. Как бы абсурдно это не звучало, если ты опасаешься проиграть оффшорным программистам, то один из возможных вариантов — избегать тех видов работ, которые они делают. Оффшорные компании берутся за те отрасли, в которых спрос высок. Поэтому сосредоточившись на достаточно нишевых технологиях ты наверняка не уменьшишь конкуренцию (так как работы на этом рынке меньше), но это позволит тебе переключиться с конкуренции цен на конкуренцию способностей. А как раз это тебе и нужно. Ты не можешь соревноваться в ценах, а в способностях — вполне.

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

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

Используй неуравновешенность рынка.

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

Действуй!

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

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

Составь список существующих технологий, находящихся в начале, середине и в конце своего пути. Расположи их слева направо. Слева будут новейшие, а справа — уходящие технологии. Заставь себя найти как можно больше технологий в каждой части спектра. Будь как можно внимательней к тому в каком порядке расположить их на этой прямой относительно друг друга.
Когда напишешь все технологии о которых только сможешь вспомнить, пометь те, в которых ты силён. Затем, может быть другим цветом, пометь те, с которыми ты имел дело, но не настолько в них разбираешься. На каком из концов у тебя наибольшее количество отметок? Они сгруппированы? Или же разбросаны друг относительно друга? Есть ли среди тех технологий, которые расположены на самых краях такие, в которых ты особенно заинтересован?

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

Если хочешь добиться успеха, играя. в какой-нибудь группе — будь в ней худшим.

Общайся с людьми, которые разбираются в твоей сфере лучше тебя, и учись у них. Учись знакомиться и общаться с людьми. Ищи программистские тусовки, вливайся, учись у других. Изучи новый язык программирования. Не имеет смысла переходить с Java на C# или с C на C++. Новый язык должен изменить тип твоего мышления.

Определи свои самые серьезные страхи, связанные с карьерой. Вспомни последние принятые в этом направлении решения. Когда список будет готов, честно оцени каждый из пунктов: насколько твоим решением в данной ситуации управлял страх? Что бы ты сделал, если бы страха не было? Многие из нас считают, что термин «специализация» означает неумение разбираться в других вещах. Согласно такой трактовке я могу заявить, что моя мать специализируется в Windows, ведь она никогда не работала ни с Linux, ни с OS X. А мои родственники из арканзасской глубинки окажутся специалистами по кантри, потому что они никогда не слушали другой музыки.

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

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

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

Ежедневно выделяй немного времени, чтобы изучить очередной аспект выбранного инструмента, позволяющий повысить продуктивность твоей деятельности или лучше контролировать среду разработки. Разберись в бизнесе, в который ты стремишься войти. Изучи основы финансирования бизнеса. Найди книгу по основам бизнеса и прочитай ее внимательно. Ищи среди книг для специалистов по управлению предприятиями. Попроси кого-нибудь рассказать о финансовых показателях твоей компании или отдела (конечно, если это открытая информация). Попробуй повторить эти объяснения. Разберись, почему чистая прибыль называется чистой. Найди наставника или сам стань наставником — себе и другим. Разумеется, я не имею в виду изучение нового материала путем его преподавания — откуда человек сможет узнать этот материал? Но знание фактов не означает понимания их причин и следствий. Именно такое, более глубокое понимание мы развиваем в себе, уча других.

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

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

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

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

Будьте амбициозны, но не слишком выказывайте это.

Грустно то, что этот парень живет следующей работой, обычно он выполняет заурядные и скучные задания на текущей должности. Для меня это как стричь газон. Я ненавижу стричь газон. Это вызывает у меня зуд и чесотку. Еще хуже, если это не дает мне заниматься более интересными для меня вещами. Вы можете нанять людей для стрижки газона. Я был одним из таких парней. Это было очень давно, сейчас я уже закончил с этим, я вырос. Итак, что я обычно делаю, когда я вынужден косить газон? Я тороплюсь. Я работаю неряшливо. Я провожу все время думая о том, как бы побыстрей закончить, и перейти к тому, чем я бы предпочел заниматься. Короче говоря, я стригу газон просто ужасно.

Хорошо, что в моем примере с газонокосилкой никто не смотрит что я делаю и не оценивает качество (кстати, моя жена довольно сильно разозлилась из-за того, что я больше не отвечаю за газон перед домом). Это только моя проблема если газон не выглядит превосходно когда с ним покончено. Никто не сдерживает меня от того, чтобы стать «плохим газонокосильщиком» из-за такой производительности во дворе. В случае с работой в IT, точно такое же поведение может привести к карьерной катастрофе. Возвращаясь к нашему другу из предыдущего параграфа, подумайте, как руководство его оценит? Увидят ли они его недооцененное великолепие? Решат ли повысить? Может сильно поднимут зарплату чтобы осчастливить?

Конечно нет. Он заурядный работник с плохим отношением. И что с того, что у него есть большой потенциал! Прямо сейчас он этого не показывает. Компания не зарабатывает на потенциале. Акционеры не дадут инвестиции, если они не увидят потенциал. Более того, подобное отношение создаст у начальства желание прекратить инвестировать в такого работника.

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

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

Но разве нам не стоит быть амбициозными? Разве появились бы такие корпорации, как Майкрософт и Дженерал Электрик, если бы великие предприниматели не имели своих амбиций и целей?

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

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

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

Вы находитесь рядом со своими клиентами, рядом с начальством, рядом с теми кто принимает решения и влияет на вашу карьеру в краткосрочной и, возможно, долгосрочной перспективе. Разработчики из Индии и Филиппин лишены этого преимущества, но у вас оно есть. Так будьте на своем месте.

Действуйте!

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

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

Помни, на кого работаешь

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

В начале своей карьеры я работал над системой бухгалтерского учёта в организации, которая занималась грузоперевозками. Организация была огромна. Из-за сложнейшей внутренней иерархии я не мог разглядеть в своей работе ничего, что было бы хоть немного связано с доставкой грузов. Я не могу забыть те чувства отчуждённости и отстранённости, которые возникали у нашей команды на всех корпоративных праздниках, проводившихся под конец каждого квартала. Какое достижение мы праздновали? Что значили все те метрики?

К счастью, в те времена меня больше интересовало создание первоклассных систем, а кроме того, я много времени проводил за изучением исходного кода различных open-source продуктов (признаюсь, я всё ещё трачу много времени на эти вещи). Вряд ли я хоть немного задумывался об устройстве бизнеса грузоперевозок. Но если бы я и вправду захотел согласовать свою работу с потребностями организации, едва ли я знал бы, с чего стоит начинать.

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

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

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

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

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

Некоторым может не понравиться такая стратегия: «я не собираюсь делать работу за него!», «он просто снимает сливки с моего труда!».

Успехи вашего начальника — ваши успехи.

Если работа руководителя — формировать приоритеты вместо того, чтобы делать всю работу самостоятельно, то ваша задача непосредственно исполнительская. Нет, вы не работаете за своего руководителя — вы выполняете свою роль.

Если вас серьёзно беспокоит, кто же получает благодарности — помните, ваш руководитель — это тот человек, от которого зависит ваша карьера (по крайней мере, в той организации, в которой вы работаете сейчас). В большинстве компаний именно непосредственный руководитель принимает решения, связанные со служебной аттестацией, зарплатой, бонусами и повышениями. А это значит, что благодарность, которую вы ищете, целиком связана с вашим менеджером.

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

Действуйте!

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

Ты представляешь собой только то, что можешь объяснить.

Далеко не каждый сможет стать вторым Моцартом или Колтрейном. Но мы можем избежать посредственности, найдя работу, которая нас по-настоящему увлечет.

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

Если ты сделал что-то важное, но никто этого не заметил, можно ли засчитать это достижение? А какая разница? Никакой.

Ты не выиграешь гонку, если просто будешь стараться не проиграть.

Ошибка — это попытка кода донести до тебя информацию.

Источник: https://habr.com/ru/post/85922/ и https://habr.com/ru/search/?q=%5BPassionate%20Programmer%5D&target_type=posts

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

два × 3 =