The Success and Failure of Ninja
&gt; I strongly believe that iteration time has a huge impact on programmer satisfaction, and Ninja is used exactly in the edit-compile loop where the difference of 1 second and 4 seconds is critical. I think I am personally more latency-sensitive than the average programmer, but I also believe that programmers feel latency and it affects their mood even if they don&#x27;t notice it. (Google has recently done some research in this area that kinda confirmed my belief, here&#x27;s hoping they&#x27;ll publish it publicly!)<p>This is something to emphasize.<p>I often feel that my productivity is strongly linked to the latency of actions I do. I like to play around a lot if the latency is low. Once it becomes higher, I generally don&#x27;t do that, and in principle I often additionally think about how to work around stuff, maybe write another complexity layer on top, maybe even do less testing, etc (many of these things just unconsciously). So it does not only adds the latency time, but really makes the whole development cycle slower, and less optimal. Also I tend to get distracted more easily. When I know that the next action (compiling, startup time, whatever) takes 30-60 seconds, I will definitely not just wait, but do something in the meanwhile. But also you cannot really do something productive in that time. So I end up checking mails or HN or so.<p>Also, since I started with my PhD, doing research on machine learning, I discovered a whole new scale of this problem, which I had not experienced before. Now the latency time has usually increased from a couple of seconds to a day, or a week. This drastically changes of how you work. To stay productive, you have to parallelize your work. When you are trying out things, you will try out many variations in parallel. Also you will look at the intermediate results, and maybe already draw conclusions from that.<p>If there is a chance to refactor your current pipeline to reduce that iteration loop time, or the wait-time (which might be the startup time of some tool, or whatever), I think it&#x27;s very worth to do it.