Будьте специалистом в чем-то одном, а не посредственностью во всем

0
1735
views

Перевод статьи Стивена Юнга на dev.to.

В обучении важно ставить конкретную цель.

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

Новичков это сильно пугает и подавляет.

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

Хуже всего (или лучше, в зависимости от того, относитесь ли вы к тем, у кого стакан наполовину полон или к тем, у кого наполовину пуст) то, что чем больше вы узнаете о различных аспектах веб-разработки, тем больше вы понимаете, как мало вы, собственно, знаете.

Попытка изучать все

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

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

В мой первый год я начал учиться в свободное время чтобы повысить свой уровень Symfony-разработчика, но потерял концентрацию, пытаясь играться со всем, до чего руки доходили. От C-компилятора до Node.js. Я изучал всё, кроме Symfony, потому что это всё было более новым и захватывающим.

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

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

Однако, вы действительно начинаете расширять свои горизонты, когда сосредоточиваетесь на чем-то одном: одном фреймворке, одном языке, одном проекте и т. д.

От посредственности к специализации

От посредственности во всем к специализации

«Успех требует единственности направления. Для получения большего эффекта нужно делать меньше вещей, а не заниматься большим количеством дел с получением побочных эффектов», – «The ONE Thing», Гэри Келлер. Я рекомендую эту книгу не в качестве учебника по программирования, а скорее как нечто интересное и открывающее глаза.

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

Поэтому я сфокусировался на том малом, что уже знал: бэкенд-разработке на РНР. А конкретно, на бэкенд-разработке с использованием Laravel.

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

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

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

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

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

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

Постепенный подход к обучению

Когда вы доходите до точки, где чувствуете себя уверенно в использовании вашего инструментария, вы можете начинать постепенно добавлять к своему портфолио разработчика новые навыки, но не случайные. Лучший вариант – навыки, дополняющие ваши, поскольку цель остается прежней («стать лучше в том, что уже знаете»), а достичь ее можно с помощью сопряженных навыков.

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

Что касается меня, это было изучение Vue.js чтобы мой профайл разработчика фрилансера приблизился к full-stack.

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

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

 



ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here