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