Например, в Yii2 довольно мощный роутинг, т.е. есть много возможностей от простых до сложных. Все варианты понятны и разобраны, но нужно ли знать наизусть все? И такой вопрос ко всем темам.
Уточню, что сами принципы, концепции и паттерны понятны, работа фреймворка понятна. Например, возникает какая-та не частая задача и я помню примерно как ее решить в фреймворке, но нужно глянуть в документацию, чтобы освежить память, а также напомнить некоторые детали и названия. Это нормально?
Я несколько лет работал фрилансером и моя работа оценивалась по результату, т.к. заказчика не валновало куда и как часто я смотрю (помню или читаю документацию). Сейчас хочу утроиться на работу в команду, но совершенно не знаю как именно оценивается программист с точки зрения что он помнит, а чего не помнит или это не имеет значения и важно ли что он понимает, а чего не понимает?
В связи с описанным у меня 3 вопроса и буду благодарен за помощь:
- Нужно ли помнить (а не только понимать) то, что я описал выше, чтобы стать отличным программистом?
- Что отличает отличного программиста от посредственного?
- Что такое опыт для программиста? Судя по тому, что я вижу среди программистов опыт не может выражаться в часах, днях или годах, т.к. за одно и тоже время разные программисты проходят разные пути.