I'm trying to learn programming after work, but some days I'm too exhausted to do anything useful. I want to build a routine that keeps me moving forward without forcing myself to study for several hours every day. For people who learned programming alongside a full-time job, what did your schedule look like? Did you study before work, after work, or mostly on weekends?
4 Answers
Treat learning time like paying yourself first: schedule it before the rest of the day takes over. Pick a regular time and a small target for each session, such as finishing one exercise or adding one feature. If you’re exhausted after work, try going to bed earlier and studying in the morning instead. Don’t sacrifice all your sleep and recovery, though, because burnout will wipe out the routine.
Consistency matters more than marathon sessions. Try starting with 20–30 minutes a day, even if that’s all you can manage. Some people focus better before work because their brains are fresh, while others prefer evenings. Test both and keep the option that you can realistically maintain. A longer weekend session can be useful for projects.
There isn’t one routine that works for everyone. Some people can learn after work, while others have no mental energy left and need mornings, lunch breaks, or weekends. It can also help to read or review away from the computer when you’re short on energy, then use focused sessions to practice. The goal is a sustainable schedule, not proving that you can push yourself every day.
Build something you actually find interesting instead of spending all your time on courses. Small games, useful scripts, automation, or a personal data project can keep you engaged while teaching the same fundamentals. Start with something manageable, then gradually make it more challenging. Having a project gives each study session a clear purpose.
Simple projects are a great progression: start with something tiny, then add features until you’re forced to learn new concepts. It feels much less like homework.

The short-session approach helps a lot. Waiting for a free three-hour block usually just means never starting.