Как стать лучшим программистом за 30 минут в день

Что, если бы я сказал вам, что есть верный способ улучшить свои навыки программирования всего за шесть недель, и это займет у вас всего около 30 минут времени в день? Ты это сделаешь? Или это слишком много, чтобы спросить?

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

Вы можете сказать: «У меня недостаточно знаний для создания этого <приложения/проекта/функции>. Мне нужно больше учиться». Я говорю, что ты не прав. Скорее всего, вы уже знаете гораздо больше, чем нужно. Чего вам не хватает, так это практики. Хороший кодер — это не тот, кто умеет делать все. Хороший кодер тот, кто может Вычислять как сделать что-либо.

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

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

Представьте себе такой сценарий: вы находитесь в больнице, и вам назначена операция на открытом сердце. Доступны два хирурга: первый окончил Гарвардскую медицинскую школу. Он прочитал все книги по хирургии на открытом сердце и может пойти на многое, подробно изучив каждую деталь. Другой раньше латал солдат на поле боя с помощью куска веревки и горячей иглы, но он прооперировал тысячи пациентов и имеет 99% успеха. Какой из них вы бы выбрали?

Что делают спортсмены, когда готовятся к большой игре или предстоящему турниру? Размышляете над книгами по стратегии? Нет, они практикуют.

Что делают музыканты, когда готовятся к следующему концерту? Почитал про кучу теории музыки? Нет, они практикуют.

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

«Хорошо, — говорите вы, — я понял. Но где взять эту практику? Без опыта меня никто не возьмет, а без работы я не получу опыта. Так что я застрял!»

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

Вот что нравится веб-сайтам CodeWars или же ХакерРанг для. У них есть гигантские коллекции практических задач на разных языках, аккуратно организованные по категориям и ранжированные по уровню сложности. В некоторых кругах это называют «кодовым гольфом». Другие люди называют эти тренировочные задачи «ката», заимствуя термин из боевых искусств (в частности, каратэ).

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

Китайское слово «кунг-фу» (功夫 или «гун-фу») на самом деле означает «тяжелая работа» или «усилия в течение долгого времени». Там нет ярлыка вокруг этого. Только пробуя, терпя неудачу и пытаясь снова, вы сможете развить свое программирование Кунг-фу. Мастер потерпел неудачу больше раз, чем даже пытался ученик. Путь к мастерству – это практика.

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

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

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

30 минут в день достаточно. Можете ли вы инвестировать так много в свое будущее?

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *