I gotta admit, that on a day where it's just about chasing some elusive bug or bugs, even I say to myself: "What the hell did I do today?" even though I might have spent 8-10 solid hours actively working. If the bug is hard enough to find I feel like I accomplished nothing nor have anything to show for it.
And sometimes, when you add to the fact that as devs we have all these perks in the office like free snacks, being able to go out for lunch, free sodas, free coffee, or WFH etc. and for what? We accomplished nothing!
Conversely, you might meet blue collar workers who has to, absolutely has to commute to a job site (no WFH for them), busts their rear to get something real and tangible done. Like for example, setting up electrical, or building a frame, or fixing a major plumbing issue, or doing drywall, or painting an entire house, or doing an entire roof in the heat etc. And sometimes these people barely get their bathroom, lunch and/or coffee breaks. It really makes us seem spoiled in comparison.
And yes, I know that it's kinda denigrating to use the word "real" to describe anything but software, but, what I mean, is that most non-software people only understand finished and shipped software as real. They don't that understand DB schemas, software specs, MVPs, for example, etc. is also real as well. And they certainly don't understand time spent on thinking about data structures and algorithms as anything real or tangible. Especially if you spend most time planning properly before you code.
Anyways, we want to prove, at least to ourselves, that we can actually create something that everyone can see, touch, feel, pick up, eat, stand on, sit on, etc. And we want to prove that we can have same high standards and craftsmanship this kind of work that we have for code.
Yeah, some of us have a chip on our shoulder about that.