На многих форумах и тут на Тостере, советуют, что не стоит учить и заучивать язык или фреймворк, а использовать его как инструмент для решения задач. Отсюда вопрос, какие навыки нужны для разработчика, навыки которые отличают хорошего разработчика от говнокодера. Какие навыки требуются для того, чтобы решать любые поставленные перед собой задачи, особенно технические.
Итого:
1. Какие основные навыки разработчика, программиста для решения поставленных задач. На что стоит обратить особое внимание, и какие оттачивать навыки.
2. Если не трудно, пожалуйста дайте ресурсы, ссылки, по 1-му пункту.
3. Также если не трудно, есть ли какие то статьи, рассказы от реальных разработчиков, о том как они ставили перед собой задачи и решали их. Какие трудности были перед ними и как они их преодолевали.
Прочитайте до конца только замените слово сапер на программист. а слово война на слово работа
Если лень читать.
Для выполнения своей профессиональной работы, программист должен уметь работать самостоятельно в одиночку, не рассчитывая на помощь других. Он должен обладать понимаем ответственности за свои действия и за свою работу, уметь проводить оперативный и наиболее верный анализ всех действий и происходящей ситуации, быстро соскакивать с одного дела на другое, при этом не теряясь, выполнять все свои функции. Из личных качеств у программиста должно быть развито логическое и пространственное мышление, усидчивость и терпеливость, он должен не пугаться и не отвлекаться в экстренных ситуациях, уметь сохранять спокойствие при нехватке времени и в особо напряжённых моментах.
Абстрактное, алгоритмическое мышление. Это то, что позволяет представить себе процесс работы будущей программы в общих чертах (что она должна делать функционально), даже толком не зная ни одного языка программирования.
А фреймворк, язык, паттерны, пресловутый поиск и чтение документации - всё это должно быть инструментом реализации этого представления. Когда язык программирования, по совместительству, оказывается единственным пошаговым средством проектирования, вот тут начинается говнокод.
1. Оттачивать навык умения разбираться в новом, неизвестном. Навык быстро обучаться, уметь искать нужную для себя информацию, гуглить.
2. Научитесь учиться: мощные умственные инструменты, ...
3. Слишком расплывчато, у всех разные ситуации и разные задачи, люди ставят себе разные цели. Можете почитать истории успеха нагуглив их в интернете (очень много подобного), но это вам ничего не даст особо. Нужно самому ставить себе задачи и решать их.