Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yeah, exactly this. The parent is describing a general contractor, not a carpenter. Even general contractors tend to subcontract out the specialized stuff, like designing the house, installing computerized gear, etc.

A carpenter knows enough to know not to try and do the electrical work, because he'll probably do it wrong.




You're supposed to know the job above yours. You don't have to be capable or qualified to do it, but you need to be familiar with it.

So yes, I am somewhat describing a general contractor, but not really. A GC both knows and manages the work. A good construction worker generally knows what is going on and can pitch in and help (given the appropriate supervision) when needed.

Or put it this way: good construction workers could be really lousy general contractors, but they choose to stick to one area of speciality and become an expert. Really bad construction workers are extreme experts in one area -- to the point that they are obsessed with trivial bullshit that makes no difference to anything -- and refuse to open their eyes to the bigger picture going on around them. It's a difference of whether you're looking outward to the overall value being provided or looking inward to your own little world.

I've worked with good carpenters. They'd never touch an electrical box or plumb out a system, but they can describe what kinds of things happen when this work is done. They can also tell stories of how folks in those areas run into problems and how they've assisted. The physicality of construction, the fact they're all in the same place, makes for really good carpenters, especially if they've worked various kinds of jobs. In IT a hell of a lot of programmers actively want to be physically separated from the overall work.

You can know about everything involved without having to be able to do it or manage it. And you should.


> Really bad construction workers are [...] obsessed with trivial bullshit that makes no difference to anything

That describes bad employees in general. And if we bring this back around to programming, I'd absolutely expect a back end developer to know a bit about the front end, and the design, and the architecture (and help out if needed).

Here's the key difference: "[A carpenter would] never touch an electrical box or plumb out a system." Software companies, in contrast, routinely expect front end developers to design (because it's all just CSS rules), to write backends (it's the same language), and to deploy in an easily scalable fashion (because "serverless"). That is where the expectations differ.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: