For me, it has also been important to keep the workflow and tools that I do use as streamlined as possible (KISS), so as to stay "in the zone" as long as possible.
For instance, if I will write some code, I don't need bells and whistles, I only need LSP support, split screen and the ability to change files in a split second with a few keypresses. Likewise, to version-control code I need a tool that let's me do that and just that.
And so on.
So I find myself most productive when living in the terminal using things like tmux and vim.
REPL, hot code reloading, test code that gets me into the debugging state. Really to dev well, u need to spend considerable effort getting everything setup to maximize flow. Having and not having flow can be 20:1
I agree with you both. This is why I decided to switch and master Emacs, and I've been diving deep into Lisp and other languages with a REPL like Erlang and Elixir. The quick iteration cycle requires little upfront investment in focus, and it's immediately rewarding to keep you in focus and enter a state of flow.
Our concentration is fickle, so streamlining is key.
REPL is extremely helpful for me aswell, I normally just develop whole blocks in a REPL interpreter like nodejs or IPython. And just copy the working code to an IDE.
Don't spend too much time on your tools. A carpenter doesn't spend hours obsessing over screwdrivers. Reprioritizing todo items is not for people with ADHD, like most of other productivity hacks.
You need to write stuff down, use it as a guidelines to stay on track (hardest part), and tick it off. Everything else is waste of time that masquerades as "productivity hacks."
The goal is to outsource your list of things to do because you have a fallible memory, but the biggest goal is doing something that drives your life forward. Don't get stuck looking for the new productivity fad or rewriting your todo cli.
I spend a good amount of time on my tooling (too much? not sure), because fairly small amounts of friction can distract me for quite a while (long compilation, having to copy over files - it's especially bad when the step requires attention). Have it happen often enough and productivity approaches 0.
Fully agree with this.
For me, it has also been important to keep the workflow and tools that I do use as streamlined as possible (KISS), so as to stay "in the zone" as long as possible.
For instance, if I will write some code, I don't need bells and whistles, I only need LSP support, split screen and the ability to change files in a split second with a few keypresses. Likewise, to version-control code I need a tool that let's me do that and just that.
And so on.
So I find myself most productive when living in the terminal using things like tmux and vim.