Вы бы назвали себя самозванцем, если бы у вас были тысячи решенных задач на LeetCode? Сотни вкладов в проекты с открытым исходным кодом? Написанный вами сайт? Десятки прочитанных книг и пройденных курсов по программированию? Созданный вами продукт? Новый выученный язык?
Были бы у вас проблемы на собеседованиях? Стали бы вы жаловаться, что не движетесь в правильном направлении и не развиваетесь на своей должности?
Скорее всего, нет. Потому что все эти достижения в совокупности означают, что вы хороший инженер.
Как этого добиться?
Совсем недавно я прочитал отличную книгу под названием «Атомные привычки». И еще кучу других, таких как «Сила привычки» и «Мини-привычки», так что, врать не стану, я сейчас просто одержим привычками.
Мне нравится представлять себе идеального человека с правильным распорядком дня, но еще больше нравится представлять человека, которому нелегко, который не может справиться со всем, что на себя нагрузил, но все равно придерживается этого распорядка в течение месяца или нескольких. Как изменится такой человек?
Итак, вот привычки, которые я хочу развить. По возможности я буду использовать мини-версии этих привычек, чтобы затем их развивать. Позже я оценю, как работают эти мини-привычки, и при необходимости их оптимизирую:
- LeetCode каждый день. Как в этом случае будет выглядеть мини-привычка? Надо открыть проблему, которую я еще не решил, прочесть ее и понять, что программа будет иметь на входе и что она должна вернуть. Подумать, какой алгоритм будет использоваться в решении. Если я уже читал эту проблему раньше, то напишу несколько строк псевдокода или просто комментарий о том, как в общем случае должно работать решение. Вот и все, не более того. Это абсолютный минимум, который от меня требуется. Начну с простых задач, а главная цель — никогда не пропускать их. Сейчас я обычно решаю легкую задачу каждый день, но бывают дни, когда мне этого не хочется, поэтому такая мини-привычка будет особенно полезна.
- Вклад в проекты с открытым исходным кодом. Я вижу в этом большую ценность, но на это уходит очень много времени. Надо узнать структуру проекта, способ внесения вклада в этот конкретный проект, найти проблему, посмотреть, воспроизводится ли она и нуждается ли в исправлении. Какая здесь мини-привычка? Прочитать 5–10 задач проекта, в котором хотите участвовать. Это можно сделать даже в худший день. И RSS мне поможет.
- Написание блога. Я люблю писать. Так что 50 слов в день должны стать хорошей мини-привычкой.
- Rust. Мое требование здесь — писать по строчке кода каждый день. Звучит глупо, но в этом весь смысл: чтобы написать одну строчку кода, нужно запустить редактор, подумать о том, что хочешь написать, и написать это. Конечно, я не собираюсь писать всего одну строчку кода в обычный день, но могу ли я пропустить эту одну строчку? Ни за что. Оправдания этому нет.
- Техническая книга или курс на Coursera. Мини-привычка: посмотреть одно видео на Coursera, прочитать одну-две страницы книги или просмотреть задачу / упражнение, как на LeetCode.
- 5 утра. У этой привычки мини-версии нет — просто вставать каждый день в 5 утра и не сдаваться.
Этот список, конечно, не включает привычки, которые, как мне кажется, я уже выработал и которые не имеют прямого отношения к работе Software Engineer. Чтобы отслеживать прогресс, я буду использовать трекер привычек и несколько других методов, которые упомянул в предыдущей статье.
Почему важны 5 утра? Задача в том, чтобы уже утром выполнить три-пять привычек. День только начался, а вы уже рассмотрели проблемы на LeetCode, написали 50 строк в блоге и решили задачи в проектах с открытым исходным кодом, — кто вас остановит?
Вот мое расписание на нулевой день, то есть 31 марта.
- 5:00. Подъем.
- 5:00–5:15. Приготовление кофе.
- 5:15–5:45. Разбор задач на AIOHTTP и FastAPI.
- 5:45–6:45. Написание этого текста в блоге.
- 6:45–7:45. LeetCode.
- 8:00–11:00. Сессия Deep Work.
- 11:00–12:30. Физические упражнения.
- 12:30–13:00. Холодный душ.
- 13:00–16:00. Низкокогнитивная работа, в основном куча встреч, ответы в Jira, очень простой код.
- 16:00–17:00. Coursera (курс по структуре данных).
- 17:00–18:00. Написание собственного сайта на Rust.
Четыре из шести привычек, которые я хочу развить, были выполнены до 8 утра!
С апреля я развернул эту SOP (стандартную операционную процедуру) в полном объеме. Если интересно, за прогрессом можно следить в моем блоге. Там же доступен и оригинал этой статьи.
Этот материал – не редакционный, это – личное мнение его автора. Редакция может не разделять это мнение.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: