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

Давайте посмотрим, как улучшить свои навыки программирования. Эти шаги помогут вам думать как программист.

  1. Потратьте время, чтобы понять

Точно знать, что запрашивается. Самые сложные вопросы сложны на том основании, что вы их не понимаете (вот почему это начальный шаг).

Как узнать, когда вы понимаете проблему? Когда вы можете объяснить это на простом английском языке.

Вы застряли на каком-то вопросе, начинаете его разъяснять и через доли секунды замечаете лазейки в обосновании, которых раньше не замечали?

Большинство программистов знают эту склонность. Вот почему вы должны записать свою озабоченность, нарисовать схему или рассказать об этом другому человеку.

2. План

Старайтесь не бросаться прямо в понимание без предварительной договоренности (и тем или иным ожиданием, через которое вы можете запутаться). Планируйте свой ответ!

Ничто не может поощрить вас, если вы не можете зафиксировать правильные успехи.

В программировании это означает, что не стоит сразу начинать взламывать. Дайте своему разуму время исследовать проблему и обработать данные.

Чтобы получить достойную договоренность, ответьте на этот вопрос:

«Учитывая информацию X, какие средства важны для получения дохода Y?»

3. Одно за другим

Фокус. Это самое существенное достижение из всех. Старайтесь не пытаться решить одну большую проблему.

Скорее, разбейте его на подвопросы. Эти подвопросы значительно проще понять.

В этот момент позаботьтесь о каждой подпроблеме один за другим. Начните с наименее сложного. Самый простой означает, что вы знаете правильный ответ.

С этого момента «простой» означает, что понимание этого подвопроса не зависит от объяснения других. Разобравшись с каждым подвопросом, приходите к очевидному выводу.

Связывание всех ваших «дополнительных механизмов» даст вам ответ на первый вопрос. Эта процедура является основой критического мышления. Имейте это в виду (прочитайте эту последовательность еще раз, если вам нужно).

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

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

Уменьшите проблему до уровня, когда вы знаете, как понять ее и составить аранжировку.

4. Застрял?

На данный момент вы, вероятно, остаетесь на интуиции. Самое главное, сделать полный вдох. Во-вторых, это разумно.

Разница в том, что лучшие программисты/решатели проблем более любознательны в отношении ошибок/ошибок, которые беспокоят.

Исследование (отладка): хорошо упорядоченный ответ, постарайтесь выяснить, где вы ошиблись. Программисты называют это исследованием (на самом деле так делает каждый из отладчиков).

Переоценка: вернитесь на сцену назад. Взгляните на проблему с другой точки зрения. Должно быть что-то, что может быть связано с более широкой методологией.

Примечание: снова начинается новый метод переоценки. Сотрите все и начните заново с непредубежденным взглядом. Вы будете ошеломлены тем, насколько это жизнеспособно.

Исследование: О, старый добрый Google. Вы правильно прочитали. Независимо от того, какая у вас проблема, скорее всего, кто-то объяснил ее. Найдите этого человека/композицию. По правде говоря, делайте это независимо от того, решали ли вы проблему! (Вы можете многое узнать из ответов других людей).

Предостережение: не ищите ответ на огромную проблему. Ищите ответы на подвопросы. Почему? Так как кроме как если повоевать (даже чуть-чуть) ничего не освоишь. Если у вас ничего не получается, вы упустили свой шанс.

Практика

Старайтесь не надеяться стать экстраординарным после всего лишь нескольких недель. Если вам нужно хорошо решать проблемы, позаботьтесь о многих проблемах!

Упражняться. Упражняться. Упражняться. Просто потребуется время, прежде чем вы поймете, что «эту проблему можно без особых усилий решить с помощью ‹вставьте идею сюда›».