Что нужно сделать, чтобы мыслить, как программист
Руководство по решению проблем
Что значит мыслить, как программист? По сути, все заключается в более эффективном способе решения проблем. Блогер и разработчик мобильных приложений Ричард Рис дал несколько советов, как развить вычислительный образ мышления.
Почему это важно?
Решение проблем – это метанавык. Как мы с ними справляемся? Довольно случайно. Если у вас нет системы, вы, скорее всего, «решаете» проблемы таким образом:
- Пробуете решение.
- Если не получается, пробуете другое.
- Повторяете шаг второй, пока не повезет.
Так делать не стоит. Это огромная потеря времени. Вам нужно а) найти закономерность и б) практиковаться.
«Почти все работодатели в первую очередь смотрят на то, как сотрудники решают проблемы. Именно этот навык для них важнее, чем знание языков программирования, отладка и проектирование системы. Вычислительное мышление и возможность справляться с большими и сложными проблемами ценятся так же, как и базовые технические навыки, необходимые для работы», – HackerRank (Отчет о навыках разработчиков 2018).
Найдите закономерность
«Новички-программисты часто фокусируются на изучении синтаксиса, а не на решении проблем. И это самая большая ошибка», – В. Антон Спрол.
Что же нужно делать, когда вы сталкиваетесь с новой проблемой?
1. Поймите ее
Вы должны знать, что от вас требуется. Задачи кажутся сложными, потому что вы не понимаете их. Как узнать, поняли вы проблему или нет? Попробуйте объяснить ее простым языком.
Фото: Unsplash
Так происходит довольно часто: вы застреваете на задаче, начинаете объяснять ее, и внезапно замечаете логические недочеты? Большинству программистов знакомо это чувство. Запишите на бумагу вашу проблему или расскажите о ней кому-то.
2. Планируйте
Не приступайте сразу к решению проблемы без плана. Вам ничего не поможет, если вы не распишете точные шаги. Дайте мозгу время проанализировать проблему и обработать информацию. Чтобы составить хороший план, ответьте на этот вопрос:
«Допустим, на входе есть X. Какие шаги нужны для того, чтоб на выходе получить Y?»
У программистов есть отличный инструмент для этого… Комментарии!
3. Разбивайте проблему на маленькие подпроблемы
Это самый важный шаг. Не пытайтесь сразу решить одну большую задачу. Вместо этого разбейте ее на небольшие задачки и постепенно решайте их. Начните с самой простой – то есть с той, ответ на которую вы уже знаете. Как только вы справитесь со всеми, соедините точки. Так вы сможете решить первоначальную задачу.
«Я всегда советую программистам-новичкам упрощать проблему. Давайте представим, что вам нужно написать программу, которая читает десять чисел и определяет, какое будет из них будет третьим по величине. Новичкам это задание может показаться очень сложным, несмотря на то, что для его решения необходимо знание базового синтаксиса. Если вы застряли, попробуйте упростить проблему. Вместо третьего по величине числа попробуйте найти просто самое большое из всех. Все еще сложно? Найдите самое большое число из трех заданных. Или из двух. Упрощайте проблему до тех пор, пока не поймете, как ее решить. Затем постепенно усложняйте задачу и переписывайте решение», – В. Антон Спрол.
4. Застряли?
Вы сейчас, наверное, думаете: «Ну да, это, конечно, здорово, но что если я застрял и не могу решить даже маленькую проблему?»
Фото: Unsplash
Не переживайте. Это происходит со всеми. Разница заключается в том, что программисты не злятся, когда сталкиваются с этим. Им наоборот интересно найти решение. Вот три способа, как с это сделать:
- Отлаживайте. Пересмотрите свое решение. Попробуйте определить, где вы ошиблись.
- Оцените заново. Посмотрите на проблему с другой стороны. Есть ли что-то, что можно представить более простым способом?
«Иногда мы теряемся в деталях и упускаем общие принципы, которые помогли бы решить задачу быстрее. Классический пример – это сумма последовательных чисел – 1 + 2 + 3 + … + n. Карл Фридрих Гаусс представил это в виде выражения n(n+1)/2, и ему не пришлось выполнять ненужные вычисления».
Есть еще один вариант – полностью переписать код. Удалить все и начать заново.
- Исследуйте. Неважно, какую задачу вы пытаетесь решить сейчас. Кто-то уже сделал это до вас. Вам нужно просто поискать. Делайте это, даже если решили проблему.
Практикуйтесь
Не думайте, что через неделю вы станете мастером в этой области. Если вы хотите хорошо решать задачи, делайте это регулярно. Практикуйтесь. Шахматы, математические задачи, судоку, го, монополия, видеоигры, криптокотики – все это поможет вам оттачивать навык решения проблем. Известные люди тоже так делают. Например, Питер Тиль играет в шахматы, а Илон Маск – в видеоигры.
«Илон Маск, Рид Хоффман, Марк Цукерберг и другие утверждают, что игры заложили основу для их успеха», – Мэри Микер.
Неужели это значит, что вы должны просто играть в видеоигры? Не совсем. Конечно, нужно еще учиться. Найдите что-то, где вы могли бы практиковать свои умения.
Материалы по теме:
Названы 5 самых популярных языков программирования по версии HackerRank
12 признаков плохого программиста – выявляем непрофессионала
Как стать программистом, если очень хочется, но опыта нет
Как я бросил работу графическим дизайнером и стал frontend-разработчиком за пять месяцев
-
Бизнес Екатерина Лапшина: «У меня всегда был чуть больший аппетит к риску» 07 мая 2026, 16:10
-
Личное Из фарцовщика в создателя дизайн-завода Flacon: как Николай Матушевский дважды бросал свой бизнес и начинал с нуля 05 мая 2026, 12:09
-
Личное «Успешным я стану, продав бизнес и уехав в Африку реабилитировать горилл». Интервью с ресторатором Денисом Бобковым 10 апреля 2026, 17:00
-
Технологии Александр Пьянов, «Яндекс Драйв»: «Мы готовы стать агрегатором для всего рынка каршеринга» 08 апреля 2026, 12:26
-
Банки Ирина Лебедева, Т2: «Ключевой принцип — без неприятных сюрпризов» 25 марта 2026, 09:14
-
Бизнес Отказ от завода и ставка на интеллект: как Катерина Карпова реанимировала PURE LOVE 02 марта 2026, 11:45
-
Бизнес Анна Выборнова, клуб недвижимости «Движение»: «Через искренность получается хорошо устанавливать деловые связи» 18 февраля 2026, 16:00
-
Бизнес «Точно розовый?»: как Eburet из табурета-трансформера вырос в B2B-бренд, который заходит на рынок в 50 млрд ₽ 11 февраля 2026, 19:48
-
Бизнес Ещё один тестовый проект ВкусВилл прекратил работу в 2026 году: ритейлер закрыл пиццерию «Rимляне» в центре Москвы 13 мая 2026, 12:00
-
Реклама Telegram остаётся приоритетной площадкой для 67% рекламодателей — каждый третий увеличивает или сохраняет бюджеты 13 мая 2026, 11:10
-
Стартапы «Сколково» проведёт «Питч года» для стартапов — в 2025 году бизнес-ангелы инвестировали в компании 1,1 млрд ₽ 13 мая 2026, 09:00
-
Бизнес В начале 2026 года выручка производителя Labubu выросла на 80% — но спрос на товары Pop Mart продолжает падать 12 мая 2026, 20:30
-
Искусственный интеллект Сооснователи OpenAI впервые раскрыли доли в стартапе: у Грега Брокмана — $30 млрд, у Ильи Суцкевера — $7 млрд 12 мая 2026, 20:00
-
Банки ЦБ поддержал повышение лимита переводов для бизнеса по СБП до 30 млн ₽ — изменения вступят в силу в 2027 году 12 мая 2026, 18:40
-
Тренды Гендерный разрыв зарплат в России достиг максимума за 13 лет — мужчины зарабатывают на 34% больше женщин 07 мая 2026, 15:00
-
Банки Кредитный рейтинг «Делимобиля» повысился: среди причин — включение в «белый список» Минцифры и поддержка от ВТБ 07 мая 2026, 13:00