4 способа повысить свой уровень разработчика

Перевод статьи «4 Ways You Can “Level Up” As A Developer».

Как повысить свой уровень разработчика

Границы между уровнями мастерства разработчиков довольно размыты. Спросите любого разработчика-сеньора, менеджера отдела разработки или технического директора о том, чем отличаются beginner и junior, junior и middle, – и скорее всего у них будут очень разные соображения на этот счет.

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

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

1. Создание солидного проекта

Калькулятор на React JS? Хорошая вещица для показа, но не солидно. Приложение для составления списков задач? Опять же, интересный маленький инструмент, но это тоже не солидно. Для создания этих маленьких проектов нужно лишь следовать туториалам. А мы говорим о чем-то совершенно ином.

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

Приведем несколько примеров того, что можно считать «солидным» проектом.

  • Tinder для собак.
  • Миниатюрная социальная сеть для любителей Pokemon-ов.
  • Фронтенд (или бэкенд) фреймворк, которым смогут пользоваться другие люди. Он не обязательно должен превзойти всех конкурентов, цель этого проекта — разобраться, как создаются фреймворки.
  • Какой-нибудь пакет на вашем любимом языке программирования, который вы сможете использовать во многих проектах.

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

2. Разработка проектов с открытым исходным кодом

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

Разработка проекта

Ваш собственный пакет

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

Документируйте процесс работы

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

Участие в чужом проекте

Велика вероятность, что ваши любимые Node-, PHP-, Python-, Java-пакеты и плагины есть на GitHub. И скорее всего в этих пакетах есть как минимум по десятку открытых issues.

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

Таким образом вы одним выстрелом убьете много зайцев:

  • Продемонстрируете, что можете следовать руководствам (это плюс в глазах потенциального работодателя).
  • Получите доказательство, что вы являетесь частью open source сообщества (ваше имя будет значиться в числе контрибуторов репозитория).
  • Более глубоко разберетесь в форках, пул-реквестах и коммитах.
  • Увидите, как работает сообщество, поддерживающее этот репозиторий, и, вполне возможно, сможете перенять какие-то подходы.

3. Чтение кода разработчика-сеньора (или просто другого программиста, который, как вы знаете, опытнее вас)

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

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

Чтение чужого кода

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

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

4. Изучите побольше шаблонов проектирования и принципов программирования

Загляните в расшифровку SOLID, KISS, YAGNI, MVC и прочих странно звучащих аббревиатур, обозначающих шаблоны проектирования и принципы программирования. Списки можно посмотреть, например, на Википедии: шаблоны и принципы.

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

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

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

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх