Обучение программированию - это первый шаг к тому, чтобы стать разработчиком, но каковы некоторые характеристики, связанные с тем, чтобы быть хорошим разработчиком?

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

Аналитическое мышление

  • Хорошие навыки системного мышления. Даже процесс написания простой веб-страницы происходит на пересечении нескольких сложных систем (браузеры, спецификации HTML / CSS, Интернет и т. Д.).
  • Страсть к решению проблем. Неважно, какой вы тип разработчика, это огромная часть программирования.
  • Способность уравновесить размышления как о большой картине, так и о мелких деталях.

Любознательность и любознательность

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

Сочувствие

  • Имейте в виду, что программное обеспечение - это в первую очередь люди, поэтому способность понимать своих пользователей - это ценная (и важная) перспектива.
  • Также важно иметь возможность общаться как со своим клиентом, так и со своей командой.

Гибкость

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

Любовь к обучению

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

Прагматизм

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

Командный игрок

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

Технический образ мышления

  • Как разработчик, ваш компьютер будет основным инструментом, на который вы будете полагаться изо дня в день при выполнении своей работы. Однако вы должны одновременно наслаждаться и понимать «глупую логику» компьютеров. Другими словами, они делают именно то, что вы им говорите, но они не могут думать самостоятельно (и вы не можете их винить в этом).
  • В дополнение к вышесказанному, необходимо быть на 100% комфортным при работе с компьютерами и другими сопутствующими устройствами.
  • Разработчики часто работают вместе с людьми, не входящими в команду разработчиков, поэтому ценным навыком является способность передавать технические идеи нетехническим людям.

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

Какие еще характеристики вы бы добавили в список на собственном опыте?