Как разработчику улучшить свои способности

0
551
views

Перевод статьи «A few tips to help developers improve their capabilities».

Как разработчику улучшить свои способности

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

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

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

Приобретайте навыки отладки

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

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

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

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

Изучайте, как все работает

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

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

Мне не раз случалось видеть, как люди, не знающие основ веба, не понимающие, как работает ASP.NET MVC, закрывали выданные им задачи, найдя какой-нибудь старый код. В результате эти разработчики учатся только копировать.

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

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

Старайтесь не просто выполнять порученные задания, но и увидеть картину крупным планом

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

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

Умение видеть картину крупным планом

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

Постоянно ищите и заполняйте пробелы в своих знаниях

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

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

В конечном итоге я решил создать специальный список в Trello (я назвал его «пробелы в знаниях») и поместить туда «асинхронность в C#». Этот список должен был напоминать мне о вещах, которые я должен, наконец, выучить. В результате моя ситуация улучшилась. Я завел себе привычку регулярно пополнять свой список пробелов в знаниях, занося в него новые пункты каждый раз, как встречу что-то важное, но непонятное для меня. Результаты довольно хорошие.

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

Тренируйтесь ежедневно

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

Книга о soft skills, книга о чистом коде, книга по истории, урок английского, часок в спортзале… Все это поможет вам стать лучше: как профессионалу и как человеку.

Заключение

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

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

Please enter your comment!
Please enter your name here