Соединяя точки: куда могут привести тяжёлый труд и мечты

Тот, кто способен вставать до рассвета триста шестьдесят дней в году, непременно сделает свою семью богатой — китайская пословица

Привет, меня зовут Макс. И мне везёт.

Всего пару месяцев назад я вернулся с AngularConnect, где выступил с последним в этом году докладом. Это крупнейшая конференция по Angular в Европе, более 1000 участников. В этом году я также выступал на NgConf, крупнейшей конференции по Angular в мире, и на нескольких конференциях поменьше. До этого я никогда не выступал на конференциях.

Издание Angular In Depth, которое я запустил менее двух лет назад, стало крупнейшей онлайн-площадкой для чтения у Angular-разработчиков. В этом году нам удалось вырасти на 300% и перешагнуть отметку в 700 тысяч просмотров в месяц. Группа замечательных людей помогает мне его строить, и совсем скоро мы выйдем на миллион просмотров в месяц. До этого я никогда не писал статей.

Быстрый рост Angular In Depth сильно помог мне получить прекрасную работу девелопер-адвокатом в ag-Grid. Впервые в жизни у меня появилась работа, в которой меня радует каждый аспект. Она позволяет мне расти профессионально одновременно и в веб-разработке, и в маркетинге. Мне дают время работать над моим изданием, что приносит пользу и мне, и ag-Grid. И вдобавок ко всему за эту работу очень хорошо платят.

Через публичные выступления, StackOverflow и деятельность Angular In Depth я повлиял более чем на 5 миллионов человек по всему миру. Всё это помогло мне получить признание и от Google, и от Microsoft. Я стал Google Developer Expert и Microsoft Most Valuable Professional, что связало меня с техническими экспертами со всего мира.

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

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

Коротко

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

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

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

Как только я нацелился на эту задачу, я почти ничем другим не занимался. Я работал 6–8 часов на основной работе, а потом оставшиеся часы сидел перед компьютером, пытаясь понять, как работает фреймворк. Большинство выходных проходило так же. По мере накопления уникальных знаний я всё активнее отвечал на StackOverflow. Изучение Angular и ответы на вопросы стали занятием, которое съедало бо́льшую часть моего свободного времени. Остальное делилось между работой, едой, сном и моей второй половиной.

Я поставил себе цель набрать 10 тысяч репутации.

И я побежал до конца дороги. А когда добежал, подумал: может, добегу до конца города. А когда добежал, подумал: может, просто пробегу через округ Гринбоу. А потом решил: раз уж я забежал так далеко, может, пробегу через весь великий штат Алабама. Так я и сделал. — Форрест Гамп

На достижение этой цели у меня ушло около года. Дойдя до неё, я подумал: может, пойти на 25 тысяч. На этот раз ушло около полугода. За 18 месяцев я дал больше 700 ответов. А потом решил: раз уж я потратил столько времени и многому научился, почему бы не использовать эти знания и не начать вести блог.

Так я и сделал. Я начал писать. Я старался публиковать новую статью о внутренностях Angular каждую неделю. Я продолжал делить время между полной занятостью и писательством. Начал я со 100 просмотров в месяц. Придерживаясь этого графика на протяжении 18 месяцев, я написал 50 статей и вышел почти на 300 тысяч просмотров в месяц.

Где-то в середине пути я осознал, что хочу построить крупнейшее издание об Angular. Это стало моей новой целью. В одиночку мне было не справиться, нужна была помощь. Поэтому я начал активно искать новых авторов и предлагать им публиковать свои статьи в Angular In Depth. Я помогал им с рецензированием и давал доступ к аудитории подписчиков Angular In Depth. Это было моим уникальным ценностным предложением. Удивительно, но многие активные авторы выбирали публикацию в Angular In Depth, потому что верили в миссию издания и хотели быть его частью.

Некоторые идеи для статей приходили с Angular-конференций, которые я смотрел на YouTube. По мере того как всё больше людей читали мои статьи, моя репутация росла. И я решил: раз уж я зашёл так далеко, может, просто подамся на крупнейшие конференции мира. Опыт выступлений был единственным, чего не хватало в моей заявке на Google Developer Expert. Так я и сделал. И меня отобрали.

