What about someone who has a job where they code full-time (or close to it) but they don't enjoy what they're coding or they don't feel like they're getting better in their current position? Sometimes you're not in a position where you can leave at the moment and find a better coding position or you're not yet good enough at coding to get a job where you actually learn. It's incredibly hard to code for 30-40 hours a week and then try to do it for 5-10 hours a week extra after work to get better.
I'm worn out after 40 hours of work, so creating my own projects and/or working on open source projects is difficult. However, without doing that, I don't feel that I can move on to a more challenging development position because I have no code I can show.
I totally understand the feeling. I'm currently in a low pay full time coding job without benefits. I'm in no financial situation to consider quitting (I wouldn't last a month). Only doing what I do at work advances my skillset little, so I've been forced to do extra on nights and weekends. It is never easy to coerce yourself into working extra but I've found a couple of tactics that have helped immensely.
1. Do it for money. I find working for someone else motivates me pretty well. I wanted to learn how to use JS frameworks like ember or angular so I've done a couple of simple restaurant menu CMS systems for local businesses. I did them for peanuts on the condition that I didn't have hard deadlines. Even though I have the luxury of taking as much time as I feel like, I feel some obligation to anyone paying me for work. I've also found that it effectively narrows the focus of the work in a way that might be more challenging in a more free form project. It's a lot harder for me to not start including "cool" but often-useless features in my own projects while I tend to keep my work for others limited to what was agreed upon originally.
2. My other method is to set myself up with two or three productive activities and force myself to rotate between them. I might choose learning German vocabulary, refreshing math online and writing a simple app in a new language for a night and make an effort to always be doing one of those tasks. I try to look at this time as relaxation and free time itself, so I try to set few expectations. When I get bored/frustrated, instead of turning on the TV or opening the news, I switch to the next activity and repeat until its time for bed. You can move forward on unrelated hobbies this way, something that frustrated me when I first learned how to code and overdid the focus and attention I gave it, to the point of severe frustration.
Lastly, try to relax and take it easy. If you put yourself through Hell every night you'll quit and get nowhere. Take nights off when needed and get to bed at a decent hour. You won't see immediate returns so any strategy has to be looking toward the long haul.
What about working on your projects before work. Make the job that you're not interested suffer a little bit rather than the project that you're passionate about?
Can you switch jobs? There are so many companies that need even just a passable engineer. If you're not growing and learning in your current role, maybe it's time to find a new one?
I'm worn out after 40 hours of work, so creating my own projects and/or working on open source projects is difficult. However, without doing that, I don't feel that I can move on to a more challenging development position because I have no code I can show.