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

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

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

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

Что, почему и когда?

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

  1. Что я хочу построить с его помощью?
  2. Почему я хочу этому научиться?
  3. Когда я буду этому учиться?

Что

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

Я не могу помочь вам выбрать проект, который вы хотите построить, но я могу привести вам пример. Есть один программист, Джордж Хотц, которого вы, возможно, знаете, как первого человека, взломавшего iPhone в 2007 году, который вдохновил меня на использование этого подхода. Во время подкаста с Лексом Фридманом он сказал: Я думаю, что это единственный способ научиться программировать, и единственный способ, которым я когда-либо встречал тех, кто умеет хорошо программировать, научился этому. Это иметь что-то, что вы хотите сделать, и просто построить это!.

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

Я попросил вас записать вопросы. Теперь дело за вами, чтобы определить свое «что»! Запишите, что вы хотите построить с помощью этого нового языка программирования.

Почему

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

Когда мы определяем наше «почему», мы ищем что-то значимое. Мощное и честное «почему». Вопрос «почему», который поднимает настроение и помогает не сбиться с пути. Не что-то вроде: «Наверное, круто выучить Javascript». Это не почему. Почему может быть что-то вроде: «Я хочу бросить свою текущую работу и стать программистом», но это также может быть: «Я люблю создавать вещи, которые помогают людям в их онлайн-опыте». Это будет вашим ответом на вопрос «Зачем я это делаю».

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

Когда

Я бы сказал, что этот последний вопрос является самым важным. А может, все они одинаково важны… Но давайте к делу.

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

В моем случае я работаю с 7:00 до 8:30, прежде чем приступить к своей основной работе. Это означает, что у меня есть семь с половиной часов в неделю. Мне этого достаточно, чтобы изучать новые языки программирования, читать блоги, создавать свой личный веб-сайт и даже писать новые идеи для постов в блогах. Вдобавок к этому каждые выходные я выделяю минимум четыре часа на написание текстов.

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

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

Время действовать

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

Создавайте расписание методом проб и ошибок

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

Измеряйте свой прогресс

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

Попросить о помощи

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

Вывод

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

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

Ресурсы