Найти тему

Как научиться думать как программист

1. Думай алгоритмами

Мышление программиста в одной картинке:

-2

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

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

Даже у цели «стать программистом» есть инструкция: что нужно знать, какими навыками владеть, где и как учиться, какое портфолио собирать.

2. Разбивай большие задачи на подзадачи

Процесс решения любой задачи в программировании начинается с ее декомпозиции на более простые задачи. Объясняется это тремя причинами:

  1. Все машины (компьютеры, телефоны, планшеты) думают простыми действиями. Любое сложное действие для них — это правильно выстроенный набор маленьких действий.
  2. Даже если ты придумаешь какое-нибудь сложное решение для своей задачи, которое компьютер поймет и сможет выполнить, то потом в нем не смогут разобраться другие разработчики.
  3. Декомпозиция одновременно упрощает сам процесс разработки и тестирование.

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

Не приготовить салат, а сходить в магазин за продуктами, помыть овощи, нарезать их, все смешать.

Затем проанализируй все этапы. Так ли они необходимы? Или от какого-то этапа можно отказаться? Как оптимизировать?

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

Точно так же и программист сначала пишет алгоритмы, а после анализирует их — все ли этапы нужны, что оставить, а что убрать, как оптимизировать. Чем короче и проще код, тем лучше.

3. Практикуйся (программируй)

Лучше всего мышление программиста развивает программирование. Решай задачи, пиши pet-проекты и пробуй писать программы для всего, что тебя окружает, как это в свое время делал преподаватель нашего учебного центра Олег Игонин. Сейчас он работает Java Senior Developer и ведет занятия для наших студентов. Подробнее об этом он рассказывал в статье «5 советов от Senior Developer тем, кто только думает изучать Java».