for me philosophically code is a liability. Every line of code I write is a liability for me and future generations. So I try as hard as I can to not write code at all so it takes me quite a long time to decide to write code. I see it like that in the places I work too, I get paid to decide when it makes sense to write code eg introduce liability to the business
I agree. Code is a liability, and you should think as hard as possible so that you can write the smallest amount to produce value.
But at the end of the day, you are often going to be writing something, and once you figure out what that is, it should transmit from your brain to the editor as fast as possible.
Interesting perspective. I am a solo developer for all my own companies, and I basically work alone managing a number of high volume businesses. I look at code as "art" oddly enough, and not a liability. I look for elegant solutions that wrap complexity up in the most elegant way possible, and I think a lot of "liability" comes from people not knowing what they want, and not refining features, as opposed to code (at least in the business I work on, it sounds different for you in your case)
Edit: Not that "high volume" means anything but I put that there to illustrate there's millions of dollars of liability on the line, not just pet projects or something. It just sounds like a different kind of business I'd guess. Working on a team is definitely something a lot different, that I don't really deal with, nor have much experience with.
This perspective makes total sense if you never have to write code that is maintained by someone else or deal with code that some else has written.
All of our abstractions make sense to us. We wouldn’t have written them otherwise. But unless we are gods at documentation passing that context off to someone else is hard. It’s very easy to casually dismiss a bunch of code as over engineered by also casually dismissing requirements. By being extremely diligent about what you introduce in terms of code you will save yourself and other engineers hundred of hours down the line (if not thousands)
That being said, if you’re a startup who won’t survive without working code and your end users don’t ever see the code you write, who the fuck cares about the 10,000 lines of code you write that would take some other engineer half a month to understand? 10,000 lines of code that make money are worth infinitely more than 10 elegant ones that don’t
I’ve come to that realization consciously not long ago after two decades in software, but felt this tingling for a while.
Code not written is code not using up resources of your colleagues… and future you. It might be an asset if you sell code, otherwise it’s strictly a liability if you sell a service which the code provides.