Парадокс разработчика программного обеспечения


Парадокс

В какой-то момент своего пути разработчика программного обеспечения вы столкнетесь с парадоксом.

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

Сейчас вы можете спросить: «Что такое парадокс?». Он заключается в следующем:

→ Мне кажется, что я многому научился.

→ Мне кажется, что я знаю недостаточно.

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

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

Это пример цитаты Эйнштейна: «Чем больше я узнаю, тем больше понимаю, как много я не знаю».

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

Как же преодолеть этот парадокс?

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

Подход заключается в следующем:

→ Специализируйтесь на том, что вам нравится делать и что у вас хорошо получается

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

Прежде всего:

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

Разработчикам Java не нужно знать последние изменения в C#, а разработчикам фронтенда не нужно знать безумно глубокие запросы, которые можно написать на SQL.

Уверенность в себе, чтобы преодолеть этот парадокс, приходит, когда вы специализируетесь на чем-то, что вам нравится и в чем вы хороши (ваша ниша), а затем имеете общее представление о других вещах, которые существуют. Те вещи, о которых вы слышите, и у вас внезапно возникает тоскливое чувство, за которым следует мысль: «Я недостаточно знаю».

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

Вот мой пример из реального мира:

Я люблю и обожаю создавать фронтенд-приложения с использованием технологий backend-as-a-service.

Поэтому я специализировался на этом, чтобы расширить свои технические знания и повысить ценность, которую я могу предоставить своим командам и клиентам. React, Flutter, Angular, Firebase и т.д. Это моя ниша, и именно за это мне платят клиенты.

Затем я слышу о технологиях, от которых у меня по позвоночнику пробегает страх. «Должен ли я это знать?». «А что, если клиент спросит об этом?». Это и есть парадокс, который показывает мне, что я должен понять.

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

Изучая что-то новое, я просто задаю себе эти 3 вопроса:

→ Каково его назначение?

→ Когда он используется?

→ Как это работает?

Мы должны быть в состоянии ответить на эти 3 вопроса в течение пары минут исследования. Возьмем для примера машинное обучение:

→ Какова его цель? Позволяет программным приложениям более точно предсказывать результаты.

→ Когда оно используется? В проектах, которые обрабатывают данные, чтобы помочь определить закономерности или тенденции

→ Как оно работает? Он использует алгоритмы для «изучения» информации из данных без необходимости полагаться на заранее определенную модель уравнения.

Вот так.

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

Мораль этой истории такова:

Специализируйтесь в своей нише. Во всем остальном обобщайте.


Подпишитесь на мою рассылку The 10X Developer, чтобы еженедельно получать практические советы и рекомендации о том, как стать лучшим разработчиком.

https://askharley.me/

Оцените статью
devanswers.ru
Добавить комментарий