Привет, Хабр! Представляю вашему вниманию перевод статьи «How to improve your programming skills» автора Gael Thomas.

image

Вот топ 5 советов


1.  Установите цели для себя


Постановка целей повышает производительность разработчика.

Поймите:

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

У каждого есть личные цели, но я создал список универсальных идей для каждого:

  • Создать сайт
  • Получить новую работу
  • Работать в качестве фрилансера
  • Работать удаленно
  • Испытать себя
  • Улучшить финансовое состояние

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

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

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

2.  Делайте это снова… и снова


Как только выберете цели, работайте над ними как можно больше. Чем больше вы практикуетесь, тем больше учитесь.

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

Пишите код ежедневно, во время обеденного перерыва или после работы. Даже если это только на один час, если вы создадите привычку и будете придерживаться ее, то увидите ежедневные улучшения, постепенные, но постоянные.
«Повторение-мать учения, отец действия, что делает его архитектором свершения.»(Zig Ziglar — Twitter)

3. Поделитесь тем, что узнаете или создаете


Это лучший способ узнать новое.

Некоторые идеи для обмена тем, что вы делаете:

  • Пишите статьи в блоге (например, на Хабре)
  • Присоединяйтесь к конференциям или местным встречам, митапам
  • Попросите обратную связь на StackOverflow
  • Записывайте прогресс каждый день с хэштегом #100DaysOfCode

Немного повествования:знаете ли вы, почему я создал HereWeCode.io?

Я очарован кодом и обменом знаниями. За последние несколько лет я прочитал много статей на платформах: freeCodeCamp, dev.to и так далее. И узнал о том, что каждый может поделиться тем, что он изучает и создает, даже если это всего лишь мелочь.

Я создал здесь код по нескольким причинам:

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

Каждый может это сделать. Я начал с обычного действия. Сначала создал статью на Medium под названием "Узнайте, что такое API!", затем ещё и вторую о Docker под названием "Руководство для начинающих по Docker: как создать свое первое приложение Docker" и так далее.

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

Помните: Не нужно быть экспертом области, чтобы написать о чем-то.

4.  Читайте код


Все, что Вы читаете о коде, улучшит навыки программирования.

Вот что можете прочитать:

  • Код на GitHub
  • Книги
  • Статьи
  • Новостные рассылки

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

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

Некоторые известные книги:

  • Чистый код: руководство по гибкому программному мастерству Роберта К. Мартина (Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin)
  • Прагматичный программист: от подмастерья до мастера
  • Cal Newport: Deep work

5.  Задавайте вопросы


Не стесняйтесь спрашивать слишком много.

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

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

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

Комментарии (4)


  1. somebody4
    12.12.2019 00:29
    +1

    Установите цели для себя
    Что-то «Улучшить финансовое состояние» идёт скромненько на последнем месте. Надо чтобы список гордо начинался с:

    1. Улучшить финансовое состояние
    2. Ещё улучшить финансовое состояние
    3. Получить новую работу


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

    Задавайте вопросы
    Надо правильные вопросы задавать, а то «один дурак может задать вопросы, на которые и сто мудрецов не ответят.»

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


  1. muhaa
    12.12.2019 01:35

    Есть еще вариант: создавать программы которые работают. И боюсь он единственный реально действенный. Потому что программирование это не спорт.


  1. sbnur
    12.12.2019 08:08
    +2

    Интересно, как фраза "Ask yourself the following questions" переведена одним словом "Поймите".
    Далее — фраза "Everyone has their own personal goals, but I created a small list of ideas for you" переведена — "У каждого есть личные цели, но я создал список универсальных идей для каждого"
    Кстати у меня нет цели создать сайт — наверное я не каждый.


    1. muhaa
      12.12.2019 13:31

      Хуже того, для меня вообще ни одного попадания:
      «Создать сайт» — мне он точно не нужен;
      «Получить новую работу» — зачем, если я еще не реализовался на текущей;
      «Работать в качестве фрилансера» — ага, и пилить сутками всякий примитив в одиночестве;
      «Работать удаленно» — скорее проблема (которую я уже имею), чем преимущество;
      «Испытать себя» — это еще что за детство?
      «Улучшить финансовое состояние» — а если состояние устраивает?