I'm in this software company, and I've only experienced two managers so far, but both view programming jobs as not much different from laying bricks. They always emphasized we should take on each other's jobs at any time.
As a result, our code has "group-ownership" -- no one owns anything, and no one is responsible for anything either. Or, in other words, everyone owns everything, and everyone is responsible for everything. If anything breaks, anyone may be dispatched to put out the fire, regardless of who created the problem. If you open up the code, it is quite chaotic, because different people have different ways doing things. Moreover, fixing other's code without much time allocated to understanding it first quickly ends up with patches upon patches upon patches. This never bothers our bosses, because they are result oriented; i.e., they never bother to look at anything down at the code level.
Someone might not believe it, but it is absolutely true, and we are a pure software company!
The justification they have is that when everyone is responsible for everything, when anyone takes a vacation, others can/should just swap right in and cover him/her, so s/he can enjoy vacation at any time. Once a guy had been preparing for a new module for more than a month, then took a vacation, and right before he left, he told our boss all the issues were settled, and it was ready to start coding. So on the next day's scrum, my boss told me, we've got to get this done next week, can you pick it up please?
I just couldn't believe what I heard, that guy prepared it for more than a month, but had never shared his findings with anybody else, and now my boss wants me to pick it up, out of the blue, without any prior knowledge, and finish it within a week.
I can't remember the details but I was lucky enough to find some logistic reasons/excuses to dodge the lethal bullet. He doesn't have the concept that taking over others' work midway is the most painful thing for programmers.
Is this common for software companies? How would you suggest for me to break the bad news to these (clueless) guys, that programming is much different from laying bricks, without them feeling embarrassed, and also convincing them, because they both strongly believe that everyone should be responsible for everything?