Думай как программист



Системное подход решения задач - это крутейший навык в любой области. Есть проблемы, которые часто повторяются. Системный подход помогает найти такое решение, которое избавляет от этих проблем. На Хабре по этой теме вышел перевод статьи "Уроки по решению задач" https://habr.com/post/422543/.



Что нужно делать, когда сталкиваешься с новой задачей:

1. Докапывайтесь до сути задачи

Бывает, долго сидишь над задачей и не знаешь, как её решить. Только начинаешь рассказывать её коллеге - решение тут же приходит само. Поэтому важно описать задачу, нарисовать схему или объяснить кому-то простым языком.



2. Планируйте решение

Нет ничего лучше расписанного плана решения на бумажке. Когда будете делать план, задайте себе вопросы типа: "если взять X, то какие шаги нужно сделать, чтобы получить Y".



3. Декомпозируйте

Декомпозиция - это разделение одной большой задачи на несколько маленьких простых задач. Легче решить 5 задачек и объединить их, чем обдумывать одну огромную. Бывает, к такой задаче даже страшно притронуться.



4. Дебажьте, если застряли

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