Какие навыки нужны разработчику?
==================================

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

1. Какие основные навыки разработчика, программиста для решения поставленных задач. На что стоит обратить особое внимание, и какие оттачивать навыки.  

2. Если не трудно, пожалуйста дайте ресурсы, ссылки, по 1-му пункту.  

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

Спасибо !)) 

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

А фреймворк, язык, паттерны, пресловутый поиск и чтение документации - всё это должно быть инструментом реализации этого представления. Когда язык программирования, по совместительству, оказывается единственным пошаговым средством проектирования, вот тут начинается говнокод. 

 1. Оттачивать навык умения разбираться в новом, неизвестном. Навык быстро обучаться, уметь искать нужную для себя информацию, гуглить.  

2. [Научитесь учиться: мощные умственные инструменты, ...](https://ru.coursera.org/learn/learning-how-to-learn)  

3. Слишком расплывчато, у всех разные ситуации и разные задачи, люди ставят себе разные цели. Можете почитать истории успеха нагуглив их в интернете (очень много подобного), но это вам ничего не даст особо. Нужно самому ставить себе задачи и решать их. 

 1)  

Умение быстро понимать как работает тот или иной фреймворк.  

Умение находить справочную информацию примеры решения задач по используемому языку. 

 главный навык - железная жопа. 

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