That said, recently I have some strange discomfort inside when, for example, watching a movie in the evening. It feels wrong to spend time this way when there are so many things I still don't know or understand in computer science, software engineering and related fields.
Even though I do enjoy reading technical books and learning new things, it feels stressful at time when you would like to do something else, but it feels stressful and, well, "wrong".
Probably, someone has experienced the same and can share their take on that.
I realize how stupid that might sound, but this is what it is :)
I wouldn’t call myself a workaholic at all. Work can be stressful even if challenging. But if I had a billion dollars and didn’t have to work at all I’d still do the exact same things I do today.
I don’t think that’s really a problem. Does a surgeon not read technical articles on her free time? Does an NBA player not work on his game in the off-season? All of that is unpaid labor, but they just really want to get better at what they do because they feel good getting better.
If you feel that’s stressful then just check if you’re doing it for the right reasons. Personally I do it because I like it, not because it’ll pay off career-wise in the future. It never crossed my mind that one day I’d get paid more because of all the things I learned years ago: I just learned them at the time because I wanted to.
It will be liberating to accept that you have to let some (many) things just pass you by.
After a decade plus of that, I found a tech stack that I liked enough to stick with long term. I didn't plan it that way, I just found one that made work enjoyable again and decided none of the technical improvements other tools might offer would outweigh the quality of life I'd found.
What I found after sticking with the same language and toolset for 5 years was that there was a new level of mastery I'd never known before.
I was writing code as fast as I could write English. I was spending up to 100% of my dev time on a given day working on purely the functionality in my project. Little to no time spent looking up how to do things.
Nobody deserves any shame for looking up info to help them code. We've accepted it's an important and reasonable part of the job. And it never bothered me.
But when I experienced for the first time that I'd truly memorized and internalized nearly everything about my day to day work, I found a surprising and unprecedented level of focus on what really mattered.
All those context switches throughout the day hopping between coding and figuring out how to do something, they'd become so normal to me and to the field that it didn't occur to me that they were not strictly necessary.
I could switch to a new language today and be fairly productive with it a week from now. It wouldn't feel weird to anyone that I was spending a lot of time looking up info to learn how best to work with it. Even experienced devs do that.
But what I understand now is the true cost of being on that treadmill to chase skills I think I'm supposed to have because they're newer and fit one of the subjective definitions of "better".
Feeling less pressure to spend my free time constantly upgrading my skills hadn't been a motivating factor, but it was a bonus. You still want to learn new things, but you should understand that much of what we're bombarded with are new ways to do things we already know how to do, in a supposedly better but really just different way.
However, it may be that you just don't like your usual weekend activities. Try seeking a more rewarding and less passive kind of leisure.
Find something outside your normal comfort zone and don't worry about being good at it.
These are very good grounding complements to the "software mind", which is perpetually concerned about that disappearance, and needs massive quantities of uninterrupted thought about context-heavy problems. In both cases, you still have to concentrate and plan to get worthwhile results, but with drawing you have much more leeway to let go, and the act of drawing is really the act of learning about something through good observation - good enough that you can reproduce it through marks on a page - so it brings forward a sensibility in yourself that you can apply to anything.
Time is wasted when the value of what you're spending it on is less than the opportunity cost of what you could be spending it on [1]. What is the opportunity cost of you not learning more about software engineering?
In other words, what is the goal you're not working toward? And then, if you want to go deeper: why is that the goal?
Is it extrinsic? Do you want to get better at work so you can rise up in the company and get more money? Are you trying to gain the experience to someday start your own company?
Is it intrinsic? Is there a topic you're interested in learning about for its own sake? A side project you want to build?
In my leisure time, I prioritize intrinsic interests: hobbies or side projects that I find personally fulfilling. It might be that you still find yourself gravitating toward computer science or related fields — and that's okay! There's no rule that says your vocation and avocations need to be unrelated.
Of course, everyone is different, and you're free to pursue extrinsic interests in your leisure time too. Just try to keep perspective — in the end, the rat race doesn't matter, and you'll probably think back more fondly on time spent with meaningful people and activities.
Either way, keep in mind that burnout is very real, and you can indeed have too much of a good thing. Watching a movie with friends or playing a game with your family can make the hours you spend learning more effective!
[1] For example, writing a long comment on HN instead of finishing a song you've been writing ;)
1) Scratch the itch. Allow yourself time block on the weekends (maybe 30 or 60min per day?) to indulge your curiosity. Try it for a few weeks and see how it feels. See if that’s enough or if you find yourself missing out on other aspects of your life. A lot of people swear by a daily practice and maybe part of yours could be learning or practicing your craft.
2) Journal / meditate. Allow yourself to notice these thoughts of anxiety and stress and release them as you breathe out, or write about them or draw imagery as you explore these thoughts deeper. Just transferring these thoughts from an internal experience to an external act helps a lot of people move through feelings of discomfort.
Either way, bottling these feelings probably won’t help. I’d recommend finding some outlet for your thoughts.
And by the way this all sounds totally normal and relatable.
If neither if those things work, maybe just give yourself little 2 or 3 week experimentation windows to try something new. Whatever brings you the least amount of suffering is probably a good choice.
With that said, in my 20s I crashed through many of these subjects. I did well enough, and now maybe I'm a bit young for my level, but there's not a ton to show for that. My advice, take your time and treat learning like a marathon. The big salaries and opportunities will always be there, and the stronger the relationship with that foundational fabric the more in grasp those opportunities will continue to be.
In the mean time, I can try to psycho analyze your feelings using my own experience.
It feels wrong to "watch a movie when I could be learning more" is a manifestation of "this isn't the best use of my time". Like the feeling of a deadline or a big exam coming up. It's hard to do anything but study when you feel like you're behind.
Likewise, you also wonder if studying is the best use of your time. The act of studying is fundamentally boring. Its tedious and unrewarding in the short term. Like digging ditches, you'll occasionally find bits of gems. It adds up over time, but takes a lot of time and hard work to reap the rewards.
I guess the question is, do you have any source of fulfillment aside from programming?
I love coding. I love reading about it outside of work. I love a lot of other things too. I have no problem turning it off because the work isn't going anywhere and the only deadline is the one I make for myself. Further time I spend on coding means time not spent on other important experiences.
Just do your best to do the things you enjoy, and realize that's all anyone can do.
I would worry less about whether your leisure time feels non-technical, and more about whether your leisure time feels disconnected from any obligations you may have or feel like you have, including your job.
Value judgements aside, whenever I started getting stuck in my own head, the best way is physical activity. Low intensity activities like hiking are great for working through problems and giving myself a new perspective. If I really want to unplug my brain completely the trick is amping up the intensity with some kind of athletic or skill based component. Personally I like mountain biking, snowboarding and weight training, but the important thing is that it be something you enjoy and can give you a sense of accomplishment/progression in the physical realm.
Having another human trying to attack and subdue you will be 100% effective in stopping you from thinking about software engineering, at least temporarily.
There’s really nothing that puts the triviality of modern life in perspective quite as effectively as directly experiencing actual violence.
Woodworking has been that thing. There is probably a lifetime of learning little tricks, but you could have a full education without the mastery in a couple months of dedicated work. Then you’ll be up, moving (I use hand tools almost exclusively) and able to work on something rewarding, but not as mentally taxing. I actually usually come up with solutions to hard problems at work after I’ve been hand planing/sanding something for 20 minutes.
It’s also wonderful to be able to point to something and say “I made that” to friends and family. I usually ask a friend to come over and work on something with me, often it’s something I’m making for them.
If you’re stressed out about relaxing or feel like you’re spending your time wrong, one thing that can help steer your thoughts a bit is finding/talking to a therapist. You may find that watching TV is what you actually want to do after everything else is considered. Or you may find that there’s something else you’ve been putting off for other reasons that is making you feel guilty about doing ‘less productive’ things. A therapist can really help guide your thoughts more personally than a group of strangers on the internet can(although plenty of random internet advice is also fine!).
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.
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.
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.
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.
I was like you maybe 10 years ago, and since then I’ve realized I’m just very fortunate that I find my work engaging and interesting.
When I’ve had bad jobs, I’ve kind of burned out on computer stuff and spent more time away from screens. It’s draining to hate your job.
When I’ve loved my jobs I’ve found it energizing to stay engaged and explore what I’m working on in my spare time occasionally. Usually it’s not just about solving a problem for my employer, but being able to explore interesting technologies while it also benefits my work. It’s great - everyone wins.
There have been times where I feel anxious about work though, and I’d rather do something else but I’m worried about how much I know or how well I can execute on upcoming problems. When that’s motivating you, my experience is that it’s mostly bad. You avoid people because you think you should be focused on work. You skip a shower here and there, skip meals, go to bed too late, etc. No job is worth compromising on your well-being and/or disconnected time with friends and loved ones.
It’s also exceedingly unlikely that you can move the needle on your contributions by compromising on your well-being.
So, that’s my take on it after 15 years or so working at a screen. There are good times and bad times to get absorbed in your work, good versions and bad versions. It can be hard to regulate for me, but I’ve found it important to recognize that it can actually be a good thing at times.
Also, your example of watching a movie seeming like a waste of time… that in particular seems to me like a case where we socially normalized watching movies/tv as a good way to decomp and relax. But shit, I can’t do it. It’s so boring for me 90% of the time. My mind loves to run and explore, not get boxed into some revision of a familiar story with different faces. Is it really worthwhile to spend your time that way? Frankly I think the notion that it might be a waste of time could be a signal that you’ve simply found a better way to spend your time!
Having said that, I totally get why some people like it and I’m not criticizing at all.
Just explain it to your family, block some time for it and stick to a time limit.
In my case I started early on with computers, then during my teens was too busy with meaningless stuff. Now I have that same urge to make up for that. A couple of years of uni also pound in the, "didn't learn anything today? That's stagnation".
But if there are other people that you spend your life with at the weekend, then there's obviously a pretty good argument for doing something you'll enjoy doing together. (And obviously if there are not other people you spend your life with at the weekend, then there's probably an argument for addressing that at the cost of some time doing computer sciencey things.)
If its actually interfering with other things though and you feel bugged by it try keeping a journal. If you're done with work, take fifteen minutes or so and write down what you've done, what you're going to do, what you've learned, what you've planned and so on. Writing is a good way to get things out of your mind.
-BUT-
There is a difference between obsession-based stress, where you just can't stop thinking of the never-ending streams of work and learning and coworker expectations vs. actual survival-oriented stress, like you're not performing up to expectations and need to get busy. Don't ignore that second type.
(if someone's got tips on that, I'm listening)
I'm sure most people feel this way at some point but you just need to learn to deal with it in your own way. It's not the end of the world if your mind wanders whilst watching a movie but you should also accept that your brain needs time to organise itself and it may not always do this at your convenience.
There is a reason why people drink a lot at weekends - not that I am suggesting you do the same though.
But I don't think there is anything wrong with replacing movies / TV with something like reading for work. When I am not busy with wife and kids, I default to reading non - fiction, mostly work related (I hardly watch any TV or movies)
Check out Cal Newport and his take on "high quality leisure" and reading as a default activity
Now I work at a job I really have no real interest in. I do it because it pays 2x to 6x what my old jobs paid (games). I dream and waffle about going back. Golden handcuffs. It's hard to make so much less and have so much less freedom (more vacation and more flex at my current job) . But, is well paid and lots of perks but uninspiring job better than low pay, less perks, but happy job?
I can't decide
It's very calming to know that I won't forget this or that thing that I wanted to look up and I can get back to what I want to do instead right now.
Also, consider the "Cooperative game manifesto - Alistair Cockburn et al" ... rephrasing it, what you "work" outside work/place/times may be preparing you for future work ; and the other way around, what you live in work/place/times, may prepare you for future live..
But then, i do have live outside work. Lots of it. Hobbies, family, friends, whatever. Make sure you have them too - they are the lifesaver when the "work"-half goes to nowhere
You say you have a dream job, but perhaps you are better suited to some kind of entrepreneurial activities.
At least if your mind is always active, your effort will be going purely to reward you.