Sugar. Fruit or a glass of good juice or whatever works for you. Brain consumes quite a lot of energy, as probably all of you can quantify better than I. It is well understood in the software world that nobody can work well for hours straight. Everybody needs to take breaks. Young people foolishly believe they can do good work for hours on no sleep, but I don’t agree.
Quiet. I am a bit deaf now, enough to have trouble parsing conversations. When I put on hearing protectors ( 10db? 20db? they work pretty well for $20) my IQ rises by 20 points. really.
Habit. Many years ago I had a friend who was the most prolific American author after Asimov. He had fantastic work habits of course. Every night at about 10PM he unplugged the phone and required himself to sit at the typewriter until 3 or 4 when he went to bed. If he wrote nothing he told me he didn’t breate himself, just sitting was his job. He did his research in the afternoon. I think part of his success was that he didn’t expect himself to be good at starting work, he expected distractions.
Sorry but the software world described here has little to do with my daily work in software. As most apps have moved to webapps, and most servers are now in the Cloud, and most devices are IoT cloud-connected, as all these trends have happened, the paradigm for software has evolved to maximizing change.
Software never was very re-usable itself, but frameworks and APIs turned out to have huge value, so now we have systems everywhere based a a layered approach from OS up to application, where application software is quite abstracted from the OS and hardware and support software ( e.g. webserver or database). However frameworks also change quickly these days—JQuery-Angular-React-Vue.js .
Cloud engineering is all about reliability, scalability, and a very rapid change process. This is accomplished through infrastructure automation, and process automation. Well-organized shops aim to release daily, and at the same time, have very good quality. We use CI/CD patterns that automate every step from build to deployment.
Containers are everywhere, but the next step is Kubernetes and serverless in the Cloud, where we hardly touch the infrastructure, and focus on code and API. I see no chance that code will last long enough to depreciate.
Making high-quality software is all about the process and the architecture. You just can’t meet today’s requirements building monoliths, on manually-managed servers.