Software engineers have full-time managers (which are a lot more overhead to pay for but kinda serve that purpose from the client perspective) and are paid well enough and consistently enough to usually only work one job on a given day. Subcontractors sometimes do decide not to show up to your job site because another employer offered them a bonus to do theirs that day instead. The point isn't (only) to humiliate or do a show of power to the workers, it's to counter an economic incentive they have.
That said, for a lot of subcontractor trades, it's so hard to find anyone that I'd worry about the reverse: you get known as "the freaks with the cameras" and no one good bids on your stuff anymore, and then the delivery is even more delayed.
> it's to counter an economic incentive they have.
I think economists would call that a feature and not a bug. It is essentially an auction (something economists LOVE). You could instead take that money that you're spending on surveillance and instead spend it on giving the contractors a bonus to show up to your place instead.
I really don't buy that this would "shame" them into coming to your place first. Everyone already is aware that they don't always show up because you got out bid. You're "solving" the problem the wrong way because you're not addressing the actual problem.
I would imagine shaming doesn't work because I think residential GCs have higher demand for workers than there is supply, but the cameras still solve the problems of making it easier for the GC to react when it happens (and the reaction could be offer to pay that sub more if the project is late or all the other subs have been showing up, realizing the work from the earlier stage wasn't done, and going home, or it could be lengthening their project schedule).
That said, for a lot of subcontractor trades, it's so hard to find anyone that I'd worry about the reverse: you get known as "the freaks with the cameras" and no one good bids on your stuff anymore, and then the delivery is even more delayed.