Как я и Джастин Маск смотрим на тяжёлый труд

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

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

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

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

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

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

Каковы бы ни были ваши обстоятельства, никогда не поздно начать над чем-то работать. Совершенствовать себя, осваивать новые навыки, строить стартап, менять мир. Через десять лет вы пожалеете, что не начали сегодня. Мне особенно нравится китайская пословица: «Лучшее время посадить дерево было 20 лет назад. Второе лучшее время — сейчас».

Провалившийся стартап, который заставил меня научиться программировать

Я никогда не видел себя программистом. У меня нет образования в computer science, у меня магистерская степень по маркетингу. Чуть более пяти лет назад я зарегистрировался на StackOverflow, чтобы учиться программированию. В то время я работал над своим первым стартапом, который помогал учить английский через чтение.

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

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

Около двух лет я вытягивал по 80–100 часов в неделю, выживая примерно на пяти часах сна. Я приходил в офис в 7 утра и уходил домой около 11 вечера. В течение дня я чередовал собственный проект и задачи основной работы. Это было безумие. Именно в этот момент жизни я подсел на мотивационные речи. Просто невозможно пройти через такой интенсивный и сосредоточенный образ жизни без кого-то рядом, кто подталкивает. Кто заставляет верить в себя. Кто разделяет твою мечту. Я буквально чувствую, будто эти мотивационные ораторы, великие спортсмены и люди, меняющие мир, обращаются прямо ко мне, когда я слушаю запись.

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

Активность на StackOverflow, создавшая фундамент

На протяжении карьеры я всегда старался тратить хотя бы два часа в день на чтение книг, блогов или исходного кода. Полученные знания часто позволяли мне браться за задачи, которые другие не могли или не хотели делать, и выполнять их быстрее.

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

Тогда единственным сайтом, где я знал, как такую репутацию построить, был StackOverflow (SO). Я большой поклонник SO и многими своими знаниями обязан этому сообществу. Я задал более 850 вопросов на разные темы. Но чтобы строить репутацию, нужно было начать отвечать. Достигнув 10 тысяч репутации, я планировал подаваться в компании через SO и получить удалённую работу.

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

Все, кто читал книги о стартапах или маркетинге, знают: гораздо легче набрать обороты на новых платформах или технологиях, которые быстро растут. Как раз в то время появился новый фреймворк под названием Angular. Поскольку доступных знаний было мало, это открывало отличную возможность. Я решил сосредоточиться именно на этом фреймворке и стать экспертом, изучая исходники и разбираясь во внутреннем устройстве. А затем сделать своей визитной карточкой глубоко технические ответы со ссылками на исходники. В то время этим не занимался никто, кроме моего друга Алексея Зуева, с которым я познакомился на SO.

Фокусники хранят секреты, неизвестные широкой публике. Я был своего рода фокусником, владевшим секретами внутреннего устройства фреймворка. Но вместо того чтобы их скрывать, я делал их доступными миру разработчиков. Интересно, что некоторые читатели провели эту аналогию и стали называть меня Wizard. Так это имя за мной и закрепилось 😃.

Я начал тратить около 5 часов в день на копание в исходниках Angular и ответы на SO. Мой распорядок был очень похож на времена стартапа. Работая полный день, я приезжал на работу рано утром, около 7:30, и имел примерно три часа до того, как приходили остальные. Не знаю, что со мной не так, но мне нравится это ощущение, когда я единственный человек в офисе. Наверное, поэтому я и ехал в офис работать над сайд-проектами вместо того, чтобы оставаться дома. Уходил я тоже последним, потому что обычно тратил на это занятие около двух часов после работы. Большинство выходных уходило туда же.

Хотя изначальной целью на SO было построить репутацию и найти более высокооплачиваемую работу, то, что мои ответы помогали другим разработчикам, давало дополнительный заряд мотивации. Мне очень нравится помогать людям. И нравится учить. Так что каждое «спасибо» поднимало настроение и давало силы продолжать.

Постепенно репутация начала расти. Достигнув за год отметки в 10 тысяч, я заглянул в раздел «Total Reputation», чтобы посмотреть разбивку по уровням репутации. Оказалось, что отметка в 10 тысяч — четвёртая сверху, а выше идут 25, 50 и 100 тысяч.

