I think some people fail to understand how hard it is to be a good contractor. Just like software engineering it requires a lot of education and a lot of experience.
You won't get it right your first few tries no matter how smart you are. Just like no software developer ever got things right when they were first learning to code.
Building many structures (or any given sub-specialty, e.g. plumbing) on a predetermined schedule and budget and making money doing it without charging so much money that you get undercut out of business is what requires skill.
For N=1 you rarely have to be a pro to do it right.
I became a homeowner as a never-interested DIY with EE/CS degrees. We had an unfinished basement that we paid the builder to finish only the electrical, plumbing, and framing. I'd always heard drywall'ing was easy so I left that for me to do.
At the time I knew nothing about lighting, fixtures, eletrical work, etc. Ended up agreeing to J-boxes for basement lights rather than cans, and a few other money-saving things (for the electrician).
Before doing the drywall myself, I ended up rerunning all the basement lights, running tons of outlets, installed an electrical subpanel in my garage, new plumbing lines, etc. All inspected and approved on my own permits.
I maybe watched ~200 hours on youtube (easy to do at 2x speed) and read a lot of electrical and plumbing code. But when I was done it was "done right" and not done to "save money".
I ended up saving a ton of money on the electrical and plumbing, easily in the thousands, and only saved $700 on the drywall labor. Moral of the story, don't hang your own drywall by yourself. Pay for it if you can't get a couple friends to help.
I do have a guest bedroom in my house where I once had some time during a holiday shutdown when my job situation was a bit perilous. I had some crumbling plaster so I put some drywall up. It's... functional.
Painting is one thing I do myself. I do it enough I got reasonably good at it and--for touchup--I can reasonably take shortcuts that someone I was paying couldn't.
The latter can really kill a project if you can't get it right consistently, preferably first time.
That's where the skill comes in - not just the physical labour, but the experience needed to make allowances for material tolerances and other possible gotchas.
Professionals (should) have that knack, amateurs rarely will.
Generally all contractors say "the next guys will take care of that". For example, when framing you don't really care if the studs are really straight or if the walls are square. The "next guy" will take care of that.
True enough, when I was drywalling I had the builder come back to take care of some bowed studs that should never have been used.
I've also volunteered at Habitat for Humanity and can confirm that very little "accurate measuring and cutting" was occurring. They'd quickly measure some things, shout out numbers, and then use a circular saw to rough cut it out. But that was it - they didn't refine it after that and went about their merry way.
I have to believe that the accuracy of a foundation is more important but I think it's a fool's dream. They get "close" and they're checked out before the "next guy" has to fix it.
Unless a 3d printer or CNC machine is responsible for the accuracy you better count me out.
The finish work is the final last guy. The guy that did our trim would randomly yell out swear words every 20 minutes. His life is hard. And he was expensive.
The labor itself might be low skill, but the experience required to do the job well and to create a lasting structure takes an enormous amount of time. "should I use ceder, spruce, pine or Aztek for the exterior door casings? Should my subsill be 7 degrees or 14? Should I use felt paper or tyvek for my weather barrier, which type of tape should I use for each type?"
And this is why companies hire a hundred fresh grads for every gray hair. 99x/100 they don't need super high quality work output.
In all trades there's a hesitation to look at something and say "screw it, it doesn't really matter, just do what's cheap" unless you're being told to and software isn't immune from that (in software "told do" seems to come mostly in the form of time pressure whereas in the trades it's what the number job is paying). Sure it's nice to do "good" high quality work but a lot of the time it really isn't necessary or it's strictly wrong because whatever it is you're building needs to be built to a price point. It's only when you push things to the limit do all the little marginal details (the stuff the experienced pros get right) start mattering. That tends to accidentally happen more (at least in my estimation) in software than the trades because labor is so expensive and code is so easily portable.
Also, janky setups and quick-n-dirty fixes abound in all trades. You just only see them in trades you know about.
If timeline isn't the most critical factor a homeowner can do an excellent job. Often even better than the professionals because you will be willing to spend extra time and attention to get everything perfect.
And then get the wrong stuff, which the contractor will make do anyway if there's even the remote possibly it will work. and so on. After a while and some $$$ wasted you will get a feel for what's reasonable and what's bogus.
ps: school should make kids build more stuff, you get real use case for a lot of mathematical thinking out of cute stuff hands on.
Source: my brother nailed his hand to something in middle school. He's got a Ph.D now, for the record.
I've saved myself hundreds of thousands of dollars over the years by doing my own work, but now I can only see defects everywhere because that's what I've trained myself to look for.
There are a million jobs I still need to get to, but at least I know that once they’re done I’ll be happy with the result. Having only just started down the home diy route, there’s a load to learn and I still make a lot of mistakes, but I’m improving, and it’s satisfying to know that next time I’ll get it right, faster and cheaper than before.
But I think that the schmo vs pro divide is real when you get to electrical, plumbing etc. HE’S the pro, and I’m the Schmo. As my favorite interviewer says.
IMHO, this is backwards. Electrical work is twisting wires and screwing them down. Plumbing is gluing or clamping stuff together (unless you're sweating copper). The actual mechanics of doing it takes little skill and pros aren't going to be that much better/faster than you. The real difference is the amount of knowledge the pro has of codes and how things need to be. However, the concepts for residential are pretty straight forward though and relatively easy to learn. You can pick them up starting with simple stuff.
Compare that to something like drywall. Your drywall finish work is going to suck compared to a pro and they're going to do it way faster than you could.
That said I'm a cheapskate and do my own finish work even though I hate making things look nice.
Differentiating and correctly selecting the true pro out of a lineup of estimates is a skill in and of itself. For most construction tasks, I'm better at the task itself than I am at finding someone who can do it better than I can.
Often these pros are also the ones that are easiest to find because the ones that know what they are doing are in high enough demand that they go mainly off word of mouth and friend-of-a-friend type business.
We bought a house three years ago that was built in 2006. The number of things I've found that were done just blatantly wrong has soured my opinion of general contract labor quite considerably.
I hired someone to fix some water damage by a door about three months after we moved in. The next spring when it rained we had a literal waterfall coming in from the top of the door frame.
Never again.
I've since torn that entire wall down to the studs, cleaned everything up, put it back together correctly, and rebuilt the attached deck.
I don't know how much that would have cost to get fixed by a professional (supposing I could have found one that actually knew what they were doing), but I'm guessing it was easily $10-$20k of work if labor was factored in.
High skill labor usually involves lots of expensive one time costs. I don't see how there is an opportunity to save money.