Я думаю, тут, как везде в жизни. Тебе нравится, когда получается, а получается, когда тебе нравится и ты продолжаешь двигаться. Петля обратной связи. Поэтому нужно стараться это использовать, решать проблемы на грани твоих компетенций.
Сложности, конечно бывают, но если ты подпитываешься удовольствием, то они только зажигают тебя.
Сложно - это когда непонятно как это делать. Стоит только изучить основные принципы и какой-нибудь язык программирования, вся сложность исчезнет. Иными словами - не бывает сложных или несложных профессий