На StackOverflow, дойдя до 25 тысяч, вы получаете все возможные привилегии: закрывать и открывать вопросы и так далее. Так что я решил: почему бы не пойти за этим. На 25 тысяч ушло около полугода. После этого я почти перестал отвечать на вопросы. Но данные ранее ответы продолжали набирать просмотры и голоса, так что я уже перевалил за 50 тысяч. Вот диаграмма роста моей репутации:

Хотя своих целей по репутации на SO я достиг, я не получил ни одного собеседования. Я подавался в множество компаний через сайт, но не получил даже ответа. Так что как инструмент поиска работы StackOverflow у меня не сработал. Зато, потратив столько времени на копание в исходниках и ответы, я очень многому научился. Все эти знания и ответы были идеальным материалом для статей. И я задумался: может, стоит собрать всё это в пост в блоге, а то и в несколько.

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

Сочетание установки на превосходство с блогингом

Писать сложно и долго. Как и в прежнем образе жизни, мои раннее утро и вечера были заняты исследованием и письмом. Поскольку я больше не тратил время на ответы на SO, у меня было около 5 часов в день на письмо плюс выходные. У меня не было никакого представления о том, сколько статей я хочу написать. Я просто поставил себе цель писать новую статью каждую неделю.

Написав первые 10 статей и получив первую тысячу подписчиков, я решил создать издание. Я назвал его Angular In Depth. Большинство основателей стартапов говорят, что создали что-то из нужды. Им нужно было то, чего не существовало. Наверное, в моём случае это правда. Тогда не было издания, где можно было бы узнать о внутренностях фреймворка Angular. Я представлял себе издание, где можно получить всю нужную информацию не только чтобы стать экспертом, но и чтобы начать контрибьютить. Я собирался публиковать статьи о самых сложных концепциях вперемешку с деталями реализации.

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

Medium немного помог, но мне однозначно нужно было начать продвигать статьи самому. Чтобы повысить видимость, я решил публиковать статьи в существующих изданиях вроде HackerNoon и FreeCodeCamp. У этих изданий тогда были десятки тысяч подписчиков. Если с Hackernoon мне удалось опубликоваться довольно легко, то на публикацию в freeCodeCamp ушло около трёх месяцев. Я написал Куинси Ларсону 10 писем, пять раз упомянул его в твиттере, а потом отправил несколько личных сообщений. На большинство из них я не получил ответа. Куинси был тогда единственным контактным лицом, так что я могу только предполагать, сколько писем и твитов он получал ежедневно. В конце концов он опубликовал мою статью. Настойчивость — определённо великий элемент успеха.

И всё же эти издания с огромной аудиторией не дали того рывка, на который я надеялся. Главным образом потому, что на них подписаны разработчики, использующие другие фреймворки, а не Angular, и им не особо интересно про него читать. Довольно тоскливо потратить неделю-две на статью, а потом увидеть, что её прочитали единицы. Это стало ещё одной причиной создать Angular In Depth. Мне хотелось издание, сфокусированное именно на Angular, с аудиторией, которой интересен этот фреймворк.

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

А вот мой ответ с кучей ссылок на статьи в теле:

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

Кроме того, чтобы повысить узнаваемость бренда Angular In Depth, я даже переименовал свой профиль на StackOverflow в AngularInDepth.com. Я также добавлял статьи на Reddit и Hacker News.

Большая часть трафика на мои статьи шла из поиска Google. Некоторые статьи попадали в топ-3 выдачи. Полагаю, это произошло из-за большого числа do-follow ссылок, которые я создал на SO. Это тот тип ссылок, который поисковики используют для ранжирования. Большинство существующих платформ для создания контента такие ссылки не допускают. Когда вы кладёте ссылку в твит, это no-follow. Когда ссылаетесь с одного поста на Medium на другой, это no-follow. Когда ссылаетесь на свою статью на StackOverflow, это обычно no-follow. Однако как только ответ набирает некоторое нераскрываемое количество голосов, ссылка в ответе становится do-follow. У большинства моих ответов десятки голосов. Именно это, как я думаю, существенно помогло ранжированию.

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

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

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

