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

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

Почему привычки формируют нашу жизнь?

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

В мире с большим разнообразием вариантов нам приходится постоянно решать и делать выбор, например: «Какую еду я ем сегодня?» «Должен ли я готовить или заказывать еду?» «Из какого ресторана я заказываю?» «Какое приложение я буду использовать для заказа еды?» «Какой способ оплаты я буду использовать?»

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

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

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

6 привычек, которые помогут вам стать высокоэффективным разработчиком

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

Уберите свою комнату

Я позаимствовал эту привычку из книги доктора Джордана Петерсона «12 правил жизни».

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

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

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

Отслеживайте свое время

«Если хочешь, измерь. Если вы не можете это измерить, забудьте об этом».

- Питер Дакер

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

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

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

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

Подумайте о своем клиенте

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

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

Не привязывайтесь к стекам технологий.

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

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

Не стесняйтесь делать сложные вещи — перестаньте гуглить все подряд.

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

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

Обучать других

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

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

ДОПОЛНИТЕЛЬНЫЙ СОВЕТ: принцип Парето

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

Принцип Парето гласит, что для многих результатов примерно 80% последствий возникают из-за 20% причин. Другими словами, небольшой процент причин имеет огромное влияние. Эту концепцию важно понять, потому что она может помочь вам определить, какие инициативы должны быть приоритетными, чтобы вы могли оказать наибольшее влияние.

В двух словах

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

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

Если вам интересно узнать о тестировании с помощью React Native, я бы порекомендовал эту статью: Тестирование приложений React Native.