Издание tproger обратилось к Андрею с этим вопросом. Вот что он думает по этому поводу.

Лучше иметь глубокие знания в одной-двух основных для вас областях и базовые знания еще в нескольких. Это так называемые Т-образные знания. Глубокие знания помогут стать действительно востребованными профессионалом, способным решать сложные задачи в конкретной области. Общие знания остальных дисциплин помогут быстрее понять и решить задачи на стыке областей, помогут находить нестандартные решения задач. Также они помогут с пониманием других людей и общего смысла работы. Хотелось бы также отметить, что кроме технических знаний желательно изучать: управление проектами, эмоциональный интеллект, переговоры, финансы и ораторское искусство. Эти знания помогают, даже если нет желания расти по карьерной лестнице. При их наличии начинаешь лучше понимать происходящее и перестаешь застревать на вещах, не связанных с программированием.

Читайте ответы других экспертов по ссылке.