I have experienced some of what you're describing, but to a much lesser extent. Here's what I can relate to, and how they turned out for me.<p>I typically have the kinds of feelings and motivations early-on at a new job, say during the first year when I'm learning a lot about the system I'm working on, related systems, and other systems. There is so much I don't know, and of the parts I do know, so much that's very broken and needs to be fixed. During this period, I did tend to work on things late on days often, or allow myself to think about them evenings or weekends as thoughts would pop into my head, but I rarely actually started coding something at night or on a weekend unless it was an Eureka! sort of moment.<p>Totally get that thing about watching a movie feeling bad. I never felt any guilt, merely a lack of fulfillment compared to solving a problem/puzzle that was lingering in my mind. What I'd typically do is work on side projects experimenting with different sorts of languages, frameworks, libraries, datastores or ways of constructing programs on toy projects. Then when my mind was tired, watch Netflix or some other kind of filler until past bedtime.<p>I never did feel that there was a very much to know that I didn't know that was directly relevant to the work I was doing. Most of the time problems at work can be solved with basic datastructures, database queries, etc. The extra reading tended to be things I wish I needed to use at work and mostly out of pure curiosity. Also never felt guilty about learning things on and off the job, even if they weren't directly job-related.<p>From the way your post is phrased, I would say that you have to 'cut yourself more slack'. I doubt anyone else expects nearly as much as you've put on yourself. Learn things the best way you can, apply what you can when you can, and have discussions on the things you see as problems to be solved so that you can align on a sense of priorities. You shouldn't feel you have to do extra things or spend extra time on work if you don't actually enjoy working on the problem. Those types of problems can wait until the workday starts.