Я хорошо подружился с Ури Шакедом после того, как оставил комментарий под его статьёй и мы познакомились онлайн. Он вдохновил меня продолжать растить Angular In Depth и начать выступать на конференциях. Он открыл мне сообщественную сторону технологии. Именно после разговора с ним я решил однажды стать девелопер-адвокатом. Он же первым помог мне продвигать статьи в Twitter и стал первым контрибьютором Angular In Depth. Он познакомил меня с Шаем Резником, который дал мне одни из лучших советов о выступлениях на конференциях.

На StackOverflow я познакомился с Алексеем Зуевым, который помогал мне разбираться в деталях реализации Angular и продвигать мои ответы. Я был удивлён, получив сообщение от Асима Хуссейна, что «ему нравится то, что я делаю, и статьи, которые я пишу». Каждый автор хочет, чтобы его работу ценили. Это сообщение от Асима подтолкнуло меня писать ещё активнее. Он первым помог мне с заявками на доклады и ответил на множество моих вопросов о сообществе. Мне также очень повезло встретить Дэна Абрамова во время недавней поездки в Лондон. Он отрецензировал мои статьи и помог с продвижением.

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

В итоге издание начало взлетать. Эта диаграмма показывает статистику моих статей за последние два года:

Как видите, рост довольно впечатляющий — около 300% только за последний год. И это только мои статьи. На сегодня я написал 67 статей. Однако Angular In Depth больше не мой личный блог. Теперь это сообщество классных разработчиков, и в следующей главе я расскажу, как произошёл этот переход.

Теперь, оглядываясь назад, ясно, что моя активность на StackOverflow значительно повлияла на решение начать вести блог. И через ссылки, которые я оставлял в ответах, она также помогла привести существенный трафик в Angular In Depth. А ещё она помогла улучшить мои писательские навыки. Я ежедневно практиковался писать ясно и структурировать мысли так, чтобы за ними было легко следить.

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

Строим крупнейшее издание вместе с друзьями

Даже при всём этом росте я всё ещё не был уверен, куда двигаться с Angular In Depth. Рост питали в первую очередь мои статьи, но после писательского марафона длиной больше года я изрядно вымотался. Помню, я говорил с Ури Шакедом о том, какие обороты набрало издание и что я не знаю, смогу ли держать этот темп. Ури убедил меня продолжать его развивать. Он считал, что Angular In Depth уже узнаваемый бренд в Angular-сообществе и бросать работу над ним было бы неразумно. Вдохновлённый, я поставил себе новую амбициозную цель — сделать Angular In Depth крупнейшим изданием об Angular.

Тогда я высказал эту идею в Twitter.

Мне было ясно, что в одиночку я не справлюсь. Нужна была помощь других людей. Иногда я публиковал статьи авторов, которые связывались со мной лично, но чтобы продолжать расти, Angular In Depth нужна была группа людей, регулярно производящих контент.

Я начал искать хорошие статьи на Medium и спрашивать авторов, не хотят ли они опубликовать их в Angular In Depth. Авторы обычно хотят публиковаться в изданиях с наибольшим охватом. По мере роста Angular In Depth и когда число подписчиков перевалило за 10 тысяч, авторы стали охотнее у нас публиковаться.

Однако вначале, пока Angular In Depth был ещё маленьким, авторы публиковались у нас в основном из-за качества уже имевшихся статей. Некоторые следили за Angular In Depth довольно давно и использовали материалы для решения технических задач на работе. Они верили в миссию Angular In Depth и хотели, чтобы она осуществилась. Именно такие люди нужны, когда строишь что-то новое. Люди, которым небезразлична проблема, которую ты пытаешься решить.

Я благодарен Ури Шакеду и Николасу Джеймисону за веру в Angular In Depth с самого начала, даже когда издание не было популярным. Они были влиятельными членами сообщества, и их вклад существенно помог укрепить доверие к изданию. Затем мне начали приходить сообщения в Twitter от разработчиков, которые хотели публиковаться в Angular In Depth. Двое из них — Тим Дескрайвер и Нейт Лапински, которые позже стали двумя самыми активными авторами и участниками нашей внутренней группы. Мне также пришло письмо от Тодда Палмера, который сегодня не только пишет статьи, но и помогает нашим авторам-неносителям с грамматикой и формулировками. Он стал нашим первым штатным редактором.

