"Никто не обнимет необъятного" (Козьма Прутков)
Сегодня профессия программиста - это практически необъятная область знаний. Количество языков программирования, сред разработки программного обеспечения, различных парадигм программирования так велико (и все это еще и быстро эволюционирует), что познать все это одновременно одному человеку становится непосильной задачей. Добавьте сюда огромное количество предметных областей, для которых разрабатывается программное обеспечение. А участие в создании или сопровождении софта, как ни крути, подразумевает знание предметной области. В общем, свою мысль я уже выразил цитатой Козмы Пруткова: стать специалистом во всех областях невозможно! И подкреплю сказанное еще одной его же цитатой:
"Плюнь тому в глаза, кто скажет, что можно обнять необъятное!" (Козьма Прутков)
На практике обычно так и происходит. Программист специализируется на определенной области, широта которой индивидуальна. Но как поступить начинающему программисту или желающему стать таковым? Что изучать, к чему готовиться? От богатства выбора голова может пойти кругом. Как же не ошибиться в выборе специализации?