3 ms·
"...hire programmers for fewer hours per day" It takes time for me to get my head around the problem my employer wants solved. They can't plan to the tiniest d
by delinka 10y ago
"...hire programmers for fewer hours per day"
It takes time for me to get my head around the problem my employer wants solved. They can't plan to the tiniest detail the precise class hierarchy that I should produce, the exact procedure I should write. If they could, they'd only need a typist. They need someone who can comprehend the problem, formulate a solution, and then slice that solution thin enough to implement each layer in code. This process is necessarily creative and often does not involve producing code. Why don't they hire for fewer hours? Because they'd get less 'productivity' out of me.
Further, as a company grows, it takes time to communicate, to get everyone headed toward the same goal. Just because the founder said "protect data" doesn't mean that everyone automatically comes to the same conclusions about how that should be done. So there are meetings for communicating verbally, followed by documentation to solidify understanding of the problem and the solution, followed by more meetings to clarify intent in the documents...
After all that communicating, when I get time to focus on creating solutions, I've got to take the time to reconstruct state in my head so that I can be productive.
"...programming makes us tired and stressed, how often we spend hours and hours per day just procrastinating or being completely unproductive while still trying to be."
All those meetings make me tired and stressed. But more to your point, I'm not unproductive while I'm defocussed. While writing part of the solution, I hit a wall - how do I implement this so that it's readable, so that when I come back to this part of the code in six months I'll still be able to understand wtf I was thinking? This operation isn't permitted, so what's another way to solve the problem without creating a security issue? So I defocus - walk the floor; walk the block; look out the window; operate the flippers on the pinball machine - and let my subconscious work it out.
Between attempting to understand the problem, interruptions for communication and time required to find an acceptable solution, I'm left with little time as it is to actually implement the code that solves the problem. I'm already averaging about two hours of "programming time" per day. Any less and I probably can't even write the code.