До этого момента я общался с авторами Angular In Depth один на один и в основном в Twitter. Мне хотелось иметь место, где все авторы Angular In Depth могли бы обсуждать темы статей и давать рецензии. Там авторы могли бы получить обратную связь по своим статьям до того, как их прочитают тысячи разработчиков. Могли бы получить совет от более опытных коллег. Но я хотел выйти за рамки писательства. Мне нравится помогать людям и видеть, как они растут лично и профессионально. Я представлял сообщество, где каждый участник помогает другим достигать этого роста.

За несколько месяцев до того меня добавили в Slack-чат GDE, где все GDE общаются друг с другом. Я позаимствовал эту идею и создал Slack-канал для участников Angular In Depth. Первыми присоединились Тим Дескрайвер, Николас Джеймисон, Ури Шакед, Тодд Палмер и Алекс Окрушко — самые активные участники Angular In Depth. Я также попросил присоединиться Цзя Ли и Алексея Зуева, которые помогали мне разбираться в некоторых деталях технической реализации.

Со временем к чату присоединилось больше 20 человек. Разумеется, некоторые участники не особо активны. Но мне действительно радостно видеть, как всё больше людей включается в разговоры. Магия сообщества случается не тогда, когда участники просто получают комментарии в рамках рецензий. Она случается, когда эти люди начинают говорить друг с другом и обсуждать самые разные темы. Такое нельзя создать или навязать. Это происходит органически. И я вижу, как эта магия случается в сообществе Angular In Depth каждый день.

Интересно, что когда я спросил активных участников AiD, что заставило их начать вносить вклад, большинство ответили, что доминирующим фактором оказалось качество контента AiD. Оно их вдохновляло. Оно пробуждало желание быть его частью. Публикация статьи рядом с другими видными участниками Angular In Depth даёт им чувство принадлежности, приносит радость и удовлетворение.

Но, конечно, в глубине души каждый автор хочет и признания. Довольно обескураживающе опубликовать статью, на которую ушли недели, и увидеть, что её прочитали единицы. С другой стороны, знание, что есть сильное сообщество, которое будет читать каждую статью и извлекать из неё пользу, — отличный источник мотивации. Сейчас у нас больше 16 тысяч подписчиков, которые регулярно читают новые статьи в Angular In Depth.

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

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

Angular In Depth растёт очень быстро. Всего год назад у нас было лишь 6 тысяч подписчиков и чуть больше 500 тысяч просмотров суммарно. В это до сих пор трудно поверить, но столько просмотров мы теперь получаем каждый месяц. А общее число просмотров — 5 миллионов! Но нам ещё многое предстоит сделать. В следующем году наша цель — выйти на миллион просмотров в месяц и 10 000 000 просмотров за год.

Я очень доволен этими цифрами. Однако ещё больше радости приносит то, что сегодня на статьи участников Angular In Depth, кроме меня, приходится примерно половина всех просмотров. Я благодарен каждому, кто решил публиковать свою работу в Angular In Depth. Интересно и то, что 850 тысяч «минут чтения» — это больше 1,5 лет времени, проведённого за чтением контента. Иными словами, это эквивалент ~70 человек, читающих контент на полной занятости.

Публичные выступления как последний рубеж к известности

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

Ури Шакед и Асим Хуссейн, с которыми я много общался, были публичными спикерами. Доклады с конференций я использовал как источник идей для статей. Иногда я видел, как люди в Twitter пишут о своём опыте выступлений. Так я решил, что это то, чем хочу заниматься.

Интересно, что в своей книге «Known» Марк Шефер утверждает: публичные выступления — самый быстрый путь к известности. Они помогают связаться с реальной аудиторией. И живое выступление больше, чем что-либо другое, разжигает узнаваемость и придаёт доверие и авторитет. Конференции — идеальная среда для нетворкинга. Это место, где можно вести интересные разговоры с единомышленниками, лидерами мнений и экспертами в своей области. Через эти личные взаимодействия можно укрепить отношения с людьми, с которыми познакомился онлайн, например в Twitter. Перед поездкой на конференцию я обычно пишу об этом в твиттере и заранее договариваюсь о нескольких встречах.

