1. Думай алгоритмами
Мышление программиста в одной картинке:
В первую очередь, программирование — это алгоритмы, то есть наборы инструкций для машин. От того, как составлены инструкции, зависит, сможет пользователь отправить сообщение или нет, загрузится ли у него страница сайта и получится ли оформить доставку.
Первый шаг к тому, чтобы научиться мыслить, как программист — это научиться думать инструкциями и видеть их вокруг, от рецептов блюд и выращивания помидоров до планирования путешествий и покупки недвижимости.
Даже у цели «стать программистом» есть инструкция: что нужно знать, какими навыками владеть, где и как учиться, какое портфолио собирать.
2. Разбивай большие задачи на подзадачи
Процесс решения любой задачи в программировании начинается с ее декомпозиции на более простые задачи. Объясняется это тремя причинами:
- Все машины (компьютеры, телефоны, планшеты) думают простыми действиями. Любое сложное действие для них — это правильно выстроенный набор маленьких действий.
- Даже если ты придумаешь какое-нибудь сложное решение для своей задачи, которое компьютер поймет и сможет выполнить, то потом в нем не смогут разобраться другие разработчики.
- Декомпозиция одновременно упрощает сам процесс разработки и тестирование.
Чтобы научиться думать как программист, практикуй подход декомпозиции в повседневной жизни.
Не приготовить салат, а сходить в магазин за продуктами, помыть овощи, нарезать их, все смешать.
Затем проанализируй все этапы. Так ли они необходимы? Или от какого-то этапа можно отказаться? Как оптимизировать?
Например, можно не идти в магазин, а заказать доставку. Посуду мыть не самому, а загрузить ее в посудомоечную машину. Если это окрошка, то в нее не нужно добавлять чеснок.
Точно так же и программист сначала пишет алгоритмы, а после анализирует их — все ли этапы нужны, что оставить, а что убрать, как оптимизировать. Чем короче и проще код, тем лучше.
3. Практикуйся (программируй)
Лучше всего мышление программиста развивает программирование. Решай задачи, пиши pet-проекты и пробуй писать программы для всего, что тебя окружает, как это в свое время делал преподаватель нашего учебного центра Олег Игонин. Сейчас он работает Java Senior Developer и ведет занятия для наших студентов. Подробнее об этом он рассказывал в статье «5 советов от Senior Developer тем, кто только думает изучать Java».