James Johnson wrote earlier this month that "Programming has been difficult...(But Rewarding).
Mastering programming takes an enormous amount of time. Like any discipline it requires dedication and hard work to become well regarded in the field.
Learn something new today, repeat what you learned and repeat it again. Chances are that the next time you do it will be significantly faster than the first time.
Always be willing to try new languages and approaches, it will serve you well. Banging your head off a wall for hours just to get it to finally do what you want is the reward that all developers crave.
Programming is difficult, depending on what you want to accomplish, but the rewards are so satisfying that I can't see myself in any other profession.