Совершенствуемся: советы для программистов

Перевод статьи «Tips to become a better programmer».

Советы для разработчиков

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

Улучшаем навыки решения проблем

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

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

Зачем мне тратить свое свободное время на написание алгоритмов?

  1. Это улучшит ваши навыки решения проблем.
  2. Вы узнаете много нового о вашем любимом языке программирования.
  3. Умение разбираться в алгоритмах повысит вашу уверенность на собеседованиях.
  4. Вы научитесь писать более надежный код, учитывающий edge cases.
  5. Попрактикуетесь в TDD (разработке через тестирование).
  6. Углубите базовые знания информатики.
  7. Это просто интересно!

LeetCode

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

Осваиваем основы

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

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

Темы, знание которых точно не утратит свою актуальность:

  • Чистый код.
  • Структуры данных и алгоритмы.
  • Шаблоны проектирования.
  • Объектно-ориентированное программирование.
  • Функциональное программирование.
  • Дебаггинг.
  • Тестирование (модульное, интеграционное и сквозное).
  • Облачные вычисления.
  • Основы безопасности.
  • Базовые знания компиляторов.
  • Soft skills (≈навыки работы с людьми).
Советы для разработчиков

Занимаемся личными проектами

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

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

Идеи проектов:

  • Клон Reddit (API, пользовательский интерфейс, аутентификация, проектирование базы данных и деплоймент на облачной платформе).
  • FTP-клиент (хороший способ узнать побольше о сетях).
  • Web Scraper (регулярные выражения, многопоточность, HTTP-запросы).
  • Чат (сети и сокеты).

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

Участвуем в проектах с открытым исходным кодом

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

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

  • Вы учитесь разбираться в новых кодовых базах.
  • Учитесь разбираться в сути проблем.
  • Совершенствуете навыки решения проблем.
  • Занимаетесь тестированием.
  • Развиваете soft skills (в ходе общения с другими разработчиками и конечными пользователями).

Если вы ищете, как бы поучаствовать в open source, вот отличная стартовая позиция: https://github.com/firstcontributions/first-contributions.

Изучаем новый язык программирования

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

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

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

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

Советы для программистов

Следим за тенденциями в своей профессии

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

Отслеживать все изменения слишком сложно, не стоит и пытаться. Но как понять, за чем стоит следить, что стоит изучать? Самое простое решение — читать статьи в блогах и посты в социальных сетях известных в сообществе разработчиков (чтобы быть в курсе дел) и не бросаться изучать все новинки «просто чтобы было».

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

Избегаем выгорания

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

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

Советы, как избежать выгорания:

  • Когда вы устали (физически и умственно), сделайте перерыв. Неделя отпуска время от времени может сыграть большую роль. В долгосрочной перспективе это очень поможет вам как в работе, так и в учебе.
  • Создайте личный план на три месяца с достижимыми целями (построить Х, завершить 20 алгоритмов, изучить React и т. п.).
  • Не пытайтесь выучить все. Такой подход очень изматывает, а кроме того он попросту непродуктивен: у вас будут слишком неглубокие знания.
  • Ведите здоровый образ жизни.

Синдром самозванца

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

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

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

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]

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