I am a university student in CS, and I have been programming for over three years now. The initial motivation for studying CS came from the ability to make a computer do anything I wanted, but over the years, this feeling has dissipated.
What keeps you going over the long term? What makes you wake up every morning and sit down to code again?
That's my take after several decades of doing this. Sounds like the passion maybe went right out, didn't it? No, it didn't. It's like a marriage. Sure, those first few years it's hot as lava, fsckin' like rabbits every day, hate to leave for work because it's time away from him/her. But that calms down, and frankly I think we should be glad it does as I don't know how sustainable such a relationship would be. Same with careers. Oh, sure, I was a coding maniac for years after I got access to a computer. But like a marriage, eventually the honeymoon ends and you settle into a nice, reliable, sustainable relationship with your work.
Just roll with the times you're not so passionate about it. There are times I don't like my wife very much, but I stick with her. There are times I don't like my job very much, because every job has some shit work or some drudgery. And even the coding can become drudgery some times. Because after twenty years, how many times do you think you'll have hand-crafted a for loop that iterates over an object collection?
But after twenty years of writing SELECT statements in your sleep, you can "level up" to where you easily slay the SELECT boss and move on to more challenging endeavors. And I guess in the end, that's what gets me out of bed: familiarity with my tools allows me to keep things interesting by moving on to new challenges. Right now I'm working on Programmable Logic Controllers. Before the interview I had to look up "PLC" on Wikipedia. I'm learning lots. :-)