Practice Programming

Если вы музыкант или просто увлекаетесь музыкой, то наверняка знаете, что “практика” и “репетиция” — два совершенно разных понятия.

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

Разработчики тоже нуждаются в этих часах

Когда я только начала изучать программирование, я посвящала по 60–70 часов в неделю своей программе обучения. Я многое узнала и выросла в своей способности быстро чему-нибудь научиться. Но,как вы наверное догадались, я “перегорела”.

Как только программа обучения закончилась, я взяла перерыв. Стала намного меньше времени уделять программированию, нежели во времена моего “бешенного” обучения. Я устроилась разработчиком в одну компанию и писала код по 40 часов в неделю. У моей компании есть собственный JavaScript-фреймворк с открытым исходным кодом, и мы используем Craft CMS. Первые пару месяцев я потратила на изучение инструментов, которые мы используем.

Спустя некоторое время работы с инструментами моей компании, мне захотелось попробовать новые технологии, о которых я некогда слышала. Также я захотела узнать о back-end языках и концепциях. У меня не было каких-то серьезных причин для их изучения, кроме “просто потому что хочу”. Я приняла решение: выделить в своем ежедневном расписании часы на практику.

Мой обычный день

Я начала с программирования случайных приложений и столкнулась с проблемой — я просто забывала над чем работала до этого. Привет, Github Graveyard! Без менеджера проектов или доски Trello, которые бы меня контролировали, я попросту сбивалась с намеченного пути. В этот раз я решила купить дешевый блокнот, чтобы записывать в него личные задачи и прогресс. Вы можете пользоваться, чем вам угодно.

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

Сегодня я хочу узнать о ______. Я прочту/воспользуюсь ______, чтобы помочь себе в этом.

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

Сегодня я узнала/сделала ______ и я чувствую себя ______.

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

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

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

Как только вы будете готовы увеличить время ваших занятий, обратитесь к идее Малкольма Гладуэлла о 10 000 часах в его книге Outliers.

Идея заключается в том, что в любом деле можно достигнуть абсолютного мастерства, если иметь за спиной 10 000 часов практики. Давайте разберемся. Если бы вы тренировались каждый день по 3 часа, то для достижения отметки в 10 000 часов —  вам потребовалось бы 3333 дня или чуть более 9 лет. Я не рекомендую этого делать, так как жизнь за пределами программирования важнее.

Я рекомендую сопоставить ваши реальные цели и свободное время. Добавьте к этому идею о 10 000 часах и хорошенько все обдумайте. Безусловно, если вы хотите стать самым молодым senior-developer, которого когда-либо видел этот мир, иметь бесконечное свободное время и волю Мулан, сражающуюся с гуннами…тогда дерзайте!

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

Тест для определения вашего идеального расписания

  1. Я готов достичь своих целей :
    A) Как можно быстрее, по человеческим меркам. Пойдем уже дальше! (+1, если вы прочитали это голосом Бендера)
    B) В умеренном темпе. Я амбициозен, но готов дождаться своего счастливого билета.
    C) Я не тороплюсь. Успех требует времени! Главное —  это путь, по которому ты движешься к цели.
  2. Для меня успех означает:
    A) Тяжело работать и оставаться допоздна.
    B) Эффективно работать, с умом рассчитывать время и, конечно, рисковать.
    C) Хорошо ладить с коллегами, уделять особое внимание долгосрочным выгодам, и быть всегда “тут как тут”.
  3. Я хочу быть на вершине:
    A) 2 %
    B) 25 %
    C) 50 %
  4. Mоя жизнь:
    A) Сосредоточенная
    B) Суетливая
    C) Спокойная
  5. Я готов пожертвовать:
    A) Всем
    B) Днями и ночами
    C) Жертвоприношение? Ни в коем случае!

Если в большинстве вариантов вы ответили A

Поздравляю! Вы жаждете успеха и не остановитесь ни перед чем, пока не добьетесь его. Я бы рекомендовала быстрый план обучения. 4–5 дней в неделю, примерно по 3–4 часа. Будем честны — личная жизнь уйдет на второй план, но вы сделаете куда больше остальных.

Если в большинстве вариантов вы ответили B

Поздравляю! Вы рационально подходите к своим возможностям и готовы достичь своих целей. Я бы рекомендовала умеренный учебный план. 2–3 дня в неделю, по 1–2 часа.

Если в большинстве вариантов вы ответили C

Поздравляю! Вы готовы к длинному путешествию на пути к успеху. Дышите полной грудью во время этого путешествия и ни в чем себе не отказывайте. Я бы рекомендовала неторопливый план. 1–2 дня в неделю, по 30 минут — 1 часу.

Если вы не можете определиться

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

 

Перевод статьи Stephanie Winn Provence: Why you should have Practice Hours as a developer

Предыдущая статьяНасколько хорошо вы умеете пользоваться Linux?
Следующая статьяКак создавать анимированные графы в Python