John Carmack Work Habits
reddit.com
reddit.com
"Last night I had a dream I was an initialized object in C++. It was terrifying. I felt...trapped. Pure quietness. It was dark except for a glowing yellow light far into the distance. Almost like a small star in the sky. It was the unused variable warning from the user's IDE. Then it goes out. I'm still alive. They forgot to free me. I'm just lost memory. Taken up space until the machine shuts off. Then I'm gone forever.")
Haha he must have gone through some memory management sessions...
Were it to be Rust, at least, I'd guess you'd know - death sentence style - what is to happen to you :)
- I really like the retreat idea. Carmack frequently did that since his early days. In "Masters of Doom", IIRC, he started doing this kind of programming retreats since as early as his Quake II days. The key is to have a project in mind (in his case it was usually a rendering technique) and take one or two weeks to be super focused on it.
- That 13-hour work day make sense somehow, as he only programmed 50% of the time. The difficulty is to be that focused every day.
- Most people actually don't get good sleeps and this probably puts a huge debuff on them. They not only lose productivity, but also miss the chance to reach proper level of productivity. I don't know how to fix it, especially now that I have a 5-month kid.
So, "how to fix it" in my opinion is to just outlive it.
Editing to say that I didn't realize how much my kids had wrecked my ability to sleep. Don't wait 10 years like I did to try and get it fixed!
I also heard that boys need more time with father so I'm expecting more time spent outside of programming (programming is one of my hobbies, not a job requirement) when he grows up.
The good part about parenting is that I'm forced to be more productive at anything. Making calls to hostipal/government? Sure I'm going to do that NOW, not tomorrow, not 5 minutes later. Need to look at Kafka tool and do some development about the logs? Sure I'm going to do that NOW, not going to leave until the deadline hits. Because if I don't wrap up things NOW, I might end up forgetting to do them now that my boy has taken up a large part of my attention.
Stuff like this always seems to strike me as if people have forgotten that having kids is totally optional.
Most importantly, be realistic. You're not going to be amazingly productive, because you're busy building a family and that takes effort. It's temporary and worth it, and at some point those kids even start paying you back by mowing the lawn. The key is to not use this time to fall into a hole you'll need to dig out of later; stay on top of diet, exercise, and your health.
Second, take advantage of the new constraints placed on you to make your life brutally efficient. Outsource everything that you can like cleaning and groceries. Get organized around various tasks like bills and taxes so you never have to think about them. Organize your home so that everything you need is where you need it and get rid of everything you don't need. Coordinate with your spouse to make sure you're both using your time the best.
Before kids I was never very efficient, I was just highly productive because I enjoyed my work and threw tons of hours at it. In retrospect, I do wish I had invested more in becoming more efficient, but now a baby is a wonderful constraint to force efficiency.
Good luck!
Completely agree with the brutally efficient part. Having kids makes me much more efficient and less a victim to procrastination. If I can finish my work of the day before 5pm then I have some extra time for my project. If I call the hospital NOW at 8am I don't need to wait for an hour at 2pm. Time suddenly becomes a lot more valuable to me.
In usual business code you might translate this to a program doing multitasking where both code and data in threads need to talk across boundaries, where synchronization will produce odd artifacts that need to be identified and dealt with.
I don't know about other people, but for me after about 4h of this my brain is mush. Fortunately for me as a solo indie dev there are many other more relaxing tasks that I can fill up more time with, such as creating maps, art, etc. Also there are a lot more easy development that isn't quite as intensive all the time.
Yeah 4h of intensive programming is going to smash the brain hard enough. Even Carmack says he has to switch between tasks to make a super efficient 13-hour day.
The real interaction starts when you engage them in for example a fight. Some units will seek to find cover, some will be taking/dealing damage from/to others and so on.
- Since I have to get up at least once during the night for a diaper/milk run, I should cut off distractions that further reduce quality of sleep. I should leave cellphone in charger instead of under the pillow so that I don't spend half an hour every night after changing diapers for my boy playing State of Survivals (anyone else playing BTW?).
- I should also increase a bit of physical activities as they improve the quality of sleep. But I hate them so much that it might be not doable. Actually I'm really not motivated to work out unless the doctor tells me to do it or die in the next 10 years. Crossed out as a non-option.
- With a family it's really difficult to go for any programming retreat. But at least I think I can arrange some shorter ones so that my wife doesn't complain too much after my boy goes to daycare. More importantly, I need to increase my programming skills (so far a bit better than zero) to the level that programming retreats actually make sense. For example, if I have to check references every 5 mins I'd better live with Internet. I probably need another 1,000 to 2,000 hours of programming to be real familiar to get anything positive from programming retreats.