«Каждый должен научиться программировать компьютер, потому что он учит думать» - Стив Джобс

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

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

«Каждый должен научиться программировать компьютер, потому что он учит думать». - Стив Джобс

Почему важно научиться думать? Это потому, что мышление прививает навыки решения проблем. И это именно то, что ищут компании - более эффективные способы решения проблем. В большом масштабе.

Решение проблем

Программирование - это решение проблем. Обоснование решения проблем довольно простое и включает три основных шага.

  1. Попробуйте определенную стратегию.
  2. В случае неудачи попробуйте что-нибудь другое.
  3. Повторяйте, пока не добьетесь успеха.

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

Понять проблему

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

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

Спланируйте атаку

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

Обычно я считаю полезными тестовые примеры. Составьте список всех возможных тестовых случаев, включая крайние случаи. Чем больше тем лучше.

Разбить его

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

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

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

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

Узнайте, как отлаживать

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

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

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

Улучшение себя

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

Хотя вы можете потратить время на изучение нового фреймворка (например, React Native) или поиграться с алгоритмами машинного обучения, вам все равно нужно сохранять строгие основы.

Прочитать исходный код

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

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

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

Прослушивание подкастов

Подкасты - отличный способ получать качественную информацию при выполнении повседневных задач, таких как поездка на работу, уборка или тренировка.

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

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

Делать вклад

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

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

Заключение

Эта статья была направлена ​​на то, чтобы познакомить вас с шагами в мире программирования. Хотя это не исчерпывающий список, он пытается сосредоточить внимание на самом главном, о чем должен помнить каждый программист.

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