Истории

Чем полезно мышление разработчика и как ему научиться

Истории
Анна Самойдюк
Анна Самойдюк

Редактор

Анна Самойдюк

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

Разработчик Брюс Флоу в своей колонке на Medium рассказал, что нужно делать, чтобы мыслить, как программист. 

Чем полезно мышление разработчика и как ему научиться

Научитесь учиться

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

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

Фото: Unsplash

Не изобретайте заново велосипед

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

Синдром «изобретено не нами» в информатике описывает склонность заново изобретать велосипед, несмотря на доступность существующих инструментов и программ.

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

С другой стороны, многие заново изобретают велосипед по плохим причинам:

  • они ослеплены эго, которое внушает им, что «свое всегда лучше»
  • слишком ленивы, чтобы найти решения.

На самом же деле, использование существующих инструментов сильно сэкономит время и упростит жизнь.

Маленькие итерации

Разработка ПО – итеративный процесс. Основная идея итерации – планировать, реализовывать, тестировать и обучаться.

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

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

Тестируйте, тестируйте, тестируйте

Фото: Unsplash

Важная часть работы разработчика – тестирование. В любом коде всегда найдутся ошибки.

Хороший разработчик никогда не думает, что его программа без багов. Вся индустрия принимает тот факт, что ошибки – неотъемлемая часть процесса. Неудивительно, почему существует так много инструментов и фреймворков для обнаружения проблем.

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

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

Применяйте шаблоны

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

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

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

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

Использование шаблонов для решения проблемы – то же самое, что сбор кубика Рубика. Когда вы знаете все шаги, которые вам нужно предпринять, проблема внезапно становится очень простой.

Фото: Unsplash

Не восхищайтесь своей работой

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

  • открытость к конструктивному фидбеку
  • объективность при оценке альтернативных решений
  • более высокие шансы попробовать совершенно другой подход в следующей версии или итерации
  • большее желание испытать радикальные идеи, несмотря на риск

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

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

Просто попробуйте мыслить, как разработчик

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

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

Источник.


Материалы по теме:

12 вещей, которые убивают продуктивность разработчиков

Хотите стать разработчиком? Вот на что следует обратить внимание

Как я бросил работу графическим дизайнером и стал frontend-разработчиком за пять месяцев

Как стартапу найти идеальную команду разработчиков

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Актуальные материалы —
в Telegram-канале @Rusbase

Комментарии

ВОЗМОЖНОСТИ

14 октября 2019

RUSSOL

15 октября 2019

PwC Russia Accelerator

ВОЗМОЖНОСТИ

14 октября 2019

RUSSOL

15 октября 2019

PwC Russia Accelerator

ПРОГРАММЫ И КУРСЫ

21 октября — 9 декабря 2019

Управление проектами