To get the most out of my periods of intense focus I try to plan multiple after hour activities.
I find that tactile activities such as climbing and pottery really help with balancing my brain and softly undo the anti-social mood that develops in me during long coding sessions.
The best for a quick reset is juggling (believe it or not!). Nothing beats physical exercise, either at the gym, cardio alone or team sports, to make up for hours of sitting and staring at a screen.
partner juggling is a thing! I picked up juggling a bit ago, as my romantic partner is an avid practitioner. spent a half hour after work working on a 3-club Cascade.
One of the beautiful bits is, if you're working on something new, there's only so long you can spend attempting to "get it" before your brain fuzzes out and it becomes futile, and hence forces a break. A physically and mentally time-bound activity, unlike a lot of things one might choose to distract oneself with (social media, reading the news, etc)
As an added bonus lifting weights, especially pulling movements like rows and deadlifts, can go a long way toward correcting the hunched forward posture many of us end up in at the computer. Also there’s this: https://blog.frontiersin.org/2018/06/07/neuroscience-leg-exe...
Leg day is very important! I've recently taken up exercises to fix the effects of contracted hip flexors (planks, leg raises, etc) and have seen my posture improve significantly. Yin yoga is equally great for stretching the chest muscles that are so often tight due to forward hunching. Anyway, an article on its own :)
We need to restrict the amount of hours we spend in front of computers per day and take weekends completely off. There are so many downsides: blue light that damages your vision, lack of exercise, depression and other disorders, missing out on social life, etc.
There is a direct relation between productivity and having a life put together. Not taking care of ourselves (programmers) could have lead to disaster: mental disorders, burnout, leaving a well payed job, etc.
Lately I've stop giving a damn about deadlines like I used to. Money is nice but mental health does not has a price. The moment you enter the rabbit hole of antidepressants you're already ripping your soul.
That's why it would be good to get paid by hour. When I was freelancer when things flowed I sometimes worked 24+ hours straight through or had several 16 hours days. But then I had other days when I got nothing done and took off. In a salaried position the company takes the long "flow" session for free but still expects you to be there the next day.
When I work 13 hours 3 days in a row my employer still expects me to show up for the remaining 2 days of the week. If I had a fixed 40 hours week I would be done and could recover these 2 days. I also don't get more money for working more.
By your behavior you are putting your employer in a situation where he breaks the law. Mention this to your manager, companies are not above labor laws simply because "its IT, everybody does that". They can be sued easily by disgruntled employees, and for huge piles of cash.
Not everybody does that, and if they do, there is appropriate compensation (cash, extra time off and/or both). Good companies simply don't, they realize you can easily walk away to next company. I never ever worked for an employer like that for example, and that's 15 years and 6 employers in 3 countries.
A salaried person working 13 hours a day with no extra compensation is not breaking the law in the United States. I have never heard of a lawsuit about that that succeeded.
Good companies do realize that making people work overtime consistently without reward is a bad idea, if for no other reason than the selfish one: your good employees will leave.
I know a lot of companies that do it anyway because they either don't care or don't accept people are leaving because of the constant overtime.
I also know people who have stayed at bad companies either because they don't want to let their team down or they just got used to the constant overtime and didn't realize how bad it was until they left. Or the simple fact that many people do not like change, and prefer the overtime they know rather than jumping to the unknown new job.
Just because someone is working overtime without compensation doesn't mean they don't have dignity. There are many reasons to stay at a crap job (for a while, if you have to). Please don't insult others just because their life is worse than you have allowed your life to get.
That being said, I agree with a few other posters - if you are consistently working 13 hour days, start looking for a new job. My rule of thumb is to spend one hour job hunting for every hour of required/expected overtime.
I don't know the details of your situation, but if your employer doesn't require 13 hour days, don't do it voluntarily. To say tech companies "let people work longer without compensation" is kind of shirking responsibility for your actions. If they didn't ask you to work all night, but you did anyway, who's fault is that?
Go home and contribute to an open source project or something. Unless you're at a tiny startup and getting tons of equity you're never going to be compensated for it, and it'll still be there tomorrow.
And if they do require 13 hour days, leave. The market for devs is too good right now to tolerate that.
I love flow, it makes me feel great. But it doesn't make me happy - just grumpy when people interrupt me, and impatient when I'm in social occasions when people are making small talk.
> You can't flow while integrating a third party library anywhere near as easily as you can flow by rewriting half of it (badly) from scratch.
That is not so clear cut, it depends on the library. If the documentation sucks or the library is a mess, rewriting it may both induce flow and be a win for the team.
I do not believe flow has any significant relationship to whether the underlying thing you are creating is going to interface with a pre-existing tool or be a new creation.
I frequently need to reach states of deep flow when I am reading large inter-related files for refactoring, or modifying existing code to use a new library, or to follow tutorials for something only tangential, like new deployment tooling.
Reaching states of flow is necessary no matter what you’re doing, and given the insane explosion of modern process overhead and meeting-centric corporate culture, it’s important to protect flow time and make it known how important flow is. Whereas I can see how people might try to use thinking like in your comment to undermine flow time, and falsely act like it’s somehow better to deny developers workspace or blocks of time for getting into flow states.
I have to agree with this. You're either writing assembly code yourself, or you're using code that was invented by someone else (and even the assembly code will have been invented by someone!). If using libraries/frameworks is something you do consistently, you can absolutely reach a state of deep work while working with them.
Libraries should help keep the flow going at a high level by keeping one from being bogged down with having to reinvent the wheel. In fact, if they didn't contribute to flow, I don't think we'd use them!
I think you're confusing using a library you've already been using (in which case I agree) and introducing a new library.
Most people engaging in NIH aren't removing a library that is already being used in your build process. They're deciding it's easier to implement URL processing (spoilers: it's not) than to use a library that already exists.
The exception to that is when the existing library turns out to be a dumpster fire and you rip it out and replace it with something else or a custom version.
"Flow" definitely can be enjoyable and productive. Unfortunately, I've found that as often as not people use it as an excuse to not have to interact with anyone, or as a badge of "look how hard I'm working" without necessarily getting much done.
(Which I guess is nothing against what you said, just a pet-peeve of mine)
Pretty much the same with deadlines. If the workload is reasonable it'll get done in good time. Might even to be my own schedule and not a 9-5 but it will for sure get done.
I will even avoid the flow unless I feel particularly meditative. There's nothing good about vanishing down a rabbit hole for several hours and prioritising the rabbit hole above your own health.
Sometimes the deadlines are unavoidable, but when a manager creates a deadline based on estimated development time I have decided to push back.
Also I now refuse to do single estimates, but instead provide more of a histogram that shows how probable I think various estimates are (basically a minor risk assessment).
Is there a formalized definition of this "rabbit hole" people have been abusing ever since The Matrix was in theatres? I feel like it was originally a metaphor but it's being used more and more literally to where I hear it almost daily.
Can anyone explain to me how looking at a computer screen is not several times less harmful than spending time outside from a lifetime-blue-light-exposure perspective? The sky is blue and natural light has a blue component in probably about the same proportion as white light from a screen.
Maybe I'm wrong — and I'd like to find out if I am — but this whole blue light scare really just feels like a weird bandwagon.
I think you're right. There was just an article about blue light speeding blindness, but the flux author chimed in and said screens are less than 5% of the hazard weighted irradiance of the sky. [1]
I'm not totally sure what that means honestly, but I think we're OK.
I don't think the patterns are from your eyes behavior mainly but rather misfiring nerves directly thanks to the toxin. Noise transformed by visual circuitry into patterns, as patterns are what it deals in on the perceiving end.
It's kind of obvious to anyone who has used a photographic light meter. My computer screen has a peak luminance of about 300cd/m2. A super bright HDR display can achieve peak luminance of about 800cd/m2, which most people find uncomfortably bright in normal viewing conditions. An overcast sky is about 2,000cd/m2 and a clear sky is about 7,000cd/m2.
UV is vastly more damaging than blue light and monitors produce negligible amounts of UV.
I found my vision vastly improved when I started riding and hiking a lot more. It also drastically degrades when I am tired, to the point where if I am well rested and have been active that week I don't need glasses. I tend not to use them at all anymore. Interestingly I never experienced the same benefits from driving, even though there is some eye movement and shifting focus there.
The light & vision story is still being discovered.
"How is the idea of "outdoor time" used for myopia control?
One of the big surprises of recent research is the importance of how increased time spent outdoors helps in preventing myopia. At the present time it appears that 14 hours a week or more outdoors are significantly effective in reducing myopia progression."
I thought the reason outdoor time is recommended for myopia is that it causes you to focus your eyes on objects at greater distances that aren’t available indoors.
It's also a lot brighter outdoors than it is indoors (we're really good at adapting to different light levels, so it doesn't seem like a large change, but it is). Recently I've read that simply being in a brighter environment has effects on the way your eyes develop when you're young.
That remains as a very plausible (IMO) hypothesis but is not rigorously proven, afaik. It's sort of a tough one to prove. So they're being conservative and not guessing here.
To clarify WHY I think it's very plausible: There is of course a lot of data connecting indoor time and myopia. There is also a muscle which controls the curvature of the lenses in our eyes to adjust focus to different depths. Not using this mechanism in a "normal" way, across its full range and with regularity, stands out as the important factor of the indoor time link, since it's most directly related to focusing.
Like cimmanom, I had long assumed being outdoors exercises one's eyes better. Because I sit at a desk all day long, I try to do those eye exercises, to compensate. (I doubt it helps.)
But there were some tidbits in the recent myopia research that suggested light also played a factor. Like maybe exercising pupil dilation is a factor too, which I find plausible.
I guess we'll see. Oops, unintentional pun, but I'm gonna leave it.
I've always read it as the ratio being wrong for our eyes - that the light is simply too high energy, and it needs to be balanced out with red light or filtered away. Sunlight, despite having a much higher amount of blue light, also has more light across the rest of the spectrum, reducing the difference and making it less harmful.
The original claim is that exposure after sunset upsets your circadian rhythms. Now it's been twisted into "OMG! blue light will blind you". The good news is that this will hopefully put the nail in the annoying blue indicator LED coffin. All the cool kids are using white and RGB LEDs now.
I managed to avoid using my computer at home from Friday night all the way through to Wednesday night where I used it for 20 minutes. I'm quite impressed with myself. Upon saying that, I did watch a couple of movies on the TV with my roommate, but that's different because it's a social activity, I wasn't really watching the movie.
I've been making an active effort to avoid using my computer at home. 40 hours a week of sitting in front of one is plenty. That's not to say my alternatives are exactly healthier, sitting in front of a computer is probably better for you than drinking pints at the pub.
If you get depressed, doctors will prescribe you antidepressants which is drug that is supposed to lift your mood and "fix" depression (lol).
Imagine the following: Your life is not great and you're not where you want to be, as a result you get sad/depressed. If you take a pill that makes you feel good, you're felling good about something that generally YOU would fell bad about but know you fell ok/good about it. This is nasty part of antidepressants: Who are you?
Some people get depressed for chemical reasons and in that case antidepressants can make wonders for them. When you work long hours, don't exercise, don't care much about have a social life, eat poorly, etc. What do you get? Depression.
In this case you might have a chemical imbalance BUT it is because you're not taking care of yourself. If you take a antidepressant it will mess you up even more. If you become addict to it, you'll loose a sense of you own self because the pill affects your emotions. Some people think that pooping a pill solves everything.
So, by saying "ripping your soul", I mean that you're entering a hole that is really really hard to get out. I've faced depression, did some psychotherapy and I made the rational decision (thank God) of not taking any pills. I knew people who took them in a daily basis and it's not a happy picture at all. You've to switch meds every X years, people tend to feel sorry about themselves, etc etc. Those people I know are completely fucked up, in the next 10/20 years they'll become zombies most likely.
In my opinion, sometimes people have a huge EGO that gets in the way of growing up and turn into pill to feed their mental picture of themselves and the world.
For me, depression was not nice but I took it as a wake up call. Throw psychotherapy I became aware of stuff that was bothering but I was not aware of it.
Unless you've some physical problem that brings depression, today's depression is a simple product of the Western capitalism, social media, etc. Sometimes you just have to face the your own problems and grow the hell up.
I've found that the most important thing is not engaging in marathon sessions, full stop. My code is better, I'm healthier, and I get more done per working minute.
Take a break every hour or so, minimum ten minutes, and step away. Make coffee, ponder the infinite, pet your cat, listen to some Chicago or Slayer, whatever suits your preferences.
Agreed, and since 99% of programming doesn't even involve writing code, it might be healthier to "program" away from the screen, while going on a walk for example.
> My code is better, I'm healthier, and I get more done per working minute.
It's not about what you are. What market asks is, are you better than others who you can be replaced with? The ones who are ready to scarifice themselves, their health and deliver more code then you. Let's not pretend that his worries are unfounded.
I hate talking to people after a long programming session. I simply can't do it, and I'm normally very social and outgoing. I just stand there and it probably looks like I'm gazing off at something; I'm just not there.
I've tried doing many things after a long session.. for me, the only remedy I've found is time. I just need a few hours.
I also produce music. This doesn't help because producing is very similar to programming in many ways. Puts me right back in the same state.
Having three+ drinks certainly helps... but not healthy nor sustainable on a daily basis.
Yeah, I read the author's comment about playing music to relax after programming, and I immediately thought I might do some programming to relax after a serious session of music performance/recording. Frankly, playing a gig leaves me more intellectually/emotionally drained and dysfunctional than a long programming session does.
One of the last things I want to do being mentally exhausted, is listen to music. I relax by doing busy work. Water the plants, removing weeds, vacuum, walk/hike, ect. things that require my attention, but not any significant processing.
Playing music is a completely different experience for me than listening to music. I actually listen to recorded music (unless I'm making a recording, which is basically playing) a lot less than most people would think. But I play almost every day.
I also have a couple of different playing modes - public performance (usually with bands), and private improvisation. The improvisation is a critical part of my mental health. The ongoing stream of planning and surprising myself on the fly is probably the purest mental flow I experience.
[tl;dr - aim to take at least 250 steps every two hours to prevent buildup of blood clots]
It's not just about getting exercise. It's also about moving your legs sufficiently to ensure proper blood flow and prevent the formation of life threatening blood clots (disclaimer: that happened to me, I love to hyper focus and just sit in my chair and code for 8 hours straight, which turns out to be an incredibly high risk activity even for someone who is otherwise active, in good shape, not overweight, not a couch potato, etc).
Your legs are far enough from your heart that your body has evolved a separate pumping mechanism for them: the actions of your leg muscles when you walk or run are responsible for booster pumping the blood through your legs. Standing desks may be great for other reasons but they don't help here because your leg muscles still aren't driving that pumping action the way they would if you were walking or running.
My solution was to get a cheap fitness band (Fitbit Flex2 in my case) and set it to vibrate if I'm inactive for long periods. When it buzzes I get up, walk down the hall a couple times, and go back to concentrating.
Lack of exercise/motion could well be part of the mental effects. Your body isn't ready to move again. It's kind of like that weird way you feel when you first wake up.
I rarely remember to take a break but when I'm walking around I try to move fast; if there are stairs I'll run up them; if I'm outside I'll jump on top of random stuff and hang there falling for a second like someone in a Disney musical from the 50s.
In this last project I was in, which was a bit of a death march - we (Team) ALL got to the point of incurring bizarre sleep disturbances and other cognitive/emotional disturbances:
It would take 3-4 hours once home at our set stop time to "shut off" our brains from thinking about what we were working on - and switch over to "being home" mode and interacting with spouses etc. without being irritable.
We also all had disturbed sleep from "programming dreams" once we could shut our brains down and actually fall asleep.
This is nothing new, I know - but it was intriguing (and frightening) to see these effects manifested consistently across our entire team.
Probably isn't healthy, but I program all day at work. Go home and spend a few hours with family, then program an additional few hours every night. Sometimes I fall into the rabbit hole and emerge at 2-3 am after finally finishing what I started. Go to bed, and rinse and repeat the next day.
My brain just won't shut off at this point, but I enjoy absolutely everything about what I do.
Same here, terrible sleep when all you're doing is attempting debugging or refactoring without a keyboard. I am sure my short-term memory of non-programming related activities is severely affected because no matter where I am, I am coding, redesigning or imagining shit that is causing that hard to find memory corruption.
Movies are my unwinding method. And daily 1 hour walks.
> I am sure my short-term memory of non-programming related activities is severely affected because no matter where I am, I am coding, redesigning or imagining shit that is causing that hard to find memory corruption.
same here. I have the worst short-term memory for non-programming things ever.
> My brain just won't shut off at this point, but I enjoy absolutely everything about what I do.
Everybody is different so I’m not saying this will happen to you, but I recognize this mode from personal experience and what happened to me was something went sour. Management took a different direction and the thing I poured my heart in got critiqued and risked being shot down. At that point, I missed all the distance to be able to nuance it or say: it’s just work. Since it consumed much free time, dreams, etc. I found myself in a breakdown, and couldn’t touch code anymore. This luckily only lasted three weeks, but/and it made me change many of my ways to avoid something like that happen again and take three years. Which I’ve heard is not uncommon. Again, YMMV, but thought to share that even tough you have the best of times, mixing up work with non-work/dev can provide the necessary barrier/distance/perspective to deal with setbacks more gracefully.
I should have included the caveat that the coding/programming I do at home is on little side projects and experiments that aren't related to my every-day work.
I have these dreams as well and several times have actually "solved" a problem in my sleep, woken up in the middle of the night, coded it and it worked.
Sometimes I feel like coding triggers some area of the brain that is slightly autistic or aspergers-like, and I perseverate on it. If I reach a breakthrough I feel better.
I learned to say this to myself - "if I am stuck in a loop, then remember I might need to break out of the loop" - but I mean that not in the programming sense entirely, more behavioral.
Noticing that my brain can actually "think inside the algorithm", even in my sleep, has numerous times caused me to wonder if our brains are capable of essentially "running code" and that maybe neural networks and the like may really be onto something. But that's a different tangent.
I have learned that when I have intense periods of work in our field, like, for a month straight, I have a noticeable carryover effect.
What I mean is, if I work for a month or several months doing 10-12 hour+ days coding, etc. and then I stop to take a few days off, it literally takes several (1-3) days to disengage my mind from "work mode" to "vacation" or "life" mode for lack of better terms.
I'm also finding that this is getting worse as I age. It feels like it takes longer to unwind from the adrenaline fueled state, but I'm usually much better off after I do.
Yeah, not healthy. I'm trying hard not to work the long constant hours with few breaks- but I had some bad employment situations that didn't offer any alternative for a while.
Forcing yourself to do Pomodoro sessions can help. It allows you to go deep without going too deep - having to take that five minute break so you can walk around, check email, or whatever can keep your brain from "going native" in the computer.
Also, for anyone interested in intensive work sessions in general, I highly recommend reading Deep Work, by Cal Newport. He talks a lot about how to do really intensive work while remaining a fully functional and engaged human being outside the work.
One thing he recommends in the book is to have a shutdown ritual. He actually says out loud "I am shutting down now", to help kick his brain out of deep work mode.
An easy way to force periodic breaks is to just drink a lot of water throughout the day. Then you have to get up for refills and bathroom breaks. Plus water is just good for a person in general.
I can see all but video games and watching TV, where again you sit in front of a screen. Doesn’t help me. Instead, I’d add hiking in the hills, forest, mountains, being outside in nature in general. Nothing is more re-energizing for me than that.
Video games work for me in getting my mind to let go of the problems it's pondering about. Sometimes it's like subconscious I'm always working on some problem. Videogames at least let me forget/drown-out certain 'work'-like problems and allow me to reward myself instead with 'fun' problems. Walking often just leaves my senses empty and causes my mind to focus on the work problems again. Maybe a hike would be different as you are more exploring something new to keep your mind occupied.
I consider "looking at trees" to be a restorative activity all on its own; hiking is merely the method by which I cause trees to pass through my field of vision. Tall green things cure what ails me.
I found the best way for me to unwind is exercise. Table tennis or especially boxing works really well too. Nothing makes you switch mode faster than getting hit in the face :)
Right; I'm unable to even listen to music while in deep flow, because I have a composition/conducting background, and ANY kind of music triggers analysis that is a distraction.
If you’re a composer/conductor then you’ve probably already tried this, but for me two types of music work well (as I’m a similarly analytical musician):
- Minimalism, specifically Steve Reich’s Music for 18 Musicians suite
- Atmospheric, specifically ‘Skyrim Atmospheres’ by Jeremy Soule
Both are so versatile: minimalism for journeys and coding; atmospheric for ‘creative’ periods, walking and sleeping. I do somewhat envy your ability to listen to white noise as it is infinitely replicable, but fear it a little distracting in of itself!
If I'm working on something that doesn't require much thought (eg the more rote parts of programming) then I can listen to an easy podcast, like a comedy or storytelling one. When I start working on something that requires thought I definitely can't listen to a podcast and I can't really imagine getting anything out of a lecture I was listening to without giving it my full attention.
I can and often do but my brain just shuts out the podcast when I am concentrating and I don't hear it or can only vaguely remember the content. It becomes like music or white noise. Sometimes they end and I don't notice. I find it much better and less distracting than having background noise of an office or coffee shop and it's comparible to me listening to music.
Upside is that when I'm doing things that don't require high concentration that are kinda boring and easy I get to listen to the podcast while I do it. A faily large chunk of programming is me on autopilot writing things where I know exactly what to do so a podcast isn't a big deal.
I can't sleep (unless I'm extremely deprived, at which point I'm really just passing out) until after I've done the unwind things mentioned in the article and have been away from work for ~3 hours. It doesn't matter when I stop working, I cannot sleep until 3 hours has passed. I've tried, I lay in bed for 3 hours minus commute time.
I think basically anything else will do. I tend to do quite a bit of diy in my spare time. But I have to say. After a long programming session I turn into the most egotistical angry creature I have ever known. Thankfully the productivity of such a session is usually so big people still go to their knees to thank me. And I happen to be a real sucker for compliments so once in a while when it's really necessary I still do them.
When I played poker for a living I would sit for like 12-16hrs at a table glued in thinking in fractions and ratios. I couldn't even count the chips when I went to the cage after, it wasn't in ratios. I would meet friends at a bar/club and couldn't talk to anyone for at least an hour.
I have recently been vaping high CBD hemp flower after a long day of programming. I am fully functional while feeling so much better. There is a mild residual feeling the next day, so I don't have to vape daily. I am dreaming again, nightly. I am waking up refreshed the next morning.
I highly recommend people try it.
Mail order to anywhere in the US seems like a legal grey area. There are two, possibly three online farms supplying the market in the US but this space is going to expand very soon. Prices are very reasonable.
I would totally agree with the "playing a musical instrument" as a method to wind down.
My working desk and all my IT gear is on one side of my home office. Behind me, the other half is racks of amps, keyboards and amps. During long compiles, installs or downloads or while waiting for a Slack response from a colleague, I will often just lean back and grab an instrument and play away for a few minutes.
Great way to reset the brain, plus change posture and breathing patterns.
+1 playing a musical instrument after coding and +100 more if it's a bowed string instrument. I find that spending as little as 5 minutes, even if it's just bowing open strings, will snap me back into a more calm, happy, and aware mindset.
I have trouble concentrating at work to the point where I barely complete any code. I Can never flow unless I'm working on a project at home. Music can help but the network is often too spotty for songs to load consistently. I'm easily distracted by the internet and conversations with co-workers. I'm not allowed to work overtime, and get 8 hours of sleep - so being tired is not an issue. Am I burnt out? or just extremely apathethic?
I too sometimes experience this inability to get stuff done at work because of distractions. I realized that there's a lot of anxiety that I'm experiencing when in this mode (probably from knowing that I'm not doing work because of distractions). When this happens, I try to get away from my work area for a few minutes and relax by closing my eyes and breathing slowly. I then feel much better. The key is to remain aware of when you are being distracted and/or feeling anxious. Once I've placed my attention on myself and say to myself, "I am being distracted now", I start to feel more focused.
[ a pedantic corner of my mind insisted that the title should imply "deleting the code" as well ]
I found that doing Brazilian Jujitsu really helps with this; two or three minutes into a session and all other concerns are gone and the relaxation afterwards is great - the world takes a while to come flooding back.
I think TV and video games are a dodgy recommendation in that it's just more time in front of screens - itself not great. Unless you have a pretty wacky working environment you're sitting down or at best at a standing desk. So adding more sedentary activities as a way from unwinding from other sedentary activities is pretty questionable. Not everyone is going to love something as full-on as BJJ but surely 'go for a walk' should be way ahead of 'more screen stuff'.
recovering from programming -> BJJ flushes away the real world / programming world -> Recover from BJJ depending on the day it's (I suck so much) || (Real progress was made today)
I think that coming off the mat fuming about how badly one sucks is something that reduces over time, or at least it has for me. And not because I suck all that much less. Training frequency seems to help ("oh well, there will be another roll tomorrow").
Gaming doesn't have to be sedentary! I just recently restarted a gaming-exercise routine I used to do in the military, and I'm loving it. In between deaths, etc pick an exercise and do it. Multiply that by an hour or two gaming and you've got a good albeit barebones workout, the same with stretching. So just for example, I'm using a large heavy duty weighted exercise ball, and in between insurgency rounds (best linux fps IMHO) etc, I'll do situps and crunches, or toss it aside and do squats, stretch hamstrings, grab the kettleball for shoulder presses or grab the sledgehammer for airpunches, etc.
Combined with watching my portions and not drinking so much, it looks like I'll have my old 8 pack back before the year is over.
I also like to listen to lectures and talks while I game, and tend to only turn music on when I'm doing the exercises, but it makes me feel like I'm still being productive intellectually also.
My hope is that wireless room aware VR will enable a new generation of non-sedentary gaming.
But how do I deal with the fact that I always feel that there are people out there who are a lot better than me and a lot younger. I feel I am already wasting time doing daily chores...I feel the act of 'eating' is complete waste of time. You are doing nothing..just eating..
There is this constant thing in the back of my mind, that I need to improve. I stopped watching movies, stopping playing Dota (had played it 2000+ hours in total), stopped playing any musical instruments...
Day in and day out, I feel like the time I am spending not learning anything is a going to waste. I need to be productive everytime (atleast feel like being productive).
Even on youtube, I try to only watch technical talks as much as possible. If I stray away, for instance watch a VICE documentary, then I feel miserable as I just spent 45 minutes doing nothing.
Technically, I can see that I am improving. But when will this stop ? There are 15 year old kids who know more than me currently, then I will ever learn/know.
One would assume that, with this kind of daily life, one would be lot better "intellectually" or in some other sense. But I can assure you, I might be only slightly above average, but thats it. There is this constant thing inside me, that I am only slightly above average, not the best in anything.
The more I know, the more I find what I don't know. I guess it stems from the Dunning–Kruger effect.
imo there is nothing wrong with working hard and pushing yourself, I do the same. The challenging part is pushing yourself to be the best "you" you can be, while practicing acceptance that there will always exist someone, perhaps far younger than yourself, who makes what you do look trivial.
That's life m8. I spent tonight studying calculus after work in order to learn enough to use some models that interest me. There is a 15 year old out there who could pick this up overnight, while I push myself to do easy problems after work. What can you do? Either give up or push forward.
I've been struggling with the same problem for quite some time now, so I thought I'd share how I've been coping with it. The most important thing is to realize that becoming the best in something should not be the motivation pushing you in this industry. In competitive games like Dota, there is a clear winner and loser when the match is over. The real competition in programming, however, is being better than you were before, expanding your mindset and solving more complex problems.
There will always be someone better, smarter or a faster learner but that doesn't diminish the progress you've already made. There are people who have talents for certain things, there are people who learn certain things faster. I've found that competing with myself is the only healthy way to move forward or I would always feel that I'm not good enough compared to others.
As it was already mentioned in the comments, there is nothing wrong in pushing yourself when you want to improve, but don't take it to the extreme. We operate on work/rest cycles and as you need discipline in work you also need discipline in rest. I try to look at the process of improvement like a marathon rather than a sprint. The journey is going to be a long one, so don't lose the joy of it by pushing too hard. Think about how long you can go like this and consider if this would take the fun of programming away. Think of unproductive activities as a way to get your mind some rest, much like sleep.
It sounds like your learning process is inefficient and you might want to look at "learning to learn". Or even going back to the instruments for a while and practicing.
But then I've always relied on the opposite: just-in-time learning, which was possible in the pre-internet era but is now much, much easier.
You need to accept that the world is too big to fit in your head - even limiting yourself to the field of programming, there's a huge amount of material out there. You need to specialise.
You've also not said what all this is for - is it an end in itself, or is it in service of getting a better job? For the money? To prove something to yourself, or to others? Do you actually need to climb your own personal Everest?
It sounds like you’re optimizing for doing the most work and spending the most time learning, but in my experience, it’s better to optimize for quality of work and quality of learning. You don’t do that by staying in overdrive all the time. Taking time to relax, reflect, and assimilate really is necessary to keep your creative mind functioning well.
> There are 15 year old kids who know more than me currently, then I will ever learn/know.
If the rest of your comment is true, this is probably false. Seriously, if you train constantly, a 15 year old hasn't had enough time to compete. So what's more likely is that you see people who have delved deeply into one thing deeper than you... But you know other things that they don't have a clue about.
> But how do I deal with the fact that I always feel that there are people out there who are a lot better than me and a lot younger
I know exactly what you mean, since I have been at that place myself multiple times throughout my studies and work life.
Short background: I went back to study at the university (B.Sc. + M.Sc.) at the age of 24 and got my M.Sc. degree at the age of 30; now I'm working as a software engineer at a startup.
What really helped was in a first step to work on fully accepting myself. You will always find people that are smarter, faster, <insert adjective here> than you, but that does not mean that you are not worth of love or respect. It's okay to not be able to solve an interview question in time, or to fail an exam, or to not understand a topic the first time you hear about it. We're humans, and this is part of being human.
Self compassion and meditation helped and still help me a lot, especially when I'm facing situations where my self-esteem takes a hit or two.
It also helped a lot to understand that everyone has its own pace. If I would have gone to university years earlier I would have probably failed, because I just wasn't ready for that step at that point in my life. Now I'm 31 years of age, and I am where I want to be. And that's the important thing: it's the right place _for me_, but it may not be the right place _for you_ or for someone else, and that is totally fine!
I'm working with software engineers that are a few years younger than me, who finished their studies quite some time ago and have been working for the past few years, and I'm totally fine with that. It's really awesome, because I'm learning so many things from all of them, and it doesn't matter if they are 21 years or 45 years old. At the end of the day they are also human beings, all with their own baggage filled with fears, failures, positive experiences, and so on.
In general, being kinder to myself changed my life for the better, so I can really recommend to first working on being happy with yourself, and then taking further small steps from there.
In case you have any questions, I'm more than happy to answer them.
Wish you all the best for the future, you can do it!
I have wondered if anyone has advice on what an ideal pie chart of your discretionary time should look like. How much of my time should be spent learning new technical things, and of that how much should be directly applicable versus exploring related fields versus totally random, hoping for serendipitous connections. How much of my time should instead be spent on reading classic literature, building side projects, household chores such as tidying up, personal finance, watching tv and movies, playing video games, revisiting old journals of ideas, socializing, networking, etc.
I'm sure if most people sat down and did a full accounting of how they spend their time, they'd feel guilty. We know we need rest, just not how much of it. Nor how to divide up the non-rest time optimally. It's not even clear what the objective function is. Happiness? Meaningfulness? Bank account? Reproductive success? I haven't dedicated enough of my pie to reading the thoughts of others on this subject.
This sounds like an obsession that is adversely affecting your life. If you had a painful tooth that was affecting your ability to relax, you'd see a dentist. If you had a leg injury that was affecting your life, you'd see a medical professional.
Do the same for this. Looking after your mental health is simply a sensible thing to do.
Hah, it's like someone wrote this for me (Also had 2000+ hours of Dota).
Now after having too much stress, I have been experimenting with these thoughts:
-Hey, I have x amount of time and I can't master all this y. I should plan what I want to master.
-Well, how do I plan what to master. How about I try to set my next goal.
-What kind of goal? Must start from the most important stuff first. Maybe something like what is the minimum needed to make me more fulfilled in life.
-What are these things that make more fulfilled in life? For me they were mostly goals for attitude and social skills. There was only one goal that had to do with becoming better with technology and that was trying to find my thing in technology. Which was a bit of surprise for me ,considering what I have done with my time trying to master everything.
I am still experimenting with this, but I found that there isn't this constant damaging stress where I feel like I am on a timer.
If you want to be the best you can, taking care of yourself is of Vital Importance.
- Getting enough sleep is important for memory formation.
- Eating healthy, nutritionally diverse keeps your body fueled and your mind sharp. The American diet tends to be deficient in vitamin B7, vitamin D, vitamin E, chromium, iodine and molybdenum [1].
- Regular exercise improves mood, sleep, and memory. [2]
I'm sure you can see how these would be helpful. Taking regular breaks, distracting yourself, is also hugely beneficial in how it can shift the gears in your brain. It also adds creative material for your brain, which helps drawing those loose-but-oh-so-useful associations.
On top of that, reducing stress is a big plus for brain function. Especially in the long term. Go easy on yourself, you don't have to be the best. Heck, what even is "best". Everything's relative. No one is better at being you than yourself. Practice self-compassion. Everything is OK.
If your issue is that you Recognize all of this, you Understand it, but the problem is that the Thoughts still pop up, Remember: You are not your thoughts. Whenever you recognize it occurring, just take a deep breath, Acknowledge the thoughts, label them, and focus on being present. Regular meditation is pretty helpful in this regard.
Or, establish a purpose, a goal to shoot for, either short term or long term, and break it down into tiny pieces. Measure your progress, and relish your data-backed improvement. Measure how well you take care of yourself too, and Prioritize That. If only just because it would benefit your progress on your purpose. Or heck, quantify yourself and figure out how your lifestyle affects your brain's efficiency. [3]
I have a timer app (RSIBreak) that forces me to take 20 second breaks every 10 minutes and 4 minute breaks every half hour; I usually get up and walk around or stretch a bit and look out the window for awhile. Works wonders for making me feel way better. I've improved my posture from doing it, as well as making my eyes feel way better after working a full day. I also use Redshift to tone down my screen; when I turn it off for certain things, my screen feels blue and bright in a weird way.
I started smoking Cannabis. It has helped me a lot after long programming session.
My mind used to keep racing. I tried everything from playing instrument to swimming but nothing helped.
I would get the flashback of the diagrams, communication, tickets and emails. I would continuously think about the data structure and algorithms, reaearch a lot of them and figure out which one would be most efficient for my employer. I would work out the complexity and implementation in my head. Once i got into accident when thinking about a bug.
But now it's solved after i started taking cannabis.
Getting on hard boulder projects used to work really well for me. If it's close to your limit then you can't think about anything really, and it gives you a nice reset
reply