Как стать веб-программистом, а не кодировщиком?
=================================================

 Имею знания и навыки по веб-разработке и базам данных, но как научиться проектировать ПО, стать профессиональным программистом, а не зависеть от опыта, который получил на курсах/ВУЗе/Книгах.  

  

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

  

Помогут ли тут такие книги, как "Проектирование ИС"? 

 Все просто.  

В процессе учебы и работы старайтесь все время развиваться, а не просто делать свою работу. Так через какое-то время ваши решения будут становиться лучше.  

Ну и по пунктам  

  

> "как научиться проектировать ПО"

  

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

  

> стать профессиональным программистом, а не зависеть от опыта, который получил на курсах/ВУЗе/Книгах.

  

Ну так получать опыт еще где-нибудь.  

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

  

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

  

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

Помогут ли тут такие книги, как "Проектирование ИС"? 

 Практический опыт и постоянное самообразование. 

> не зависеть от опыта, который получил на курсах/ВУЗе/**Книгах**.

  

> Помогут ли тут такие **книги**, как ...

  

если решил не зависеть от книг, то они не помогут. 

 это уже вопрос природных задатков  

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

 Проектирование это не про написание программ, это про обслуживание и модификацию.  

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

Без значительного опыта по модификации кода наработать этот навык неверно нельзя вовсе.  

Так же будет не вредным почитать, различную литературу на это тему, про шаблоны проектирования и например Мартина Чистая Архитектура.  

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

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

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

 Информация к размышлению.  

Кодировщик пишет код, программист решает проблемы заказчика.   

Делайте выводы