Путь к тому, чтобы стать хорошим в программировании, такой же, как и для пения или воспроизведения музыки: практика, практика, практика. Если вы тратите достаточно времени на регулярную разработку программного обеспечения в течение нескольких лет, скорее всего, у вас это получится, будь то в рабочее или нерабочее время.
Теперь, помимо того, что я трачу больше времени на занятия, есть еще одна причина, по которой профессионалы в определенном смысле становятся лучше, чем любители (как в музыке, так и в программировании). Если вы профессионал, вы должны выполнять задачи, которые вам не обязательно нравятся, но относятся к более широкой работе по разработке программного обеспечения (например, тестирование, обсуждения с клиентами, написание документации, настройка среды разработки / разработки, написание сценариев сборки и т. Д.). ). Время от времени вас также заставляют шагать в незнакомые области, изучать новые языки или платформы. Как любитель, вы не обязаны делать то, чего не хотите, что делает вероятным, что вы останетесь в своей зоне комфорта большую часть своей жизни. Другими словами, вы можете легко ограничиться одной или несколькими конкретными областями, которые вам больше всего нравятся,
OTOH многие профессиональные разработчики тоже попадают в это, оставаясь в одной и той же компании, выполняя ту же рутинную работу, с трудом изучая что-то новое в течение десятилетий ... Так что ключ к улучшению - это ваше отношение. Если вы продолжите учиться и осознанно будете искать возможности выйти из своей зоны комфорта на новую, незнакомую территорию, вы в конечном итоге превзойдете эти рой медленно окаменевших «профессионалов». Хорошим способом для этого может быть участие в некоторых проектах с открытым исходным кодом.
Рекомендуемое чтение - «Прагматичный программист: от путника до мастера» , с множеством полезных и очень практических советов о том, как стать лучше.