Впрочем, иногда встречаешь людей, которых там совсем не ожидал найти. Например, на FrameworkSummit я познакомился с Патриком, одним из выпускников YCombinator. Его стартап tipe.io спонсировал конференцию, и Джо Имс меня с ним познакомил. Он дал мне много советов насчёт YCombinator и моих будущих начинаний.

Часто люди становятся публичными спикерами после написания книги. Но в ИТ у нас столько митапов, что стать спикером гораздо легче, особенно учитывая, что некоторые митапы записывают и публикуют все доклады в высоком качестве. Лично я не выступал на митапах до выступлений на конференциях. И книгу я не написал, но всё ещё хочу это сделать в будущем. Тем не менее меня приняли на все конференции, куда я подавался, без предыдущего опыта выступлений. Вот где, я думаю, сильно помогли блогинг и нетворкинг. Если успех Angular In Depth был построен на моей активности на StackOverflow, то мои успешные заявки построены на репутации, созданной через Angular In Depth. К моменту, когда я решил подаваться на NgVikings и NgConf, у меня уже была репутация в Angular-сообществе. Некоторые мои статьи были в топ-3 поисковой выдачи, о чём я не забывал упомянуть в каждой заявке.

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

Джо Имс, Пит Бэйкон Дарвин и Максим Сальников сыграли большую роль в моём пути к тому, чтобы стать спикером. NgVikings, организованная Максимом, стала первой конференцией, куда меня приняли выступать. Джо ведёт ng-conf, крупнейшую конференцию по Angular в мире. Год назад в новогоднюю ночь он рецензировал мою заявку, чтобы у меня были наилучшие шансы пройти отбор. И я прошёл. А Пит — организатор AngularConnect. Он тоже помог мне отрецензировать заявку в этом году.

Я понимаю, что обращаться к людям бывает трудно. Не у всех из нас открытый характер. Вы столкнётесь с отказами. Но не позволяйте этому вас остановить. Используйте каждую возможность. Например, вот как я познакомился с Джо Имсом. Я был гостем шоу Adventures in Angular, где Джо был одним из ведущих. Это было около года назад. Тогда я только начинал думать о выступлениях и практически никого в сообществе не знал. После шоу все ушли, кроме Джо. Я спросил, не мог бы он остаться, чтобы мы немного поболтали. Я хотел задать несколько вопросов о сообществе. Чтобы завязать разговор, я спросил, чем он занимается по жизни. Он перечислил свои занятия и мельком упомянул, что он сооснователь ng-conf. Какая удача! Я тут же спросил, не мог бы он помочь мне с заявками. Вот так часто и работает фортуна. Нельзя знать, когда и где встретишь человека, который поможет тебе продвинуться. Джо оказался настолько отзывчивым, что рецензировал некоторые мои заявки даже в новогоднюю ночь!

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

Обычно я трачу на подготовку доклада около 2–3 полных недель. Это включает исследование, набросок презентации, написание текста и запись себя. Потом я слушаю, как это звучит, и вношу правки. Затем записываю презентацию снова и отправляю коллегам-разработчикам на рецензию. Получив обратную связь, вношу ещё больше корректировок. И наконец заучиваю доклад и репетирую его раз 15–20. Я запоминаю всё наизусть, чтобы не тратить время на поиск слов.

Сара Драснер репетирует свою речь, пока не начинает не выносить звук собственного голоса. А потом репетирует ещё немного.

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

Первая в жизни работа, на которой я счастлив

Помните мою цель — получить удалённую работу в Великобритании или США, которая подстегнула мою активность на StackOverflow? Так вот, около полугода назад мне наконец удалось её достичь. В начале лета я начал работать девелопер-адвокатом в ag-Grid.

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

Во-первых, это значит, что моя работа оказывает прямое и видимое влияние на результаты компании. На это несколько раз обращал внимание Асим Хуссейн, когда я просил у него совета об этой роли. Мне действительно приносит радость видеть цифры показов, посетителей и лидов, которые генерирует моя работа.

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

