Ask HN: When you code at work, how do you code in your time off?
I love my job as a data scientist, it's incredibly creative and a lot of fun. But at the end of the day I'm pretty much done with staring at code snippets and reading documentations. The same is true for the weekends - ever since I started to code for work, my motivation to code outside of it rapidly fell towards absolute zero.
The problem is that I have a few private projects that I would love to try out. They all need coding. How do you find the motivation to work on such things when you also code for work?
Personally, I think it's probably a healthy thing to pursue completely diverse activities professionally and privately, but at the same time I feel like not honing one's professional skills during your time off is a little bit of a wasted opportunity.
70 comments
[ 3.0 ms ] story [ 123 ms ] threadI sometimes will have a month where I don't even want to think about code outside of work. Other times, all I can think about during work is when I can get off and go home to code more on my side projects. These are the two extremes. I am usually somewhere in the middle: I will go take a walk, go to the gym, read science fiction, cook. During these activities, I will randomly have higher-level, free-flowing thoughts about my coding projects. Perhaps even a spark of insight.
When I return to my projects, I feel refreshed and excited. If I don't feel excited about my project, then I won't force myself.
Will note I'm also single/have no life in that normal sense. But I have hobbies/goals.
Also note I might have completely misread your tone here... but saying it just in case.
Either one of those things can be very detrimental to programming outside of work. Not saying this is all romantic relationships, but it's very common for a partner to have an expectation that you spend a significant portion of your outside-work time with them. And single people who have a social life also can let socializing monopolize their outside-work time (though of course there are also people who may only talk to friends once or twice a week).
For many (including myself) it's really hard to balance relationships with solitary hobbies.
Although regarding choosing to have kids, is something else, that's commitment, I don't know if I can deal with that, raising someone from a baby to an adult eg. 18 years.
As weird as it is to say I do feel sad at the thought that my genes won't go on but at the same time no guarantee future generations make it.
Over time some of them have spawned into their own projects, and some have gained a little popularity in the OSS community and have taken a life of their own. Importantly I am keeping them as hobbies and not revenue streams; I know that isn't a common sentiment on HN.
Further, it's not always about coding — it's important to also do non-coding things in between, to break things up. I'm sure you have some of these as well. The non-coding tasks can serve as time to mull over both work and non-work coding tasks in the back of your head.
The "time off" coding I do is purely for fun and learning, and it's mostly using different languages, tools, frameworks than my work. It feels so different and it's fun, my current project is a game.
If I want to learn something, I read about it (at work or at home), then look for a way to apply it at work (it has to be useful though!).
1. I code on my time off when I'm not coding enough at work because I'm too busy with other tasks such as management, documentation, specification, testing, or just boring development
2. I try as much as possible to "sharpen my saw" at work. For example:
A MR about an API to review? => let review SOLID principles.
A module to refactor? => Let's explore some new design patterns.
A bug to investigate? => maybe this modeling tool I read on HN can be of help...
Other times I had some linear algebra stuff I was working on, so I learned a bit of Octave[3] to generate test cases with a (hopefully) correct implementation.
I'm still looking for opportunities to try Z3[4] though... (e.g. http://phrack.org/issues/69/4.html#article see "How I Cheat at Maths - Z3 101").
1: https://lamport.azurewebsites.net/tla/tla.html
2: https://alloytools.org/
3: https://www.gnu.org/software/octave/index
4: https://github.com/z3prover/z3
It’s much more relaxing than work, I only do things that I’m good at so it flows well. I feel like an artist
I also limit the amount of time that I spend on coding outside of work to 10 hours a week and balance out the rest of my time with non coding activities
At home, I enjoy NOT doing things the right way, one-off stuff, dirty dirty hacks, tricks and kludges.. Whatever makes it work, in whatever language I feel like! I code myself into a corner, or work around refactoring whenever I feel like it, and I enjoy it all the way to the bottom! :-)
I find it enjoyable to have a leg in both "worlds", and they both motivate the other.
For me time off is to go ride my bicycle, spend quality time with my kids and/or girlfriend, go to the beach, socialize, cooking, drawing, fixing stuff at home, do stand up paddle or other activities, mostly outdoor.
We are not made to be laboratory rats. We need to spend time outdoor, interact with people. Sure there are a lot of dev/homelab stuff I'd like to do, as well as make music, books I'd like to read. But at some point you have to accept you don't have time for everything and I choose to dedicate that time on healthy and outdoor stuff first over things that involve a screen like coding, video games or netflix.
If I wasn't working in front of a computer, maybe it would be different.
And in contradiction to what suncream vendor would say, this can't be solved by vitamin D supplements.
I have a partner but no kids, have no idea how it would be possible if I had them. Due to lack of free time and sport injuries my hobbies have mostly reduced to frequent travelling. Since I travel I barely have any friends, so I don't spend any time with them.
I try to exercise regularly, exercise takes time but it pays off for my energy levels and decreases stress.
I have recently self-diagnosed myself with ADHD, sitting idle and just relaxing produces too much anxiety, so I have to jump back into doing things. Another important thing for motivation is feeling that your work is meaningful and that you can influence the product. Being a cog in a big machine implementing what other hand down to me would have brought a feeling of helplessness.
I did the same until I had kids. Now it's rare for me to even touch a computer at the weekend.
My side projects never took off, but they did help me to become the developer who I am today, so I don't consider them time wasted but at the same time I don't feel that I'm missing out now.
Now that I do it all day, it's the last thing I want to do after 5. I don't even own a computer outside of my work machine.
1) I have a problem I want to solve- like making Christmas lights synced to music or building a speed camera out of a raspberry pi (although those mostly use prebuilt solutions)
2) I saw something cool I want to try. I never build anything to publish, just to scratch a curiosity itch.
3) it’s advent of code time. I never do more than a few of them, but I find the puzzles fun.
4) My kids ask me to (this happens surprisingly often- Minecraft mods, websites for selling their artwork, coding a simple game with them)
I also maintain a blog that gets a little technical, but so far no code there.
Finally, my work sponsors internal hackathons, which I make time to participate in. The doesn’t really count though as it is done on with time.
I don’t spend a ton of time coding outside work, but it naturally fits into my life at serendipitous moments.
Maybe it also helps that I've gotten good enough at the coding bit that it's not really the main bottleneck. For better and for worse, I'd have to contrive reasons to try out the fancy new features that just came out in Metal 3. I still haven't needed the fancy pipelining in Metal 2. I spend more time in Photoshop and Illustrator than I do in XCode. With that said, I think that Apple's done a really good job with Swift and Metal, which means I get to spend more time with content assets.
I think that at work, the bottleneck isn't really code either. We spend more time making decisions about the code than actually coding. So there's that.
Ultimately, the point isn't really to write more code. The point is to make more product.