The real “must have” tools for programming
jamesdunne.devWas pleasantly surprised with the list. Agree with all of them. The last point about notebooks has especially been useful for me the past few year. There's just something different about using it to help you think.
Most of the time, I don't finish fleshing out an idea on paper. But the act of writing (or drawing) it somehow helps me explore new concepts faster. After that I just continue coding or whatever the next steps is. It's also useful when I want to sort or categorize different ideas/thoughts into sections.
I'd like to add that it's really nice to have a notebook always in front of you. Mine is always open & ready to be used. It sits right in the middle of my split keyboard so it's literally always in front of me.
Some people need a notebook. I don't. I've never found extra productivity from jotting things down like that. And over the years people have actually made me feel bad about that "you don't write things down? you should, it helps organise your mind" whatever. Put a pen in my hand and a doodle comes out. I have a good memory and I can usually visualize problems, and when I cannot then I use computer based drawing tools to figure it out. I've no idea why some people feel the need to almost bully over this, but I've actually pretended to note things down on paper in meetings before to avoid scrutiny.
What I'm saying is: a notebook and pen is not an essential must have tool for programming. If you use them then all power to you, but if you don't then do not feel like you're doing things incorrectly, and don't listen to people telling you otherwise.
This definitely. Don't feel pressured to do it if it doesn't work for you.
For me the notebook isn't actually for memory. Those kind of notes are better on digital so I can access & edit them everywhere (I use notion for those). The only times I'd read what I scribbled is when I context switch and need to remember what I was doing. It's more of a scratch pad really. Figma also works well for this. Just depending on the work.
I will say that writing or pretending to write notes is almost a super power. In the same way that some people ask "you don't write things down?", I found that people tend to think I'm more disciplined or hard working when I'm on my notes.
Can't say I haven't pretended to write notes before :)
If you don’t need it you don’t need it. I use it to keep track of all points during a conversation. I can remember them all just fine afterwards, but I find conversations drift away from critical points if I don’t write them down to come back to it. I never need to read anything I write down though
Do you have digital notes of some kind? Even just a massive “notes.txt” file? Curious because there’s just so much stuff out there. If I don’t write it down somewhere searchable I’m doomed to repeat the mistake in the future. But I have crappy memory for this kind of stuff.
No. I think I must have a slightly better than usual memory for code and details. I didn't think about it much until a couple of years ago when someone asked for help by phone and I reeled out the file locations and the code for them to enter. They asked if I could just do it and I said no I don't have my laptop and they were somewhat impressed. But I've not asked around about it so I don't really know where that would sit relative to other people.
That's why Google Keep, Evernote etc were build.
If nothing else I like my notebook because if I've shut everything down for the day, I can still leave a note for myself for tomorrow without having turn anything back on/log back in.
Very true. I've seen too many engineers lose focus easily due to poor sleep. What's even worse is that many of my fellow engineers lost curiosity over time. They thought it was due to age or burden from raising a family, but it's really about managing energy. Intense curiosity requires intensive mental energy, which one can't get from drinking coffee all day.
+1 to stopping the coffee.
I enjoy a couple of cups of coffee a day for its own sake. My understanding is that you normalize to the caffeine so if you enjoy coffee just drink roughly the same amount every day. Giving it up is unlikely to change your sleep much unless you're consuming a silly amount (which some people do).
And, as I mentioned to my wife earlier this week, if I feel stressed or something has upset me then just the motions of making coffee or tea is relaxing.
Yeah i still drink it on weekends. I found it made me generally more anxious even with the tolerance, in fact it almost seemed to have a cumulative effect over the years for me. I have shifted to tea and once your palate adjusts, there’s a ton of intrigue especially in Chinese and Taiwanese teas. The caffeine amount in tea doesn’t bother me nearly as much either
I hear there's chemicals in tea which balance out the caffeine, and make it less of a shock to the system. My go-to (heh) is Earl Grey, though I usually drink coffee
Recently discovered cardamom tea, which consists of loose leaf western-style tea infused with cardamom oil. You can buy it from Iranian supermarkets. Great stuff. Also like and recommend both ginger tea and lemongrass tea.
Great recommendations altogether. Also fresh mint leaves. Indian Chai (contains caffeine and is more work to make but definitely worth it, especially if you like Kardamom).
Mint tea is so good. I just got back from Israel and their herbal tea (tisane) game was so strong
It's good to have some herbal teas that you like for when you really just want a hot cup of something to sip and think.
Don't underestimate the benefit of exercise on mental performance. Your brain is a physical thing after all, mitochondria and all, and exercise improves its ability to function. Plus you'll feel way better, and probably live better for longer.
>During sleep, your brain restructures and reorganises information, creating links between unrelated ideas. This leads to new, creative ideas that you use in your day to day to solve problems and write better software.
This reminds of the character Ko Murakami in the manga World Trigger, who can master anything after trying it once and then sleeping on it. Great read if you like manga around strategies and battles.
There's another point of social life in relation to work: When you write software, you're working with people, not computers. You have human end users or other humans writing software that interfaces with yours. No matter where in the stack you are, understanding people makes you a better programmer or engineer.
I would add "proper diet" to this list. You still feel like shit even if you do everything from this list but eat only doritos and drink litres of mountain dew. Sleep-diet-exercise is the holy trinity of health and maintaining good baseline of mental performance.
Quite a good list, I was expecting something else, again one of those tired UNIX blog posts where only UNIX counts as development environment, instead I got something more rich out of it.
Writing stuff (usually visually) down with a Pen + Paper, also helps me a lot, especially when i try to understand a problem i have. And afterwards i try to explain the problem to myself.
I liked the (audio) book Spark - turns out aerobic exercise is really good for you.
Did anyone ever think it wasn't?