Гибкие навыки. Исчерпывающее руководство по прокачке себя для начинающих разработчиков бесплатное чтение
John Sonmez
Soft Skills: The Software Developer’s Life Manual Second edition updated and reset, Simple Programmer LLC, 2020
Copyright © 2020 by John Z. Sonmez
© Райтман М. А., перевод на русский язык, 2023
© Оформление. ООО «Издательство «Эксмо», 2023
Всем разработчикам, которые непрерывно стремятся
самосовершенствоваться…
Которые недовольны приемлемым результатом
Которые не упускают возможность расширить горизонты
и исследовать новое
Чья жажда познания никогда не угасает Для которых разработка ПО – это больше, чем просто набор кода
Для которых неудача – это не конец, а лишь шаг на пути
Которые падают и вновь встают, чтобы двигаться дальше У кого есть воля и решимость искать более трудный путь в жизни
И, главное, кто готов помогать другим на этом пути
Предисловие
Поздно вечером в пятницу, 5 декабря 2014 года, на мой 62-й день рождения я получил электронное письмо от автора этой книги, Джона Сонмеза. В своем письме он просил меня написать это предисловие к понедельнику, 8 декабря. К письму был прикреплен заархивированный документ, в котором было несколько десятков текстовых документов. По правде говоря, подобная презентация книги показалась мне весьма неудобной – у меня не было ни сил, ни времени на то, чтобы собирать книгу в один PDF-файл.
Я не обрадовался просьбе Джона. Моей жене только-только сделали операцию по замене коленного сустава, и тогда она находилась в центре реабилитации. На утро субботы у меня был назначен урок пилотирования, а остаток выходного я хотел провести со своей женой. Вечером я должен был сесть в самолет до Лондона, а затем читать курсы с понедельника по пятницу. Я никак не мог написать текст к понедельнику. Джон поставил слишком жесткие рамки, о чем я ему и сказал.
Перед поездкой в аэропорт я обнаружил, что Джон прислал мне рождественскую посылку с сыром и ветчиной. К посылке была приложена открытка, в которой он благодарил меня за то, что я согласился написать предисловие к его книге. Мне также пришло еще одно электронное письмо, в котором Джон говорил, что издательство позволило задержать рукопись – теперь в моем распоряжении был еще один день. Он прислал мне еще несколько писем с просьбами, но я сразу предупредил его: вероятность того, что я успею, очень мала, так что ему не следует ничего от меня ждать.
Я поехал в аэропорт, сел в самолет, проспал весь полет до Лондона, а затем взял такси и поехал в свой любимый лондонский отель. Поездка вымотала меня физически и ментально, так что оставшееся время я играл в Minecraft, пока не устал окончательно. Весь понедельник я преподавал, а затем я писал код в компиляторе SMC для тридцатого эпизода моего курса Clean Code, доступного по ссылке http://cleancoders.com.
Сегодня вторник, 9 декабря. Я преподаю второй день, и только-только дал студентам двухчасовое задание. Тогда я решил проверить почту и обнаружил, что Джон прислал мне еще одно письмо. В этот раз он прикрепил PDF-файл с книгой. Хорошо, это многое упрощает. Я открыл файл и пролистал книгу. Очень хорошо.
Обратите внимание на один факт: Джон сделал все, что от него требовалось. Он задумался над тем, что мне будет нужно. Он давал мне полезные советы и стимул. Он потратил много сил и времени, чтобы упростить мне работу. Даже когда я отказался и сказал, что не смогу выполнить свою работу, Джон продолжил пытаться помочь мне. Он не сдавался. Он не отступил. До тех пор, пока оставался хотя бы призрачный шанс на успех, Джон продолжал искать возможное решение.
И именно об этом была его книга. О том, как добиться успеха. О привычках и стратегиях, образе мышления, приемах и уловках, которые помогут вам приблизиться к успеху. И пример этого – не только действия Джона, но и он сам.
Пока студенты выполняли свое задание, у меня были свободны два часа. Я открыл PDF-файл и начал читать его. Черт возьми! Вы только гляньте эти темы! Физическое здоровье, торговля опционами, недвижимость, душевное равновесие… Как уйти с работы, как начать консалтинговый бизнес, как присоединиться к стартапу, создать продукт, подняться по карьерной лестнице, рекламировать себя… Этот список можно долго продолжать…
Понимая, что я не прочитаю книгу за два часа, да и все равно не буду писать предисловие, я лишь бегло просматривал страницы. Но затем я понял, что Джон хочет рассказать о чем-то важном! Вся книга – это одно целостное сообщение, которое должен услышать каждый программист (и не только программист).
Знаете ли вы, как составить резюме? Знаете ли вы, как нужно договариваться о зарплате? Знаете ли вы, как устанавливать ставку, если работаете на себя? Знаете ли вы о рисках, если решите уволиться с работы и стать фрилансером? Знаете ли вы, как получить финансирование для своего стартапа? Знаете ли вы, сколько стоит просмотр телевизора? Да, вы правильно прочитали.
Ответы на эти вопросы вы найдете в этой книге. Это нужно знать. Я не читал книгу целиком, а только просматривал некоторые фрагменты, но этого было достаточно, чтобы я решил написать это предисловие. Если вы начинающий разработчик ПО, пытающийся найти себя в этой сложной сфере, то в ваших руках находится книга, из которой вы почерпнете множество полезных советов.
Несмотря на мой очень плотный график, Джон сумел мотивировать меня на написание предисловия. Он использовал приемы, о которых говорит в своей книге, и снова добился успеха!
Роберт С. Мартин
(Дядя Боб)
Uncle Bob Consulting LLC
От автора
Хотел бы я рассказать тебе о невероятной истории, почему я решил написать эту книгу. Хотел бы я рассказать тебе о том, как я медитировал в пустыне, как прилетел орел и опустился на мое плечо, прошептав мне на ухо: «Тебе нужно написать книгу о гибких навыках для разработчиков». Хотел бы я рассказать тебе, что мне приснилась эта книга; тогда я резко вскочил посреди ночи и начал записывать все, что увидел во сне.
Но правда в том, что я написал книгу из-за того, что почувствовал: я должен сделать это.
Я работаю разработчиком уже множество лет, и я много с чем сталкивался. Иногда я делал правильный выбор, иногда нет, а в правильности некоторых выборов сомневаюсь и по сей день. В то время мне никто не мог подсказать, что правильно, а что нет. У меня не было человека, который помог бы мне продвинуться вперед. У меня не было человека, который показал бы мне, как стать успешным разработчиком не только на работе, но и в повседневной жизни.
Конечно, в моей жизни были люди, оказавшие на меня какое-то влияние: многие из них учили меня тому, как разрабатывать ПО, и прочим вещам. И я благодарен этим людям – возможно, без них я не смог бы достичь этих высот. Но я никогда не встречал человека или гайд, который мог бы рассказать мне всю важную информацию. Например, как принимать важные решения, касающиеся моей карьеры.
Как быстро, легко и эффективно учиться новым вещам, как быть максимально продуктивным и что делать, если я ничего не хочу и чувствую себя разочарованным.
Основы финансов, физического и ментального здоровья. Как эти аспекты влияют на меня как разработчика ПО, а также на мою повседневную жизнь.
Я написал эту книгу из-за того, что мне хотелось создать такой гайд и поделиться собственным опытом, а также опытом других успешных разработчиков, успешных финансовых экспертов, фитнес-гуру и мотивационных спикеров, с которыми я имел удовольствие встретиться. Я написал эту книгу, чтобы мои знания и опыт помогли кому-то сделать свою жизнь лучше.
Я написал эту книгу, чтобы…
…твое путешествие стало чуть легче…
…помочь тебе стать лучшей версией себя…
…и, что важнее всего, помочь тебе избавиться от чувства одиночества на этом длинном пути разработчика ПО.
Смогли ли эти строки вдохновить вас?
Отлично. Давай же начнем наше приключение!
Предисловие ко второму изданию
Я написал первое издание этой книги в 2014 году. Вот это да! За прошедшие пять лет в моей жизни и мышлении много чего изменилось. Эти изменения были настолько сильными, что я мог бы переписать всю эту книгу от начала до конца.
Однако… для второго издания «Гибких навыков» я сделал кое-что другое. Когда я перечитал книгу, то понял, что могу не только дополнить некоторые темы, но и добавить совершенно новую информацию. А еще я осознал, что бо́льшая часть информации и по сей день остается актуальной.
Одной из причин, по которой «Гибкие навыки» обрели такую популярность, стала доступность информации. И я хотел бы, чтобы второе издание было таким же. Я хотел убедиться, что даже человек, не знающий философию или продвинутые приемы маркетинга, просто возьмет книгу и сразу сможет использовать полученные знания.
Но… это не значит, что я не внес значительные изменения во второе издание книги. Я исправил части, с которыми больше не согласен, а также рассказал о новых открытиях в философии, фитнесе и финансах, сделанных мной за прошедшие пять лет.
Давай начнем с того, что ты не найдешь во втором издании. Приложения… В первом издании было четыре приложения: как работают деньги, как работает фондовый рынок, основы диеты и питания, а также раздел о здоровом питании. И хотя эти приложения были очень ценными, я чувствовал, что они выбиваются из общей структуры книги. Я принял решение убрать приложения.
Я также вырезал главу о торговле опционами. Конечно, эта глава была очень интересной, но к прочтению я ее не рекомендую – она создает очень красивую иллюзию, которая может сбить читателей с нужного курса. Я вырезал главы и из других разделов книги – на мой взгляд, эти главы не были похожи на связанные части, а выглядели как отдельные эссе.
Я изменил порядок некоторых глав – так книга стала логичнее и понятнее. Несмотря на это, ты все так же можешь начинать читать книгу с любой главы в любом удобном для себя порядке, ведь именно такой смысл закладывался в книгу, когда я начинал писать ее.
Но не думай, что я просто вырезал какую-то информацию! Отчасти причина этого в том, что мне нужно было очень много всего рассказать тебе, мой дорогой читатель. И чтобы сделать это, мне нужно было место. Я слегка изменил старые главы, добавил новую информацию или уточнил некоторые моменты. По сути, это стандартные действия при подготовке второго издания. Но есть кое-что, что точно должно вас заинтересовать… Это новые главы!
Например, в раздел о маркетинге я добавил главу о том, как представить собственный бренд на YouTube – это еще одна возможность для представления себя на рынке. Я также добавил главу, в которой рассказываю, как сколотить настоящее богатство. Я рассказал о финансовых концепциях, которые позволили мне не только выйти на пенсию молодым, но и значительно приумножить собственное состояние в разных областях (я горжусь этой главой). Также я добавил главу о голодании и моем текущем режиме питания. Я ем один раз в день! Преимущество такого подхода поразит вас. Я еще никогда не чувствовал себя так хорошо. А еще я добавил главу о философии, которая сыграла основную роль в том, чем я занимался последние пять лет. Да, я сейчас о стоицизме. Поверь, эту главу ты не захочешь пропускать; по правде говоря, ты можешь начать читать книгу именно с этой главы.
Я также переименовал все главы в книге – теперь они намного понятнее, и из названия ты сразу поймешь, о чем они. Когда я перечитывал книгу, заумные названия типа «Как накачать пресс» показались мне не только смешными, но и… банальными и старомодными. Думаю, дело в том, что с возрастом чувство юмора немного меняется.
Если говорить начистоту, то это издание мне нравится больше первого. Новое издание «Гибких навыков» придает книге целенаправленный характер, а в этой версии появились ценные советы, которые ты не найдешь в первой книге. При этом второе издание сохраняет все то, почему книга стала такой популярной – идею и тон. Итак! Окунись с головой в книгу, наслаждайся и приготовься изменять свою жизнь к лучшему.
Джон Сонмез
Сан-Диего, Калифорния, 2020
Об этой книге
Привет! Спасибо, что купил мою книгу. Возможно, ты держишь ее в руках и думаешь: о чем она? Что еще за «Гибкие навыки»? Отличный вопрос! Позволь мне кратко ответить на него.
Подумай вот о чем: существует огромное количество хороших книг, в которых тебя учат кодить, помогают освоить новую технологию, рассказывают, как правильно работать в команде или запускать свой проект. Ты даже можешь найти книги, в которых рассказывается то, как улучшить свою карьеру или как отвечать на вопросы на собеседовании. Но попадалась ли тебе когда-нибудь книга, которая помогла бы тебе стать лучшей версией «хорошего разработчика»?
Попадалась ли тебе книга, в которой рассказывалось не только как найти хорошую работу и заработать много денег, но и куда потратить эти деньги? Как бросить работу и стать предпринимателем, конечно, если таково твое желание?
Попадалась ли тебе книга, которая помогла бы тебе успешно построить репутацию в области разработки ПО и научила бы тебя быть сильнее и здоровее ментально, физически и духовно?
Я никогда не встречал подобной книги и именно поэтому решил сам написать обо всем этом… и даже чуть больше.
Вне зависимости от того, кто ты, эта книга написана именно для тебя. И когда я говорю, что она «для тебя», я это и имею в виду. В этой книге рассказывается обо всем: как пройти собеседование, как создать отличное резюме, как вести успешный блог, как построить личный бренд, как повысить собственную продуктивность… Я даже рассказываю об инвестировании в недвижимость и сбрасывании веса.
Ты также найдешь часть, в которой я рассказываю о собственной технике быстрого обучения: благодаря ей я смог создать более 55 онлайн-курсов за два года для платформы онлайн-обучения Pluralsight.
Я серьезно: вне зависимости от того, кто ты и кем работаешь, в этой книге ты сможешь найти для себя что-то полезное. Тут даже есть глава, посвященная встрече с тем самым, особенным человеком, надеюсь, ты понимаешь, о чем это я!
В главе 1 я подробно рассказываю о том, что именно ты найдешь в этой книге, а также о ее структуре. Но прежде чем ты начнешь свое погружение, я хотел бы поделиться с тобой ссылками на полезные онлайн-ресурсы, которые, возможно, будут для тебя полезны. Внутри самой книги ты также найдешь ссылки на полезные сайты, но вот основные.
Бонусная глава
https://simpleprogrammer.com/softskillsbonus Получи БОНУСНУЮ главу о том, как общаться с хейтерами и критиками. Эта глава ОБЯЗАТЕЛЬНА к прочтению, особенно если ты собираешься открывать бизнес, вести блог или начинать маркетинг. Полностью БЕСПЛАТНО.
Блог The Simple Programmer
http://simpleprogrammer.com Тут ты найдешь огромную коллекцию постов на темы, затронутые в этой книге. А еще это лучший способ связи со мной и поиска ценной информации, которую я выкладываю каждую неделю. Также не забудь подписаться на мою email-рассылку; так ты получишь доступ к множеству бесплатных материалов, которые я выкладываю еженедельно.
YouTube-канал The Simple Programmer
http://YouTube.com/jsonmez На своем YouTube-канале я публикую видео на темы, затронутые в этой книге, и делаю это бесплатно. Подпишись, чтобы не пропустить мои новые видео. Я выкладываю их каждую неделю.
Блог «Мышление бульдога» и канал на YouTube
https://bulldogmindset.com и https://YouTube.com/bulldogmindset Мой новейший проект и бренд, в котором я сконцентрировался на личностном росте. Здесь ты найдешь полезную информацию о мышлении, фитнесе, богатстве и навыках общения. Все это основано на стоицизме. Ты можешь найти мои старые видео на YouTube канале Simple Programmer – просто напиши название в поиске.
Курс «Как продвигать себя как разработчика ПО»
http://devcareerboost.com/m Если тебя заинтересовала та часть книги, в которой я рассказываю о продвижении и продаже своих услуг, то предлагаю тебе посетить этот сайт. Здесь ты можешь купить полный курс, в котором мы детально разбираем, как построить личный бренд, а также заработать репутацию в области разработки ПО. Этот курс – один из самых популярных моих продуктов.
Курс «10 шагов, чтобы быстро научиться чему угодно»
http://simpleprogrammer.com/ss-10steps Это еще один углубленный курс, где я подробно рассказываю о теме, которой посвящена часть «Обучение» этой книги. Если тебе понравилась эта часть, то ты по достоинству оценишь и курс.
Entreprogrammers
http://entreprogrammers.com
Если ты собираешься создавать собственный бизнес, то рекомендую тебе обратить внимание на этот подкаст: записи выходят каждую неделю, а веду его я и еще три разработчика-предпринимателя.
1
Чем эта книга отличается от тех, что ты читал до этого
Большинство книг о разработке ПО рассказывает о… разработке ПО. Но только не эта книга. Существует множество хороших книг, рассказывающих, как написать хороший код и какие технологии лучше использовать, но у меня так и не получилось найти книгу, в которой рассказывалось бы, как стать хорошим разработчиком.
Когда я говорю «хорошим разработчиком», я имею в виду не написание кода, не решение задач или запуск юнит-тестов. Я подразумеваю то, как быть хорошим разработчиком с позиции управления своей карьерой, достижения поставленных целей и наслаждения жизнью. Конечно, остальные навыки тоже весьма важны; но я уверен, что ты можешь из других источников узнать, как написать хороший алгоритм на C++ или написать такой код, за который тебя не захотят убить коллеги.
Эта книга не о том, что ты можешь делать. Эта книга… о тебе. Да, все верно. Эта книга о твоей карьере, твоей жизни, твоем теле, твоем разуме и – если ты веришь, что она существует, – о твоей душе. И знаешь, я не хотел бы, чтобы ты принимал меня за чудака. И я не философ-трансценденталист, который проводит все дни в медитациях и воскурении пейота; я не пытаюсь помочь тебе расширить твое сознание. Наоборот, прочитав книгу, ты обнаружишь, что я довольно простой человек, считающий, что разработчик ПО – это кто-то, кто не только пишет код, но и занимается множеством других вещей.
Я придерживаюсь комплексного подхода к разработке ПО. Я считаю, что если ты хочешь стать хорошим разработчиком – да кем угодно, не только разработчиком, – то тебе нужно сконцентрироваться на себе, своей личности, а не только на паре аспектов своей жизни.
И именно благодаря этой идее появилась эта книга. Я не обладаю достаточной мудростью и опытом, и, конечно же, я не могу рассказать обо всех аспектах жизни в этой книге. Будет лучше, если я сконцентрирую внимание на главных аспектах жизни разработчика ПО – за свою жизнь я узнал много нового, и мои знания могут очень помочь тебе.
На страницах этой книги ты повстречаешь несколько тем, которые, как может показаться на первый взгляд, между собой никак не связаны. Но не волнуйся, всему есть логичное объяснение. Книга состоит из семи частей. Каждая часть посвящена определенному аспекту жизни разработчика ПО. Все части можно отнести к четырем большим областям – карьере, разуму, телу и духу.
Мы начнем наш разговор с карьеры. Как по мне, именно карьера – одна из важнейших областей, на которой стоит сосредоточиться всем разработчикам ПО. Я обнаружил, что только малая часть разработчиков задумывается о развитии своей карьеры. В части I, названной «Карьера», я помогу тебе решить эту проблему, например научу тебя управлять своей карьерой и приходить к желаемым результатам. И неважно, что это: подъем по карьерной лестнице, открытие собственного бизнеса, начало предпринимательской деятельности или запуск собственного бренда. Я лично пробовал себя во всех трех вариантах, а также опросил множество разработчиков ПО, проделавших тот же путь… И я собрал весь наш опыт здесь, в этой книге, так что эта информация поможет тебе избежать тех ошибок, что когда-то совершил я или другие люди. Я также рассматриваю важные навыки и умения, которые пригодятся тебе в любой ситуации: создание идеального резюме, умение проходить собеседование, работать удаленно и другие полезные навыки коммуникации с людьми, о которых так часто говорят в последние дни.
В части II «Самомаркетинг» я затрону близкую мне тему – продвижение себя и своей работы. Какие чувства и мысли вызывает у тебя слово «маркетинг»? При упоминании этого слова многие разработчики чувствуют себя некомфортно, но как только ты дойдешь до этой части, ты начнешь воспринимать это слово по-новому. Ты поймешь, почему маркетинг настолько важен. Каждый из нас – продавец, но некоторые просто не могут справиться с этой задачей. И я научу, как стать лучшим продавцом, который точно знает, что он продает. Я не буду учить тебя грязным приемам или схемам быстрого обогащения. Напротив, я дам тебе практические советы, как создать собственный бренд, завести успешный блог или заявить о себе множеством других способов, о которых ты даже не подозревал. Ты можешь объединить эти навыки со знаниями, полученными из части I, и достичь отличных результатов.
Закончив с темой карьеры, мы обратимся к области души и разума. Далее следует часть III «Обучение». Обучение – важная часть жизни любого разработчика. Думаю, мне не стоит упоминать, что постоянное обучение – это одно из наиболее распространенных занятий разработчиков или других IT-специалистов. Умение учиться – ценнейший навык, который ты сможешь освоить самостоятельно. И, овладев этим умением, ты сможешь делать буквально все, что захочешь. К сожалению, бо́льшая часть образовательной системы сломана из-за установки, что для обучения чему-то необходим учитель; мы сталкиваемся с этой установкой постоянно, потому что нам начинают рассказывать об этом с самого детства. Учителя и наставники все еще важны, но в этой части я расскажу тебе, как можно научиться чему-то новому, полагаясь только на себя и свои способности. Тебе понадобится лишь немного храбрости и любопытства, и ты сможешь достичь больших результатов. И тебе не придется сидеть на скучных лекциях и делать заметки. Я расскажу тебе о разработанном мной 10-ступенчатом процессе образования. Благодаря этой системе обучения я смог в короткое время научиться всему, что необходимо знать для создания более 50 онлайн-курсов менее чем за два года для платформы Pluralsight. Я расскажу, на что нужно обратить внимание при поиске хорошего наставника, а также нужно ли образование и степень для того, чтобы стать успешным.
В части IV «Продуктивность» я рассказываю о – попробуй догадаться! – продуктивности. Я специально написал эту главу так, чтобы у тебя появилось больше мотивации. Продуктивность – это одна из огромнейших проблем для разработчиков; к тому же она может мешать тебе стать успешным. Ты можешь довести до совершенства всю свою жизнь, но не справиться с прокрастинацией, неорганизованностью или простой ленью – и тогда тебе станет очень трудно изменить хоть что-то. Я тоже сталкивался с такой проблемой, так что я придумал систему, с помощью которой можно быстро вернуться к работе. Я поделюсь этой системой с тобой. Я также затрону такие сложные темы, как выгорание, залипание перед телевизором и вечный поиск мотивации для выполнения трудной работы.
В части V «Финансы» я затрону еще одну тему, о которой все молчат. Это финансы. Ты можешь быть самым успешным разработчиком в мире, но если ты не умеешь правильно распоряжаться заработанными средствами, то однажды окажешься на улице с табличкой «Программирую за еду». Я открою для тебя мир экономики и финансов и расскажу об основах, которые тебе необходимо знать, так ты сможешь принимать умные решения и начнешь планировать свое финансовое будущее. Я не специалист по финансовому планированию, не брокер, но, кроме работы разработчиком, я с восемнадцати лет занимаюсь недвижимостью и сколотил состояние в несколько миллионов долларов на этом, так что я знаю, о чем говорю. Конечно, мы не будем углубляться в эту тему слишком сильно, иначе мне просто не хватит книги, чтобы рассказать обо всем. Но я расскажу об основах управления финансами, как не утонуть в долгах и, что важнее всего, как сколотить состояние. В качестве бонуса я расскажу свою историю и то, как можно выйти на пенсию в 33 года. По правде говоря, все не так сложно, как может казаться; это может сделать буквально каждый.
А теперь мы переходим к самой веселой части этой книги – работой над собой и своим телом. Ты готов? Если ты в хорошей форме, то ты не только отлично выглядишь в купальнике, но и получаешь умственное и психическое преимущество. В части VI «Фитнес» я расскажу тебе все необходимое для снижения веса, набора мышечной массы и приведения себя в форму. Многие мои знакомые программисты и разработчики страдают от ожирения, плохого здоровья, и они ничего не могут с этим поделать. Ты слышал фразу: «Знание – сила»? Будучи разработчиком, я участвовал в соревнованиях для бодибилдеров и бегал множество полумарафонов и четыре марафона, так что буду рад поделиться с тобой всем, что я знаю. Я расскажу тебе об основах диетического и правильного питания, а также о том, как разная еда влияет на твое тело. Я покажу, как составить план тренировок и диету для снижения веса, набора мышц или всего вместе. Я даже затрону такие специфические темы, как стоячие столы (за которым ты работаешь стоя) и фитнес-устройства для гиков.
Наконец, в части VII «Психология» мы окунемся в метафизический мир и рассмотрим иллюзорного «призрака в машине». Несмотря на название этой части, я поделюсь с тобой правдивыми, практическими советами на темы, которые прямо влияют на твое эмоциональное состояние.
Думаю, ты можешь назвать эту часть как «Помоги себе сам», хотя мне не особо нравится эта фраза. В этой части основной фокус будет направлен на «перепрограммирование» мозга и создание позитивных установок, необходимых для достижения успеха. Мы поговорим о стоицизме и о том, как он может помочь тебе.
Мы слегка затронем тему отношения и любви, так как для большинства программистов эта область – одна из труднейших. Я также поделюсь с тобой списком «успешных книг»: каждый раз, когда мне удавалось пообщаться с какой-то известной или успешной личностью, я просил назвать их одну книгу, которую, по их личному мнению, должен прочитать каждый.
Устраивайся поудобнее, потому что мы начинаем. Отключи свой аналитический разум и приготовься погрузиться в совершенно уникальную книгу о программировании.
Часть I
Карьера
Самая большая ошибка, которую вы можете совершить, – это поверить, что вы работаете на кого-то другого. Движущая сила карьеры должна исходить от личности. Помните: рабочие места принадлежат компании, а у вас есть своя карьера!
Эрл Найтингейл
Лишь небольшой процент разработчиков активно управляет своей карьерой. Но большинство успешных программистов достигли своего успеха благодаря каким-то действиям. Они ставят перед собой цели и разрабатывают планы их достижения. Если ты действительно хочешь добиться успеха в этом жестоком и суровом мире, то «вылизанное» резюме и согласие на любую работу тебе не поможет. Тебе нужно продумывать свои шаги далеко наперед и думать над своими действиями: что ты должен делать, когда ты должен делать и как ты должен это делать.
В этой части я помогу тебе определиться с тем, что ты хочешь от своей карьеры разработчика, и помогу добиться этого.
2
Воспринимай свою карьеру как бизнес
Представь, что сейчас лето, а ты стоишь на поле и наслаждаешься фейерверком. Вокруг тебя свистят заряды, готовые окрасить небо в голубые, красные, фиолетовые и желтые оттенки. Ты следишь за одним определенным зарядом, взлетающим высоко в небо и… ничего не происходит. Ни хлопка, ни взрыва, лишь тихое шипение. А на какой фейерверк должна быть похожа твоя карьера? На тот, что взмыл высоко в небо и окрасил его своими цветами, или тот, что попытался взлететь, но упал на землю?
Многие разработчики начинают свою карьеру с ошибок. Одна из главных ошибок – то, что начинающие разработчики не воспринимают свою карьеру как бизнес. Не дай себя обмануть; когда ты зарабатываешь на жизнь только написанием кода, ты ничем не отличаешься от средневекового кузнеца в своей кузнице. Времена могут меняться, и сейчас многие из нас работают на компании; несмотря на это, наши навыки, умения и бизнес все еще принадлежат нам самим. Мы всегда можем сменить месторасположение нашей «кузницы».
Такой образ мышления имеет огромное значение в управлении карьерой: если ты воспринимаешь себя как часть твоего бизнеса, то ты сможешь принимать хорошие бизнес-решения. Если ты привык регулярно получать зарплату вне зависимости от твоей продуктивности, то это может плохо сказаться на твоем мышлении. Ты можешь прийти к выводу, что ты просто обычный работник компании. Несмотря на то что в какой-то момент жизни ты правда можешь работать на компанию, не дай этой роли иметь решающее значение в твоей жизни и карьере.
Лучше всего думать о своем боссе как о покупателе, которому необходимы твои продукты для разработки ПО. Конечно, у тебя может быть только один покупатель и вся прибыль будет поступать только от него, но такое мышление помогает перейти от позиции беспомощности и зависимости к позиции автономности и самоуправления. По правде говоря, у многих реальных компаний есть один большой клиент, от которого поступает бо́льшая часть прибыли.
СОВЕТ. Первое, что тебе нужно сделать, – это изменить образ мышления. Тебе нужно избавиться от образа мышления слуги и стать бизнесменом, имеющим собственный бизнес. Если ты начнешь свою карьеру с правильным мышлением, то твое отношение к ней изменится: ты начнешь принимать верные и взвешенные решения, активно руководить своей работой.
Просто считать себя бизнесменом будет недостаточно. Чтобы получить от этого хоть какую-то пользу, ты должен понимать, как именно мыслит бизнесмен. Давай поговорим о том, как именно надо думать и позиционировать себя как бизнесмена и что это значит на самом деле.
Для начала давай разберемся с тем, что представляет собой бизнес. Чтобы бизнес стал успешным, нужно соблюсти несколько условий. Во-первых, у тебя должен быть продукт или услуга. Если тебе нечего предложить, то бизнес не будет зарабатывать. Что лучше всего продавать? Какой продукт или услугу?
У тебя может иметься собственный цифровой продукт, который ты захочешь продавать (мы поговорим об этом в главе 16), но многие разработчики предоставляют услуги по разработке ПО. Разработка программного обеспечения – это довольно обширный термин, включающий в себя множество разнообразной работы и услуг; если говорить простыми словами, то разработчики ПО продают свои навыки по созданию и реализации идей в виртуальной реальности.
ПРИМЕЧАНИЕ. Ты предоставляешь свои услуги по разработке ПО.
Выбор продукта, который ты можешь продавать как бизнесмен, влияет на твое отношение к карьере в целом. Компании часто проверяют, исправляют и улучшают свои продукты. Ты тоже не должен забывать об этом. Ценность предоставляемых тобой услуг и продуктов может меняться, так что твоя основная цель заключается не только в оценивании их стоимости, но и в отслеживании того, чем ты и твои услуги отличаются от тысяч других разработчиков.
И так мы плавно подходим к теме маркетинга, о котором поговорим в следующей части. Тебе следует принять тот факт, что одного продукта и услуги будет недостаточно – необходимо прорекламировать свои услуги потенциальным покупателям. Компании понимают, что это очень важно для их бизнеса, и именно поэтому они тратят на маркетинг огромные деньги. Будучи разработчиком, тебе тоже придется заниматься самомаркетингом. Чем лучше ты будешь продвигать себя и свои услуги, тем больше ты сможешь привлечь покупателей и заработать денег.
Знаешь, большинство начинающих разработчиков совершенно не задумываются о подобном. Вместо того чтобы стартовать ярко и вызывающе, они начинают свою карьеру никем не замеченные. Не делай так.
Вместо этого:
• сфокусируйся на своих услугах и займись их продвижением;
• подумай над тем, как можно улучшить свое предложение;
• подумай над тем, как ты можешь специализировать свои услуги, чтобы они покрывали нужды бо́льшей части клиентов;
• стань специалистом, который будет поставлять специализированные услуги для определенной части клиентов. Всегда помни: разработчик ПО ищет хорошую работу, так что тебе нужен всего лишь один клиент.
Тебе также стоит задуматься над тем, как нужно рекламировать свои услуги и искать клиентов. Большинство разработчиков создают резюме и рассылают его компаниям и рекрутерам. Но если ты относишься к своей карьере как к бизнесу, то ты уверен в том, что это лучший способ разрекламировать себя и найти потенциальных клиентов? Конечно же, ответ «нет». У большинства компаний есть определенные тактики и хитрости, побуждающие покупателей покупать их услугу или продукт; они не гоняются за каждым покупателем поодиночке.
Ты можешь рекламировать себя с помощью множества приемов, которые мы рассмотрим во второй части. Короче говоря, все, что тебе нужно делать, – это думать как бизнесмен. Выйди за рамки нормальности. Как лучше всего привлечь клиентов? Как рассказать им о своих услугах? Если ты можешь ответить на эти два простых вопроса, то тебя ожидает очень хороший старт.
• Подумай о бизнесах, предоставляющих продукт или услугу. Чем они отличаются друг от друга? Как именно они рекламируют свой продукт или услугу?
• Если тебя попросят описать собственный продукт или услугу одним предложением, то как оно будет звучать?
• Как образ мышления бизнесмена влияет на то, как:
• ты делаешь свою работу;
• распоряжаешься финансами;
• ищешь работу или новых клиентов.
3
Как ставить адекватные карьерные цели
После того как ты начал относиться к своей карьере как к бизнесу, пришло время определиться с твоими целями.
Все люди разные. Твои цели могут значительно отличаться от моих, но если ты хочешь чего-то добиться, то тебе необходимо знать, чего именно ты добиваешься. Конечно же, проще сказать, чем сделать. Я заметил, что большинство людей (в том числе и разработчиков) просто плывут по жизни, совершенно не зная, чего они хотят. В таком состоянии находится большинство. Обычно мы не задумываемся над тем, на чем нам нужно сфокусироваться, и мы не достигаем никаких результатов.
Представь, что ты плывешь на корабле по бескрайнему океану. Ты можешь просто сесть на корабль и поднять паруса, как сделает большинство людей. Но если у тебя нет определенного пункта назначения, нет стремления достичь этого пункта, то ты все время будешь бесцельно дрейфовать. Возможно, ты случайно приплывешь к какому-нибудь острову, но ты никогда не сможешь достичь значительного прогресса. Тебе всегда нужно стремиться к чему-то. И как только ты определишься с пунктом назначения, ты сможешь использовать все средства, чтобы развернуть корабль и плыть в нужном направлении.
Все это кажется довольно очевидным, но лишь малая часть разработчиков определяют цели своей карьеры. Почему? Ну, у меня есть несколько предположений… Вот одно из них: многие разработчики боятся продумывать свою карьеру в долгосрочной перспективе. Они считают, что если выбрать один путь и следовать ему, то они потеряют другие возможные варианты развития их карьеры. Что, если они выберут неверный путь? Что, если полученный результат их не устроит? Конечно, эти вопросы могут испугать любого человека.
Некоторые разработчики совершенно не задумываются об этом. Мы просто следуем по пути, уже проложенному для нас. Но найти собственный путь всегда намного сложнее. Вместо этого мы хватаемся за первую попавшуюся работу и ждем предложения о работе получше либо того момента, когда нас уволят.
Пришло время определиться со своими целями. Не завтра или на следующей неделе, а сейчас. Если у тебя нет определенной цели, то все твои усилия были потрачены впустую. Тебе необходимо определиться с целями своей карьеры.
Помни, что отказ принимать решение – это тоже решение. По правде говоря, худшее, что ты можешь сделать, – просто выбрать ничего не делать. Чаще всего лучше принять неоптимальное решение или придерживаться неоптимального пути по жизни, а не придерживаться совершенно случайного пути, как это делают многие люди.
О’кей, мы решили, что пришла пора определиться со своими целями. Но вот вопрос: как ты будешь это делать? Самый простой способ – это поставить глобальную цель, а в процессе ты будешь выделять и выполнять подцели. Обычно глобальная цель очень обобщенная, так как очень тяжело четко определить что-то на довольно долгий срок. Но все нормально. Когда ты ставишь перед собой цель, которую получится выполнить через долгое время, не нужно быть слишком точным. Главное – это установить конечную точку, наметить примерный путь. Давай снова обратимся к примеру с кораблем: чтобы отправиться в Китай, мне не нужно знать точных координат порта, в который я собираюсь причалить. Мне просто нужно сесть на корабль и начать двигаться в нужном направлении; когда я приближусь к Китаю, то я смогу подкорректировать направление корабля. Если я хочу приплыть в Китай, то все, что мне нужно сделать, это определить, в каком направлении я плыву: к Китаю или от него.
И хотя я сказал, что глобальная цель не должна быть четкой и ясной, ты все равно должен понимать ее. Подумай о том, к чему тебя должна привести твоя карьера. Ты хочешь быть менеджером или руководителем? А может, ты хочешь начать собственный бизнес? Ты хочешь стать предпринимателем, предоставляющим свой продукт? Что касается меня, я всегда хотел работать на себя.
Выбор глобальной цели зависит только от тебя. Чего ты хочешь от своей карьеры? Кем ты видишь себя через пять или десять лет? Потрать немного времени на раздумья, так как это действительно важно.
Как только ты определишься, ты можешь перейти к следующему шагу – определению подцелей. Иногда полезно представить, что ты уже достиг своей главной цели. Какие этапы тебе пришлось бы пройти? Какой путь ты преодолел?
Несколько лет назад я набрал очень большой вес, и тогда я поставил перед собой цель – сбросить примерно 45 кг. Эту цель я разбил на несколько мелких: я решил сбрасывать каждую неделю по два кг. Каждую неделю я выполнял одну из подцелей, и это помогло мне приблизиться к выполнению моей главной цели.
Поставив перед собой несколько подцелей, ты постепенно будешь продвигаться к глобальной цели. Очень важно ставить перед собой разные по масштабу цели. Например, ты можешь поставить перед собой цель «прочитать двенадцать технических книг» или «выучить новый язык программирования» за год. Эта подцель – часть глобальной цели. Например, ты хочешь стать senior-разработчиком. Ты также можешь разбить годовую цель на несколько маленьких: к примеру, читать по книге в месяц или изучать что-то новое каждый день.
Шаги для постановки целей
Маленькие цели дают дополнительную мотивацию и позволяют продолжать двигаться к большой цели. Если ты решишь добиться глобальной цели, не разбивая ее на более мелкие, то у тебя не получится «корректировать свой курс» достижения этой цели. Ты можешь вознаграждать себя за выполнение маленьких целей – это будет твоей дополнительной мотивацией. Ежедневные маленькие победы помогут тебе не сдаться. К тому же маленькие цели пугают не так сильно, как большие.
Давай рассмотрим процесс написания этой книги. Когда я решил написать книгу, я поставил перед собой несколько подцелей: писать как можно больше каждый день, каждую неделю. Я не пытаюсь выполнить крупную цель; вместо этого я выполняю маленькие цели, постепенно приближаясь к большой.
Если у тебя нет времени на то, чтобы задуматься о своем будущем, или у тебя нет хотя бы одной четкой цели, то отложи эту книгу и поставь для себя несколько целей. Да, я знаю, что это непросто, но ты будешь чувствовать себя намного лучше, когда сделаешь это. Не будь кораблем, бесцельно дрейфующим по океану. И, прежде чем взойти на корабль, выбери правильный курс.
Иногда тебе нужно будет отслеживать и обновлять свои цели. Не думаю, что тебе захочется потратить много времени, а затем обнаружить, что где-то вначале ты допустил досадную ошибку или сбился с курса.
Я рекомендую тебе отслеживать свои цели через определенный промежуток времени. Так ты сможешь изменять их, если что-то пойдет не так. Например, ты можешь проверять их в конце недели, прежде чем начать планировать цели на следующую неделю. А еще проверять их в конце месяца, квартала и года.
Таким образом ты сможешь увидеть, чего смог достичь за разные промежутки времени, а также нужно ли что-то изменить.
УПРАЖНЕНИЯ
• Сядь и запиши по крайней мере одну большую цель.
• Разбей большую цель на несколько мелких:
• по месяцам;
• неделям;
• дням.
• Повесь листок с целью на такое место, где ты будешь постоянно его видеть.
4
Развиваем социальные навыки
В какой-то степени эта книга посвящена «мягким» навыкам. Если ты читаешь эту книгу, то я уверен, что ты понимаешь, как эти навыки важны в жизни и карьере. В этой главе я хочу углубиться в эту тему и поговорить о том, почему мягкие навыки настолько необходимы. Я также расскажу о способах, как можно развить эти навыки.
Раньше мне казалось, что все, что надо делать разработчику, – это писать код. И так думаю не только я.
Правда заключается в том, что бо́льшую часть своего времени мы общаемся с другими людьми, а не работаем за компьютером. Даже код мы пишем так, чтобы в первую очередь его понимал человек, и только потом – компьютер. Если бы мы писали коды только для машин, то использовали бы нули и единицы. Если ты хочешь стать хорошим разработчиком ПО, тебе нужно научиться общаться с другими людьми (даже если больше всего тебе нравится писать код).
Подумай, сколько времени ты действительно взаимодействуешь с другими людьми. Тогда ты сразу поймешь, почему нужно всегда улучшать свои социальные навыки. Когда ты приходишь в офис, что ты делаешь в первую очередь? Верно, проверяешь почту. А кто отправляет тебе письма? Компьютер? Твой код отправляет тебе письма, в которых он просит закончить его побыстрее или улучшить? Нет, все это делают люди.
Ты посещаешь планерки? Обсуждаешь ли ты с коллегами различные проблемы, а также пути их решения? Когда приходит время работы, какой код ты пишешь? От кого к тебе поступают требования?
Если ты до сих пор думаешь, что вся твоя работа заключается в написании кода, то подумай еще раз. Твоя задача как разработчика, да и как представителя любой другой профессии, заключается в работе и общении с людьми.
По этой теме было написано множество великолепных книг, и я приведу личный список лучших книг в части VII. В этой главе я хочу рассмотреть принципы общения с людьми, чтобы в итоге получить наибольшую отдачу. При этом я буду опираться на одну из любимых мной книг по этой теме – «Как завоевывать друзей и оказывать влияние на людей» Дейла Карнеги (книга многократно издавалась в издательствах «АСТ» и «Попурри»). А еще не забудь о бонусной главе, в которой я рассказываю, как вести себя с хейтерами и реагировать на критику: https://simpleprogrammer.com/softskillsbonus.
Каждый хочет чувствовать себя важным
Главный принцип взаимодействия с другими людьми заключается в том, что каждый человек хочет чувствовать себя важным. Это одно из самых глубоких желаний каждого человека. А еще это чувство – основная мотивация для большинства достижений.
Каждый раз, когда ты взаимодействуешь с другим человеком, думай о том, как ты влияешь на эту потребность. Если ты как-то принижаешь человека или обесцениваешь его самого и его достижения, то в ответ ты не получишь ничего, кроме грубой реакции.
Очень легко отмахнуться от идеи коллеги и предложить свою идею, но как только ты совершишь эту ошибку, то заметишь, что к твоей идее не прислушиваются – так как ты заставил другого человека чувствовать себя неважным, то он будет делать то же самое в ответ. Если ты хочешь, чтобы люди прислушивались и принимали твои идеи, то тебе нужно поступать так же. Пока ты угрожаешь гордости и самолюбию другого человека, ты никогда не сможешь завоевать его сердце.
Никогда не критикуй
Исходя из первого принципа, ты должен был уже понять, что критика очень редко помогает другим достичь необходимого результата. Раньше я очень часто критиковал других людей. Я считал, что замечания – это очень эффективный мотиватор, но я сильно ошибался.
Исследования показывают, что вознаграждения за хорошо сделанную работу мотивируют людей гораздо сильнее, чем наказание за работу плохую. А если под твоим управлением находятся люди, то тебе следует уделить этому принципу особое внимание. Если ты хочешь вдохновлять людей или заставить их что-то изменить, то тебе лучше всего держать язык за зубами и научиться поддерживать других.
Может быть, ты работаешь или работал с начальником, который не понимает этот принцип. Он наказывает тебя за каждую ошибку. Что ты чувствуешь в этот момент? Хочется ли тебе стараться больше? Не думай, что другие люди будут реагировать на критику как-то иначе. Если ты хочешь замотивировать и вдохновить человека, то хвали его, а не критикуй.
Думай о том, чего хочет другой человек
Перестань думать о себе и задумайся о других, и тогда ты начнешь успешно взаимодействовать с другими людьми. Думай о том, что может быть важно для другого человека. Изменив свой образ мышления, другой человек при общении с тобой будет чувствовать себя важным и значимым. Перестань критиковать других. Люди, с которыми ты будешь общаться, будут высоко оценивать твои идеи и предложения.
Когда в следующий раз ты будешь взаимодействовать с коллегой или начальником, смени фокус с себя на него. Попробуй рассмотреть ситуацию с их точки зрения. Как думаешь, чего они хотят добиться этим разговором? Что для них важно? Внимательно слушай их, а затем, когда придет твоя очередь говорить, строй диалог так, чтобы удовлетворить желания собеседника. Продумай сценарий диалога в своей голове. Заранее подготовься к тому, как будет проходить разговор.
Если ты просто расскажешь своему боссу, почему ты хочешь внедрить какую-то функцию в код, то это ни к чему хорошему не приведет. Лучше всего построить диалог так, чтобы начальник понял, насколько это будет выгодно для него самого. Возможно, благодаря этому программа станет стабильнее или ты сможешь закончить работу в срок.
Избегай споров
Будучи разработчиками, иногда мы думаем, что при оценивании все люди используют логику. Довольно ошибочно полагать, что веские аргументы помогут тебе заставить другого человека принять твои идеи.
Но правда заключается в том, что люди очень эмоциональны. Мы можем сколько угодно гордиться своим интеллектом, но чаще всего принимаем решения, основываясь на наших чувствах и эмоциях. Мы похожи на маленьких детей, которые решили примерить деловые костюмы и притвориться взрослыми. Неуважение или обида могут заставить нас плакать или закатить истерику, но мы научились управлять эмоциями и скрывать их.
Очень важно избегать споров. Ты не можешь убедить младенца с помощью логики в том, что ему пора спать, если завтра он хочет чувствовать себя хорошо. Это касается и наших коллег – если ты считаешь, что твой способ решения проблемы лучший, то не сможешь переубедить их с помощью логики.
Существует только один способ победить в споре – это уклониться от него.
Дейл Карнеги, «Как завоевывать друзей и оказывать влияние на людей»
Если ты считаешь, что задачу нужно выполнять иначе, то нужно хорошенько подумать над тем, а стоит ли вообще предлагать альтернативный вариант выполнения. Особенно важно, если в этом участвует другой человек. Отказ от критики и признание своей неправоты может оказаться важным для другого человека (а также ты завоюешь его расположение и уважение).
Если ты никогда не уделял должного внимания этим навыкам, то я советую тебе заняться этим прямо сейчас. Твоя жизнь станет намного лучше, если ты научишься правильно и эффективно взаимодействовать с другими людьми.
Управление фреймом
Есть одна концепция, понимание которой поможет тебе общаться с людьми, – это концепция фреймов. Но я должен предупредить: используй эту концепцию осторожно. Легче и эффективнее поладить с теми, кто конкурирует с тобой или настроен против тебя. Пожалуйста, не издевайся над коллегами и учитывай чужое мнение. Советую тебе разобраться с этой концепцией, ведь так ты сможешь понять, что кто-то использует ее, пытаясь заставить тебя молчать или запугать.
Когда ты начинаешь общаться с другим человеком, твои фреймы сталкиваются друг с другом. В конце концов один из них выигрывает… Твой фрейм – это то, как ты воспринимаешь мир и реальность. Соответственно, фрейм другого человека – это его восприятие мира.
Очень часто фреймы конфликтуют между собой, и фрейм-победитель задает тон разговора.
Представим: ты едешь на машине и тебя останавливает полицейский. В этот момент твой фрейм может быть чем-то вроде: «Я не делал ничего противоправного, а этот коп просто придурок». Но когда полицейский подойдет к твоей машине, снимет солнцезащитные очки и спросит: «Знаешь, почему я тебя остановил?», а твой взгляд упадет на кобуру с пистолетом… Велика вероятность, что в этой ситуации фрейм полицейского станет доминирующим.
При общении важно помнить о существовании фреймов. Ты можешь убедить людей в своей правоте несколькими способами. Например, поддерживай доминирующий фрейм, но не соглашайся с тем, что противоречит твоему фрейму.
Особенно хорошо такая тактика работает в ситуациях, когда тебе нужно сохранить авторитет. Например, ты руководитель группы или преподаватель. В такой ситуации люди очень часто совершают главную ошибку – они позволяют другим перебивать их или уходить от темы. Уверен, ты помнишь школьных учителей, которые мастерски управляли фреймом и не распускали класс.
Ты можешь подумать: «Но стой, Джон, это похоже на спор! Не ты ли только что заявлял, что мы никогда не должны спорить?» Не хочу спорить сам с собой и скажу, что все-таки это не одно и то же. Управление фреймом – это не про спор. Наиболее эффективный способ управления фреймом – это предположить, что спорить не нужно; кто вообще спорит об очевидных фактах?
ЛОВУШКА: КАК ВЗАИМОДЕЙСТВОВАТЬ С ТОКСИЧНЫМИ ЛЮДЬМИ
С некоторыми людьми нельзя найти общий язык. Ты будешь стараться угодить им, завоевать их, но ничего не добьешься. Такие люди всегда ищут возможность унизить других людей, и обычно они относятся ко всему с большим негативом. Я называю таких людей язвительными и едкими, и тебе следует избегать подобных личностей.
Если ты распознал токсичного человека, не пытайся изменить его – просто старайся свести контакты с ним к минимуму. Такого человека можно распознать по тянущемуся за ним разрушительному следу. Некоторые люди всегда участвуют в каких-то драмах, с ними случается что-то плохое. Очень часто они выставляют себя жертвой. Если ты обнаружишь одну из этих черт, то беги от этого человека как можно быстрее.
Но что делать, если этот токсичный человек – твой босс или коллега? По правде говоря, у тебя нет особого выбора. Тебе придется либо смириться с этим, либо сменить отдел или даже работу. Что бы ты ни выбрал, не позволяй себе попасть в эту ловушку. Если тебе приходится взаимодействовать с подобными людьми, то постарайся ограничить общение и не вкладывайся в него эмоционально.
• Выбери один день и отследи все взаимодействия с людьми на работе. В конце дня посчитай, сколько раз тебе пришлось общаться с людьми. При подсчете учитывай переписки и звонки.
• Приобрети или возьми напрокат книгу «Как завоевывать друзей и оказывать влияние на людей» Дейла Карнеги. Книга находится в свободном доступе, так что она очень дешевая. Прочитай эту книгу несколько раз.
• В следующий раз, когда ты будешь вовлечен в спор, подумай о том, как можно его прекратить. Уступи своему оппоненту (пусть это будет интересным экспериментом). Однако не просто уступай своему оппоненту, а попытайся встать на место этого человека. Результат может тебя удивить.
5 Создаем эффективное резюме
Видел ли ты когда-нибудь стойки, заваленные цветными брошюрами с описанием местных достопримечательностей и развлечений? Брал ли ты их? Большинство брошюр состоит из трех страниц и имеет красивый дизайн. Я не шучу. Я могу с уверенностью сказать, что на эту брошюру, убеждающую тебя потратить $100 на парасейлинг или аренду гидроцикла, было затрачено много сил и средств.
А теперь рассмотрим типичное резюме разработчика: один шрифт, двойной интервал, пять страниц текста и под конец – грамматические ошибки, опечатки и неправильно составленные предложения со стереотипными характеристиками вроде «целеустремленный» или «ответственный».
Типичное резюме, которое не идет ни в какое сравнение с брошюрой
Конечно, и резюме, и брошюра рекламируют что-то и пытаются заставить других людей купить что-то. Например, в нашем случае брошюра пытается убедить тебя потратить $100 на экскурсию. А резюме пытается заставить менеджера по набору персонала потратить от $60 000 в год на аренду разработчика ПО.
И мне кажется довольно странным, что человек потратил намного больше сил на то, чтобы продать услугу за $100. При этом человек, продающий свою услугу намного дороже (от $60 000 и выше!), совершенно не старается. Пожалуйста, не пойми меня неправильно: я не говорю, что у тебя плохое резюме; я пытаюсь донести мысль, что для его создания нужно приложить больше сил!
Есть одна причина, почему твое резюме никого не привлекает. Эта причина очень проста: ты не профессиональный составитель резюме. Составление резюме – не основная твоя работа. Но я могу с уверенностью сказать, что человек, занимающийся созданием брошюр и других буклетов, зарабатывает этим себе на жизнь.
И пока множество книг и программ по управлению карьерой будут рассказывать тебе о том, как написать хорошее резюме, я рекомендую тебе не забивать себе голову. Почему? Потому что ты не сможешь написать резюме на профессиональном уровне. Ты просто будешь впустую тратить свое время и таланты. Написание резюме – это навык, который пригодится тебе всего несколько раз. Существуют тысячи профессионалов, которые напишут тебе замечательное и эффективное резюме, так в чем смысл напрягаться?
Думай об этом так: генеральный директор компании, в которой ты работаешь, не пишет код сам. Конечно, он может скачать необходимые программы, научиться кодить и создать необходимое ПО самостоятельно. Но намного эффективнее будет нанять тебя. Почему ты должен тратить время и силы на изучение того, как написать резюме, если можно воспользоваться услугами профессионала?
Надеюсь, у меня получилось убедить тебя в том, что для написания резюме лучше всего нанять специального человека. Но настоящих профессионалов не так уж и много. Ты столкнешься со множеством людей, предлагающих свои услуги, но тебе нужно быть осторожным.
Резюме разработчика отличается от резюме представителей других профессий. Все дело в том, что наша работа связана с использованием профессиональных терминов и сленга. Вот список профессионалов, которых я могу порекомендовать: http://simpleprogrammer.com/ ss-resumewriter. Написав человеку, не забудь сослаться на эту книгу!
На что следует обратить внимание при выборе составителя резюме:
• знакомство с технической отраслью. Не имеет смысла нанимать профессионального составителя резюме, который не знает, как продать твои навыки разработки;
• имеет портфолио. Лучший способ узнать, какого качества будет твое резюме, – посмотреть на резюме, уже созданные этим человеком.
Стоит предупредить, что услуга составления хорошего резюме недешевая, но она правда того стоит. Хорошее резюме быстро себя окупит, так как благодаря ему ты сможешь получить высокооплачиваемую работу. За работу профессионала придется заплатить от $300 до $500. Да, это все еще дорого, но если ты сможешь получить работу, где платят на 2–3 % больше, чем ты рассчитывал, то резюме окупит себя меньше чем за год.
Прежде чем нанимать профессионального составителя резюме, убедись, что у тебя собрана вся необходимая о себе информация. Ты же не хочешь заплатить за профессиональное резюме, в котором будет указана неверная информация только из-за того, что тебе было лень уточнить какую-то дату или факт? Или из-за того, что ты приукрасил свои навыки и таланты? Основные причины, почему ты нанимаешь профессионала:
• он напишет хорошую «рекламу», показывающую тебя в лучшем свете;
• он сделает резюме привлекательным и запоминающимся.
Составитель резюме не твой ассистент, и он не будет проверять данные тобой сведения. Тебе нужно предоставить полную информацию о себе, которую специалист обработает и превратит в идеальное резюме.
ЛОВУШКА: Я СЧИТАЮ НЕПРАВИЛЬНЫМ НАНИМАТЬ КОГО-ТО ДЛЯ НАПИСАНИЯ РЕЗЮМЕ
Когда я предлагаю нанять профессионала, я слышу эту фразу чаще всего. Многие считают это неправильным и отказываются от этой идеи. Таким людям кажется, что нужно составлять резюме самостоятельно. Я понимаю эту точку зрения – каждый составляет резюме так, как ему хочется, но чем составитель резюме отличается от дизайнера сайта или дома? Многие знаменитости пользуются услугами литературных рабов, которые пишут книги за них; знаменитости только оставляют на обложке свое имя. Как мне кажется, это не самая большая проблема. Твоя точка зрения – не истина в последней инстанции, и ты не обязан соглашаться со мной. Если ты так хочешь, ты можешь написать резюме самостоятельно, а потом попросишь кого-нибудь улучшить его.
Исходя из названия главы можно понять, что обычные резюме очень скучные, и это правда. Хотя у разработчика обязательно должно быть обычное резюме, существует множество способов, как можно еще рассказать о себе.
Например, ты должен взять информацию из резюме и разместить его онлайн. У тебя должен быть профиль в LinkedIn (недоступен в России), в котором будет содержаться информацию из твоего резюме. У тебя также должна иметься электронная версия резюме, ссылку на которое ты сможешь отправлять другим людям. Веб-разработчик без электронного резюме как сапожник без сапог.
Не стоит забывать про формат резюме. Попытайся сделать что-то уникальное, что мгновенно привлечет внимание читателя. Ты можешь попросить службу написания резюме создать что-то необычное или просто отдай свое готовое резюме знакомому дизайнеру, чтобы тот немного поколдовал над ним.
Однажды я увидел резюме разработчика игр, у которого электронное резюме было в виде игры (http://simpleprogrammer.com/ ss-interactiveresume). Уверен, что у этого человека точно нет проблем с поиском работы. Даю тебе ссылку, по которой ты сможешь найти примеры действительно уникальных и креативных резюме, которые могут послужить источником вдохновения: http://simpleprogrammer.com/ ss-beautiful-resumes.
Тебе не нужно делать красивое резюме; главное, чтобы оно выглядело профессионально. Если ты думаешь, что под эти требования подходит твое старое резюме, написанное десять лет назад в Word с кучей ошибок и опечаток, то подумай еще раз. Если ты занимаешься поиском новой работы, то лучшим вложением будут услуги профессионального составителя резюме.
Если ты все еще хочешь написать резюме самостоятельно, то я могу понять тебя. Может быть, ты не хочешь вкладывать в это свои финансы или тебе кажется, что ты обязательно должен составить его сам.
Если ты решил написать резюме самостоятельно, то вот несколько полезных советов.
• Размести свое резюме онлайн. Так работодателю будет проще посмотреть его. Особенно важно, если ты претендуешь на работу веб-разработчика.
• Твое резюме должно быть уникальным. Так ты сможешь привлечь внимание и выделиться из толпы однотипных соискателей.
• Используй язык «результата действий». В резюме должна быть описана работа, которой ты занимался, и конечный результат. Так работодатель поймет, что он сможет получить от тебя, если наймет тебя на работу.
• Вычитывай резюме. Даже если ты используешь услуги профессионала, не будет лишним прочитать резюме самому. Небольшая опечатка или грамматическая ошибка способны подпортить первое впечатление.
• Независимо от того, ищешь ты работу или нет, отправь свое резюме нескольким менеджерам и спроси их мнения. Менеджеры просматривают множество резюме и могут рассказать тебе, нуждается ли оно в доработке.
• Открой сайты нескольких служб по написанию резюме и рассмотри их примеры. Чем эти резюме похожи на твое?
6
Взламываем собеседование
Если резюме может написать за тебя профессионал, то на собеседование придется идти именно тебе. Поэтому критически важно стать мастером в этом деле. Наверное, собеседование – самый пугающий этап при поиске новой работы. Бо́льшая часть собеседований довольно непредсказуема. Ты не можешь быть уверен в том, что знаешь ответы на задаваемые вопросы, нужно ли будет писать код прямо при менеджере (это пугает больше всего). Но что, если есть способ «взломать» собеседование, после чего этот процесс будет казаться обычной формальностью?
Ты можешь подумать, что в этой главе я расскажу тебе о стратегии прохождения технического собеседования, но вместо этого сосредоточусь на более важных вещах. Я хочу помочь тебе получить преимущество еще перед тем, как начнется собеседование. Все еще не веришь мне? Тогда читай дальше.
Представь ситуацию: ты приходишь на собеседование, пожимаешь интервьюеру руку, а он смотрит на тебя и говорит: «Да я же вас знаю. Я узнал вас по фотографии в вашем блоге. Знаете, я ваш постоянный читатель».
Если это случится на собеседовании, то твои шансы получить работу будут выше. Да, я знаю, о чем ты сейчас думаешь: «Но мой блог не такой популярный… Уверен, ни один интервьюер даже не слышал обо мне или моем блоге». На самом деле интервьюеры принимают решение о принятии человека на работу, основываясь на нетехнических факторах. О том, как создать популярный блог, я расскажу в части II. Там я буду рассказывать о саморекламе, но сейчас речь не об этом.
ПРИМЕЧАНИЕ. Я видел, как вместо компетентных, но надменных и недружелюбных людей на работу принимали менее компетентных, но более приятных.
Не пойми меня неправильно: я не хочу сказать, что твой шанс получить работу будет выше только из-за того, что ты знаменит или дружелюбен, но при этом у тебя нет необходимых навыков. Я клоню к тому, что хорошую работу и должность хочет получить множество хороших разработчиков, так что решающий фактор при выборе работника – далеко не техническая грамотность.
Говоря простыми словами, самый простой способ пройти собеседование – это понравиться интервьюеру. Существует масса способов сделать это, и большей их частью ты можешь воспользоваться еще до того, как начнется само собеседование.
Когда я устраивался на последнюю работу, прежде чем перейти к работе на себя, я заранее решил, в какой компании хочу работать и почему. Я потратил время на то, чтобы добыть больше информации о компании, и обнаружил, что часть сотрудников ведут собственные блоги. Я подписался на всех этих людей и стал оставлять под постами полезные и осмысленные комментарии.
Вскоре меня начала узнавать бо́льшая часть работников этой компании. Из моих комментариев у них начало складываться обо мне первое впечатление. Некоторые из них даже подписались на мой блог.
Когда в следующий раз компания открыла набор работников, я подал свое резюме. Как думаете, мне было сложно получить эту работу? Конечно же, мне пришлось прийти на собеседование и успешно пройти его – в результате я устроился работать в эту компанию. Кстати говоря, мне предложили намного больше, чем могли бы, если бы я подошел к этому безответственно.
Ключ к успешному прохождению собеседования в том, что тебе нужно продумать стратегию задолго до того, как собеседование начнется. Конечно, ты можешь просто очаровать всех, но я не думаю, что у большинства людей имеется такая харизма. А если ты очень харизматичный человек, то я рекомендую тебе пропустить эту главу.
Большая часть людей получает работу в компании по рекомендациям. Когда ты проходишь собеседование, то интервьюер уже заранее относится к тебе положительно – все благодаря человеку, поручившемуся за тебя. Репутация и связи рекомендующего тебя человека дают тебе огромное преимущество на собеседовании. Уже в самом начале собеседования интервьюер относится к тебе с некоторым уважением, так как он доверяет человеку, порекомендовавшему тебя.
Но что делать, если ты не знаешь никого из компании, в которой тебе хочется работать? Как получить рекомендации? Лично я находил блоги разработчиков, работающих в этой компании, и налаживал с ними контакты. Когда компания открыла набор на нужную мне вакансию, я с легкостью получил рекомендацию.
Тебе придется мыслить нестандартно и придумать способы, как можно подружиться с сотрудниками компании. Я знаком с одним разработчиком, который искал менеджера по набору персонала и обнаружил, что тот состоит в местной группе по интересам. Тогда этот разработчик присоединился к группе и познакомился с менеджером. Знаешь, что-то мне подсказывает, что на собеседовании у него не было никаких проблем, и он с легкостью получил свою должность.
Традиционный и эффективный способы устройства на работу
Я знаю, что это может показаться слегка жутким, но важно все делать правильно. Я не призываю тебя преследовать или использовать людей, однако рекомендую устанавливать подобные связи. Поверь, в будущем ты сможешь извлечь из этого взаимную выгоду. В данном случае менеджер, ответственный за наем сотрудников, получает хорошего кандидата, которого он уже знает и которому может доверять, а разработчик – работу в желаемой компании. Умные люди поступают именно так, и в этом нет ничего странного.
С приходом в нашу жизнь интернета и социальных сетей очень легко найти информацию о любой компании, а также познакомиться с работающими там сотрудниками. Тебе нужно лишь приложить немного усилий.
Если ты хочешь познакомиться с несколькими людьми одновременно, попробуй присоединиться к местной группе разработчиков. Существует множество групп разработчиков, и они проводят собрания раз в неделю или месяц. Если ты будешь посещать эти группы регулярно (а еще будешь активно участвовать, например сделаешь несколько презентаций), то у тебя получится быстро познакомиться с разработчиками и менеджерами из местных компаний.
Ты можешь написать людям прямо на специальных сайтах, например LinkedIn (заблокирован в России), и пригласить их встретиться за чашечкой кофе (конечно же, угощаешь именно ты). Интервьюирование людей для подкаста, канала на YouTube или блога – еще один из способов завести новые знакомства. К тому же ты можешь искать подобных людей среди тех, с кем у тебя частично совпадают интересы. Возможно, ты не будешь знать этого человека лично, но ты будешь знаком с тем, кто знает этого человека и сможет познакомить вас друг с другом.
Убедись, что при знакомстве ты правильно себя представляешь. Никто не хочет чувствовать себя использованным, поэтому полезно устанавливать настоящие связи с другими людьми. Если ты комментируешь чей-то блог, то в комментариях пиши что-то ценное для других людей, читающих этот блог или комментарии.
Если вы общаетесь вживую, то проявляй к человеку искренний интерес, а также постарайся понять, что ценного ты можешь предложить в ответ. Люди чувствуют твою неискренность. Лучше всего стоит начинать разговор с работы или темы, связанной с ней, однако не бойся переходить на личные темы! Помни, что ты заводишь друзей, а не «устанавливаешь связи».
ЛОВУШКА: А ЧТО ДЕЛАТЬ, ЕСЛИ РАБОТА НУЖНА ПРЯМО СЕЙЧАС?
Возможно, ты согласен со всем, что я здесь говорю, но вот проблема – у тебя нет времени на выполнение всех рекомендаций. Ты только что ушел с прошлой работы и находишься в активном поиске, но у тебя нет времени на то, чтобы заводить друзей или зарабатывать репутацию в интернете. Ты даже не можешь изучить своего потенциального работодателя. Что делать в такой ситуации?
Если есть такая возможность, то познакомься с интервьюером заранее. Постарайся сделать по максимуму то, о чем я писал выше. Узнай, можешь ли ты участвовать в предварительном собеседовании, поговорить о компании или задать несколько вопросов до того, как начнется собеседование. Попроси человека уделить тебе всего пять минут. Придумай как можно больше поводов пообщаться с максимально возможным количеством людей, отвечающих за наем работников.
Я знаю, что это звучит очень странно, но описанный мной способ может сработать. Мой хороший друг, владелец стартапа Health Hero, использовал этот способ, чтобы его компанию приняли в три программы ускорения стартапов. Эти программы известны тем, что туда очень сложно попасть. Этот человек просто попросил о предварительных собеседованиях с менеджерами, так что во время собеседования все уже знали, кто он такой.
Надеюсь, что к моменту проведения собеседования интервьюер уже будет знать тебя. Но как следует вести себя на собеседовании? Очевидно, что ты должен обладать всеми навыками, необходимыми для твоей работы. Уверен, что ты владеешь техническими навыками в совершенстве, так что сейчас я буду говорить о другом – об уверенности.
Представь себя на месте менеджера. Будущие сотрудники – это инвестиция. И если ты хочешь, чтобы эта инвестиция принесла пользу, то тебе нужно вкладывать в нее деньги и время. Работники, которые в состоянии самостоятельно решать необходимые задачи, всегда ценятся выше других сотрудников. К тому же от таких людей гораздо меньше головной боли, так как ими очень просто управлять.
Если бы я был на месте нанимателя, то предпочел бы нанять такого разработчика, который знает чуть меньше, но может делать все самостоятельно (вместо человека, который знает много чего, но над ним нужен постоянный контроль). Когда ты приходишь на собеседование, постарайся показать, что ты в силах решать задачи самостоятельно.
Тебе все еще нужно будет доказать, что ты технически компетентен. Но если ты сможешь доказать, что ты человек, которого не останавливают проблемы, то ты не только понравишься менеджеру, но и получишь эту работу.
Я поделюсь с тобой одной фразой, которую использую при коучинге разработчиков: «Я тот человек, который сам узнает, что нужно делать, поймет, как нужно это делать, и в конце концов сделает это». Волшебная фраза, которую хочет услышать каждый менеджер по найму сотрудников. Тогда менеджер понимает, что этому человеку он может доверить работу. Тебе необязательно использовать именно эту фразу, но во время интервью ты должен показать себя именно таким человеком. Думаю, не стоит объяснять, что ты ДОЛЖЕН БЫТЬ таким человеком.
Неважно, ищешь ты работу прямо сейчас или просто мониторишь рынок труда, лучше начать готовиться к собеседованию заранее.
Первое, что тебе нужно сделать, – убедиться в том, что ты поддерживаешь свои технические навыки на нужном уровне. Если ты недостаточно квалифицирован, то никакой способ «взлома» собеседования не поможет тебе получить работу. Убедись, что ты читаешь необходимое количество технической литературы и блогов, а также уделяешь время развитию собственных навыков.
Ты также можешь заняться поиском и расширением сети контактов до того, как она понадобится. Заводи знакомства с сотрудниками местных компаний, заводи связи, которые могут пригодиться тебе в будущем. Читай и комментируй блоги других людей, расскажи о себе другим разработчикам или даже менеджерам компаний. Попробуй найти способ расширить круг своих знакомств.
И не забывай о практике. Ты можешь проходить собеседования только ради того, чтобы получить необходимый опыт. И чем больше ты практикуешь, тем комфортнее и легче тебе будет проходить «то самое» собеседование.
Большую пользу также принесет самореклама, о которой мы поговорим в следующей части.
• Даже если сейчас ты не ищешь работу, составь список компаний, в которых тебе хотелось бы работать. Составь список знакомых, работающих в этих компаниях.
• Если в списке есть компании, в которых не работают твои знакомые, то составь план знакомства хотя бы с одним сотрудником из каждой компании. Познакомься с этими людьми.
• Найди по крайней мере одну местную пользовательскую группу и лично познакомься со всеми ее участниками. Постарайся общаться как можно с бо́льшим количеством людей.
7
Три карьерных пути разработчика
Когда ты повторяешь действия других людей или следуешь по пути, проложенному кем-то другим, очень легко допустить ошибку. Конечно, бо́льшая часть разработчиков почти все время работает на кого-то другого, но это не единственный вариант. Существует множество вариантов, где и как ты можешь применить свои навыки.
Возможно, ты даже не знал о других вариантах, кроме традиционного. Поверь мне, раньше я тоже о них не знал. В этой главе я расскажу тебе о разных вариантах, и у тебя появится возможность определиться с тем, чего ты хочешь в будущем. Мы рассмотрим каждый вариант отдельно, и ты узнаешь, как можно преуспеть в каждом из них.
Стандартный выбор работы, который делают большинство разработчиков. Бо́льшую часть своей карьеры я был сотрудником – все из-за того, что я выбрал самый простой путь. Возможно, мне не стоит рассказывать, что значит «быть работником», но давай рассмотрим все плюсы и минусы этого варианта.
Главный плюс этого варианта – стабильность. Стабильность не в том смысле, что ты будешь работать на одной работе или на одного человека; я имею в виду то, что у тебя всегда будет постоянный источник денег. Если ты решил работать в компании, то пока ты работаешь там, ты получаешь зарплату. Конечно, в будущем ты можешь потерять эту работу и тебе придется заняться поиском новой, но пока у тебя «стабильные времена», ты можешь рассчитывать на определенный доход каждый месяц.
Этот вариант самый простой из всех, так как твоя ответственность на работе довольно невелика и ты всегда знаешь, к чему ты в конце концов придешь. Поиск работы очень прост. К тому же тебе не нужно гадать о том, что делать, чтобы тебе заплатили.
Как у сотрудника компании, у тебя всегда будет оплачиваемый отпуск и – если ты живешь в США – ты всегда можешь рассчитывать на помощь с медицинской страховкой.
Но у этого варианта есть свои негативные стороны. Например, ты довольно ограничен в своей свободе. Будучи сотрудником компании, бо́льшую часть времени ты станешь решать задачи, поставленные твоим работодателем. Ты не сможешь выбирать работу, и иногда тебе придется делать то, что тебе не нравится. Возможно, тебе также придется следовать расписанию: тебе придется работать определенное число часов в неделю.
Хотя ты знаешь размер своей зарплаты заранее, скорее всего, она имеет свой потолок. Являясь сотрудником, в один момент ты достигнешь этого потолка, и тебе будет некуда двигаться дальше.
Плюсы:
• стабильность;
• простейший путь;
• оплаченный отпуск;
• помощь с медицинской страховкой.
Минусы:
• недостаток свободы;
• ограниченный доход.
Многие разработчики работают независимыми консультантами и так зарабатывают себе на жизнь. Независимый консультант – это разработчик, работающий не на босса, а на одного или нескольких клиентов. Если ты когда-нибудь подрабатывал на стороне, программируя что-то для человека и получая почасовую оплату (либо сумму, оговоренную заранее), то ты уже понимаешь, что значит быть независимым консультантом.
Я считаю независимыми консультантами тех разработчиков, кто зарабатывает бо́льшую часть своего дохода подобным образом. Разница между независимым консультантом и подрядчиком заключается в том, что последний работает на одного клиента и получает почасовую оплату только за выполненную работу. Подрядчик находится в трудовых отношениях с нанимателем. У независимого консультанта чаще всего имеется собственная компания, с которой заключаются все контракты на выполнение работ; при этом консультант не работает на одного клиента.
Несколько лет своей карьеры я работал независимым консультантом, и иногда я консультирую людей по сей день. У меня всегда была одна мечта – работать на себя, и я считаю, что консультирование – отличный вариант исполнения этой мечты. Невозможно передать то чувство, когда ты сам себе хозяин. Но я даже предположить не мог, что при работе независимым консультантом у тебя будет не один, а несколько начальников.
Нельзя сказать, что в работе независимым консультантом есть только минусы. В том, что ты работаешь с несколькими «начальниками», есть свои плюсы. Например, ты сам вправе решать, когда работать и какую работу выполнять. Ты можешь составить гибкое расписание, но при этом клиенты ожидают, что ты будешь выполнять свою работу вовремя.
Самый большой плюс этого варианта – потенциальный заработок. Работая независимым консультантом, ты можешь устанавливать какую угодно ставку. Например, я беру по $300 в час (кстати говоря, я знаком с независимыми консультантами, берущими даже больше!).
Но это не значит, что у тебя получится сколотить огромное состояние. У тебя не получится сразу брать по $300 в час (хотя в части II я расскажу тебе, как можно повысить ставку). К тому же ты будешь работать больше 40 часов в неделю. Тебе может показаться, что эта работа приносит хорошие деньги, но она также занимает много времени: чаще всего ты будешь искать клиентов и решать задачи, связанные с бизнесом, а не работать. Если ты работаешь независимым консультантом, то ты занимаешься бизнесом. А это значит, что тебе нужно будет платить налоги, решать юридические вопросы, обеспечивать медицинское обслуживание, заниматься продажами и прочими вещами, связанными с бизнесом.
Плюсы:
• больше свободы (ты сам решаешь, в какое время работать);
• постоянно появляются новые проекты;
• возможность зарабатывать больше денег.
Минусы:
• приходится искать клиентов;
• нагрузка, связанная с ведением бизнеса;
• несколько начальников вместо одного.
Возможно, этот вариант наиболее трудный, неопределенный, но и наиболее прибыльный. Я могу описать этот вариант множеством прилагательных и объяснить каждое из них. Я бы сравнил предпринимателя с профессиональным игроком в азартные игры. Здесь нет никакой стабильности, но если тебе повезет, то ты сорвешь куш.
Итак, что же значит быть предпринимателем? Думаю, твои догадки совпадают с моими. Этот путь довольно расплывчатый, и он может включать в себя множество вещей. Когда я говорю «предприниматель», я имею в виду разработчика, развивающего бизнес с использованием своих навыков. Например, сотрудник компании и независимый консультант обменивают доллары на отработанное время, в то время как предприниматель обменивает время не на мгновенную выручку, а на шанс получить большой заработок в будущем.
Например, в данный момент я считаю себя предпринимателем. Бо́льшую часть своего времени я трачу на обучение разработчиков и создание продуктов, которые я продаю самостоятельно или с помощью партнеров. Именно так я зарабатываю себе на жизнь. Я все еще пишу код, но не занимаюсь этим для одного определенного клиента. Я пишу код либо для собственного продукта, либо для обучающих материалов.
Даже эта книга – продукт работы предпринимателя. Я беру на себя большой риск, занимаясь написанием этой книги. Я трачу на ее написание много времени, но тот небольшой аванс, который я получу от издателя, не покроет все мои затраты. Я хочу либо продать как можно больше копий этой книги, чтобы получить хорошие отчисления с продаж, либо использовать эту книгу как рекламу, которая привлечет клиентов. Возможно, моя затея с книгой провалится, и я просто потрачу силы и время впустую (что маловероятно, потому что: 1) ты читаешь мою книгу и 2) это уже второе издание).
Другие разработчики-предприниматели действуют иначе. Кто-то создает стартап и ищет финансирование у инвесторов – это называется венчурным капиталом. Кто-то открывает небольшую компанию по разработке коммерческого продукта (SaaS) и зарабатывает с помощью подписок на них. Например, основатели популярной компании по подготовке разработчиков Pluralsight начинали с обучения людей в обычных кабинетах. Впоследствии они поняли, что, работая в интернете, они могут улучшить качество предоставляемых услуг, так что они перешли на модель SaaS и начали предоставлять свои услуги по подписке.
Уверен, что ты уже определил два главных преимущества этого варианта: полная свобода и неограниченный заработок. У тебя не будет начальника, кроме себя, хотя именно ты можешь стать самым ужасным начальником в своей жизни. У тебя свободный график: ты можешь приходить и уходить когда захочешь, и только ты ответственен за свое будущее. Ты можешь заработать миллионы долларов (и больше), если создашь популярный продукт. К тому же, если ты правильно воспользуешься своим временем, то твой доход может вырасти в несколько раз.
Но, несмотря на все плюсы, быть предпринимателем – это не только поездки на лимузинах и посещение вечеринок. Это самый рискованный и сложный путь, по которому ты можешь пойти. Нет никаких гарантий, что ты будешь получать доход; возможно, тебе придется залезть в долги, чтобы у тебя были средства для реализации всех идей. Жизнь предпринимателя похожа на американские горки. Сегодня у тебя есть клиенты, и ты словно находишься на вершине мира. Завтра о тебе и твоем продукте все забывают, и тогда приходит время думать, как оплачивать все счета в следующем месяце.