В-третьих, на этой работе у меня есть возможность параллельно развивать навыки в нескольких областях и работать над личными проектами. Я часто думаю о работе в ag-Grid как о партнёрстве. Здесь моя основная деятельность направлена на то, чтобы люди узнали о наших продуктах. Это маркетинг, моё образование. В моём случае эта узнаваемость достигается через письмо и выступления на технические темы. А это развитие меня как технического специалиста. Так что видно, как я развиваю и маркетинговые, и технические навыки. Что ещё удивительнее, Ниалл поддерживает то, что я публикую свои статьи в изданиях Angular In Depth и React-In-Depth. Это приносит пользу и мне, и сообществу Angular In Depth, и компании. Поверьте, когда работодатель занимает такую позицию, это невероятно мотивирует. Я часто готов работать даже по выходным и поздним вечером. Мне интересно, можно ли воспроизвести такие условия на других работах. Вполне возможно, я довольно скоро начну думать об этом больше.

Так как же я получил эту позицию? Когда Angular In Depth стал довольно популярным, компании начали связываться со мной с желанием написать гостевой пост. Одной из них была ag-Grid. Как всегда, я попросил о встрече, чтобы обсудить детали. На встрече я также поинтересовался, не готова ли ag-Grid спонсировать Angular In Depth или, может, им нужен кто-то вроде меня, чтобы писать для них статьи. После встречи я отправил письмо со статистикой издания и своими идеями о том, чем я могу помочь ag-Grid.

Ниалл просмотрел мои статьи на выходных и, по его словам, они ему очень понравились. И вот тут снова моя одержимость превосходством сработала мне на пользу. Но ещё больше его впечатлила работа, проделанная с Angular In Depth, и обороты, которые издание набрало. Он был готов обсуждать возможное партнёрство. Он хотел, чтобы я сделал то же самое для ag-Grid. Хотя со временем эта цель несколько изменилась, я уверен, что Angular In Depth и его быстрый рост были одной из причин интереса Ниалла к моему предложению.

Я озвучил свои зарплатные ожидания, которые были довольно высокими. Ниалл считает, что команда должна быть локальной и удалённая работа не вариант на ранних стадиях компании. А если уж идти на удалёнку, то платить надо по местным зарплатам. Это казалось справедливым. Однако я рассуждал так: я буду делать работу, которую больше никто не сделает, и не так уж важно, откуда я работаю. В итоге, обменявшись несколькими письмами, мы пришли к интересной схеме спонсорства Angular In Depth и бонусов, которая позволяла мне получать желаемую зарплату. Наконец я достиг финансовой цели, которую поставил, начиная работу на StackOverflow почти два года назад.

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

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

В идеале мне хотелось бы найти способ соединить мою страсть к работе с людьми с технологиями. После первой неудачной попытки со стартапом я всегда думал о следующем. Почти ничего не получается с первого раза. Ниалл однажды сказал мне, что ag-Grid — его пятая попытка построить компанию. Я верю, что смогу превратить Angular In Depth в некую образовательную платформу. Я пока не знаю, как она будет выглядеть и что делать. Может, это будет что-то похожее на Pluralsight, но с фокусом на текстовом обучении вместо видео. А может, что-то вроде StackOverflow с менторской частью.

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

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

И всё же может и получиться. Сейчас у меня больше шансов на успех, потому что со времени прошлой попытки я многому научился. В ag-Grid я узнал о важности SEO и контент-маркетинга. Теперь у меня есть сообщество чрезвычайно талантливых разработчиков в Angular In Depth, которые могут помочь мне построить эту штуку. У меня есть поддержка бесчисленного числа разработчиков, читающих Angular In Depth. Они могут помочь мне протестировать идеи.

Я написал эту статью не как чертёж того, как стать известным или влиятельным в техническом сообществе. Питер Тиль говорит, что следующий Билл Гейтс не станет создавать операционную систему. Следующий Ларри Пейдж не станет создавать поисковик. Следующий Марк Цукерберг не станет создавать соцсеть. Если вы копируете этих людей, вы у них не учитесь. Я хотел рассказать свою историю, чтобы вдохновить вас продолжать совершенствоваться и искать возможности применить знания и навыки в любой области.

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

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