Чтобы быть инженером-программистом, вы должны быть студентом всю жизнь.

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

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

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

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

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

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

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

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

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

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

Как вы, как разработчик, можете преодолеть чувство подавленности на новой должности?

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

Сделайте перерыв

Чтобы не перегружать себя, нужно делать перерывы.

Сделать перерыв не означает, что вы не продвинетесь вперед. Перерывы означают, что вы восстанавливаетесь и готовитесь пойти еще дальше.

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

Когда я впервые перешел в новую команду, мне нужно было кое-что наверстать. Я ничего не знаю о языке программирования Scala, концепциях ETL, концепциях тестирования e2e, нагрузочном тестировании производительности и архитектуре AWS. Поэтому я проводил после работы весь день и ночь, пытаясь пройти как можно больше уроков и стараясь выучить как можно больше, но в итоге только почувствовал выгорание.

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

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

Намеренно делать перерывы - это дисциплина, но это здоровая практика, имеющая ценность в долгосрочной перспективе.

Ешьте одного слона за раз

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

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

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

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

Например, чтобы адаптироваться к постоянным изменениям структуры и практик внешнего интерфейса, вам необходимо изучить основы веб-технологий. В том числе, HTML, CSS, JavaScript, понимание того, как работает DOM и как их реализовать.

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

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

Позвольте мне привести еще один пример: умение разбираться в алгоритмах зависит от того, насколько хорошо вы знаете основы информатики и структуры данных.

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

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

Нормально не знать всего

Не знаете, как настроить Jenkins? Вам не нужно быть мастером Дженкинса, чтобы делать эту работу. Вам просто нужно узнать, как настроить Jenkins.

Узнай столько, сколько нужно, чтобы совершить правильное действие.

Не знаете, как создать компонент кнопки в React? Вам не нужно оптимизировать рендеринг компонента, если целью является создание компонента кнопки. Оставьте оптимизацию, когда для этого есть требования.

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

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

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

«Признание своего предела - первый шаг к улучшению вашего восприятия». - Томас Оппонг

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

Мы можем сделать это

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

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

И последнее, но не менее важное: не существует «правильного способа» делать что-либо, но есть «правильный способ». Если вы измените свое мышление с «Мне нужно все освоить до начала проекта» на «Не справляться со всем до начала проекта, пока я знаю то, чего не знаю», вы повысите свою уверенность при просмотре нового проекта. .

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

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

Может быть, подписаться на мою рассылку новостей?

Ссылка: