Это был конец 2013 года. Мне было скучно. У меня не было причин быть. Я был генеральным директором (и до сих пор им являюсь) в многообещающей фирме, занимающейся информационной безопасностью. У нас были отличные клиенты (до сих пор есть) со всего мира. Мы работали над решением очень интересных проблем безопасности для наших клиентов. Хотя в основном мы занимались услугами, я нанял пару инженеров для работы над нашим небольшим проектом skunkworks, который позже стал нашим первым флагманским продуктом, SecuritySlate. Моя команда работала хорошо. Мы все еще искали веревки, но, по крайней мере, мы их находили, а не шарили все время в темноте. Дела пошли вверх. Но я не мог быть более скучным в своей жизни. Я чувствовал, что мои навыки остановились. У меня не было желания делать что-то еще. Работа шла хорошо, но у меня не было желания добиться серьезного прогресса. И это было ужасно. Я явно наткнулся на плато/стену, или как бы вы это ни называли, и у меня не было никаких четких способов сломать эту тенденцию.
Несколько недель спустя я выступил на конференции по правовой безопасности. Мой доклад был хорошо принят. Я встретился с несколькими потенциальными клиентами. Один из них был начальником службы безопасности крупной финансовой компании. Он спросил нас о наших предложениях. Его больше интересовала наша продукция, чем наши услуги. Я упомянул, как если бы у нас действительно был продукт, что у нас был продукт, который проводил обучение безопасности в облаке. Это его заинтриговало, и он спросил, можем ли мы сделать демо в ближайшее время. Я уверенно сказал «да», хотя каждая пора моего тела только что закричала в панике. Конечно, мы можем сделать демонстрацию, сказал я уверенно, но не на следующей неделе, когда я был в пути, а через неделю. Он согласился. «Черт», — подумал я. Я был облажался. Я знал, что мои инженеры усердно работали над чем-то, но не был уверен, как далеко они продвинулись. Я надеялся против надежды, что у них есть что-то приличное для нас, чтобы продемонстрировать клиенту.
Я вернулся в офис, чтобы посмотреть демонстрацию того, что у нас было. Это было ужасно. Приложение было на Java. Код был ужасен. Приложение было разрозненным, и структура, которую мы использовали, показалась мне похожей на греческую и латынь. В то время я понял некоторые вещи:
- Это приложение, если мы когда-нибудь заставим его работать, будет невозможно поддерживать из-за текущей кодовой базы. Это было просто ужасно. Может, дело в инженерах, может, в нашем отделе управления продуктом не было ничего вменяемого. Наверное, это было все. Но этого как раз не было сделано.
- С нашим нынешним набором навыков мне нужно было справиться с этой проблемой. В противном случае мы не смогли бы сделать демо за 10 дней!
Я не знал, что делать. Я когда-либо кодировал только на Java, но чем больше я видел структуру, которую мы использовали, тем больше я понимал, что она была чрезвычайно многословной и очень несопоставимой по своему дизайну. Хотя это не обязательно было ошибкой фреймворка, он определенно не облегчил нам задачу. Я отчаянно гуглил и наткнулся на Django. Тогда я очень мало знал Python и не был уверен, как он будет работать. Но небольшое чтение этого фреймворка выглядело впечатляюще. Это выглядело всеобъемлющим, но достаточно простым, чтобы кто-то с сумасшедшими сроками (например, мы) мог заставить его работать. Я понял, что это оно. Мы с моей командой не знали ни Python, ни Django, но нам просто нужно было в этом разобраться. Мы должны были бы:
- Разберитесь с Django и Python
- Переписать все наше приложение и пользовательский интерфейс с нуля
- Подготовьте демонстрационную версию для потенциального клиента за 10 дней.
- О, да! а нас было трое. 2 инженера, только что окончивших колледж, и я, не штатный разработчик и даже не разработчик l33t!
Следующие десять дней прошли как в тумане. Мы работали допоздна каждый день, я писал весь код бэкенда, а моя команда писала UI и фронтенд вместе с аналитикой. Мы продемонстрировали приложение впечатленному клиенту. Месяц спустя мы выиграли учетную запись, а затем еще кучу, и мы постоянно улучшали продукт от этих безумных усилий в течение 10 дней до чего-то, что, по словам наших клиентов, выдержит и сильно повлияет на обучение безопасности на предприятии.
В то время я понял, что мне было совсем не скучно. Я случайно сломал плато, которое надоело мне до смерти, и узнал тысячу новых вещей. На самом деле я понял некоторые проблемы, с которыми сталкивались наши клиенты и их разработчики с безопасностью приложений. Я очень эффективно изучил множество новых технологических компонентов, таких как организация очередей и кэширование, и использовал все полученные знания (за 10 дней), чтобы расти и помогать своим клиентам по сей день и в будущем. Когда я разговаривал с коллегами и коллегами по отрасли, у многих из них была та же проблема. Они так привыкли делать одно и то же так долго, что им это надоедает или, что еще хуже, становится безразличным. Они также достигли плато, и я понял, благодаря этому сумасшедшему опыту и после него, что есть определенные способы, которыми можно вырваться из этих плато. Я успешно использовал их в 2014 и 2016 годах. Вот они:
Займитесь сумасшедшим личным/профессиональным проектом, который вас пугает. Создание SecuritySlate было для меня сумасшедшим опытом. Я был против времени, навыков и возможностей далеко. Но я и моя команда использовали этот кризис, чтобы создать то, чем мы очень гордимся сегодня. Все мы находим такие возможности лично или профессионально. Мы думаем о том, чтобы что-то сделать, и отказываемся от этого, потому что это кажется слишком сложным, требующим слишком много времени или просто невозможным. Я бы сказал: «Дерзайте», вы мало что теряете и все приобретаете. Даже если вы потерпите неудачу, вы потерпите неудачу, изучив что-то, а это всегда бесценно.
Установите крайние сроки — самоустанавливающиеся или определенные крайние сроки для вашего проекта. Длинные, затянутые сроки никогда не работают для меня и, возможно, даже для вас. Я чувствую, что длинные/неопределенные/отсутствующие сроки убивают инициативу и чувство срочности, что вам нужно закончить свой безумный проект. Если это личный проект, объявите об этом в Twitter/Facebook и т. д. и работайте над этим. Если это профессиональная работа, вы можете установить жесткие сроки (не нереалистичные, а жесткие), чтобы преодолеть это плато.
Не беспокойтесь о Совершенстве. Хотя Совершенство — великий идеал, к которому нужно стремиться, оно редко достижимо. Вы не можете быть идеальным. Можно только быть настойчивым и постоянно совершенствоваться. Сделано лучше, чем идеально. Перестаньте потеть над совершенством и сделайте это. Вы всегда можете настроить вещи почти до совершенства с течением времени. Вам нужно выбраться из этой колеи. Для этого нужно действие, а не совершенство.
Embrace the Deep — «Углубленная работа», концепция, которая мне нравится, от автора Кэла Ньюпорта, по сути, гласит, что работники умственного труда должны заниматься глубокой работой, без отвлекающих факторов и других препятствий. Я понял, что смог сделать это приложение только за 10 дней, потому что я не сосредоточился ни на чем другом в это время и полностью отключился от телефонов, интернета и т. д. Хотя это может быть крайний случай, вам нужно поберечь - отвлечь время на ваш проект и вывести вас из плато. Постоянное общение в фейсбуке, твиттере или инстаграме не поможет вам преодолеть плато, это может только затруднить восхождение на это плато.
Этот мой отчет ни в коем случае не является единственным способом преодолеть плато. Это просто личный опыт, который я пытался воспроизвести всякий раз, когда я считал, что нахожусь в колее. Вот как я встряхиваю вещи. Хотел бы услышать от вас о том, что вы делаете (или не делаете), когда вы находитесь в колеи / плато.