> There is some fundamentally different thought processes between people who have never been “in shape” and those who aren’t now. I know my “reasons” are excuses and I know what the carrot tastes like. For some that carrot is too abstract and sounds maybe a little culty.
Sure, part of it could be due to the experiences that shape people's opinions. For example, i've stood in a governmental building and have seen queues forming because people could not receive the healthcare services that they needed in a timely fashion, all due to a system not working. I was called in to help and admittedly there was a lot of satisfaction/relief after i pulled out the non-functioning guts of the system and replaced them with something a bit more stable.
I think that developers could benefit from seeing how their code runs out in the wild, or even dogfooding their own projects. Furthermore, actually getting to be a part of a good team that's not constantly fighting some fires is definitely an eye opening experience!
Similarly, that one situation made me reconsider how much impact my decisions could have down the road for both others and myself. Do i really want to skip out on writing unit tests now and then spend a week fixing both some rather bad bug whilst also trying to fix the data that has been damaged by it? Should i really approve these code changes, if it seems like the implementation could cause resource usage issues, even without doing a few benchmarks first? Is saving 15 minutes by not writing docs worth wasting 2 hours rediscovering all of the functionality when something will break 4 months later and i'll have no recollection of this code?
Of course, i'm not infalliable myself, far from it. Thus the balance between "strong opinions that are loosely held" vs "loose opinions that are strongly held" is hard to find and i have to constantly keep exposing myself to new technologies and approaches, even if i don't always agree with them. Ideally, i also have to make a large amount of mistakes, but in environments where their consequences are minimized, such as side projects and prototypes, so that i may learn from them.
Here's hoping that i won't lose the strength and discipline to continue doing that for the following decades, and leave all of the software that i work on in a better state than it was when i started.
Sure, part of it could be due to the experiences that shape people's opinions. For example, i've stood in a governmental building and have seen queues forming because people could not receive the healthcare services that they needed in a timely fashion, all due to a system not working. I was called in to help and admittedly there was a lot of satisfaction/relief after i pulled out the non-functioning guts of the system and replaced them with something a bit more stable.
I think that developers could benefit from seeing how their code runs out in the wild, or even dogfooding their own projects. Furthermore, actually getting to be a part of a good team that's not constantly fighting some fires is definitely an eye opening experience!
Similarly, that one situation made me reconsider how much impact my decisions could have down the road for both others and myself. Do i really want to skip out on writing unit tests now and then spend a week fixing both some rather bad bug whilst also trying to fix the data that has been damaged by it? Should i really approve these code changes, if it seems like the implementation could cause resource usage issues, even without doing a few benchmarks first? Is saving 15 minutes by not writing docs worth wasting 2 hours rediscovering all of the functionality when something will break 4 months later and i'll have no recollection of this code?
Of course, i'm not infalliable myself, far from it. Thus the balance between "strong opinions that are loosely held" vs "loose opinions that are strongly held" is hard to find and i have to constantly keep exposing myself to new technologies and approaches, even if i don't always agree with them. Ideally, i also have to make a large amount of mistakes, but in environments where their consequences are minimized, such as side projects and prototypes, so that i may learn from them.
Here's hoping that i won't lose the strength and discipline to continue doing that for the following decades, and leave all of the software that i work on in a better state than it was when i started.