He also said he refused to do work on existing plumbing. He loved to build new systems but hated maintaining old ones. Where have I heard that before...?
I think it's the only time I said "THAT is the kinda setup I want."
Infrastructure, properly done, outlasts its own empires.
Some of the successful ones that own their own businesses are able to make a lot of money (a consistent >500k/year). The downsides are that those businesses are difficult to scale since they are service oriented, and they depend on good physical health. Moreover, consistent quality is mostly the responsibility of the owners, and again, that can't always scale far either. You also get out what you put in, in most cases it seems like the pay is a linear function of productivity. It's definitely not easy or normal to make that much, but it's doable as a tradesman
Before I was a programmer I was an industrial electrician and had worked on sites, after I was a programmer we where down on a site installing some equipment and a plumber walked past and said “your the guys who came 200 miles to turn on a switch right?” And I instantly replied “nah, we just heard there was a scouser doing some work so we had to come look!” the techie I was with looked like he was gonna shit himself but the other guys around fell about laughing.
The thing with work sites is you can’t take any shit but you won’t find funnier people either.
(It was also the most meritocratic job I've ever had- your ability, or lack thereof, was on display for everyone to see. And working on teams where everyone is competent is a joy, virtually regardless of actual task.)
He worked in the wrong field for him exactly, but his skill in his trade is somewhat rare.
The man was not properly educated in many fields, but if it has anything to do with welding, he's a complete wizard. You would never know what he knows about a subject, because he might not understand all of the context or language with which a question is asked with regard to chemistry or physics... yet he does know. He can perform complex calculations in his head, on the spot, and seamlessly weld two or more different types of metals of different thicknesses in the most inhumane physical positions, and that's a Tuesday for him.
I swear he should have been working on rocket engines and not in an oil refinery, but he was never exposed to the possibility.
He expresses sometimes how he wanted each of my siblings and I to have a trade each unto ourselves, yet fails to understand that what I do can factor into that as much as carpentry, welding/pipefitting, plumbing, or otherwise. It's funny... savant-like.
Anyway, in short, I agree. :)
This is a rational reaction, actually.
The problem with he "trades" is that they are often very physically demanding and take a great toll on your body over the years. They also often have a very high potential for debilitating injury.
A 70 year old programmer is no longer rare. A 70 year old tradesman is a unicorn.
This gave me the impression he hasn't really thought through what he is saying.
> Just as a good small business owner should hire a humble plumber who knows the standard tools required for small bathrooms, and will pay him market rate, a good engineering manager should hire humble team players who use industry-standard tools to build reliable software, and pay them market rate.
This furthered my sense he hadn't thought through what he was saying.
> Part of the problem is that we over-engineer the software we work on. I am guilty of this as well.
I have no idea what he's getting at here.
> “Oh, so you’re building an app? Does it use AI? Blockchain? ? Take my money and do it!"
Unfortunately investors these days love to hear that. Devs who bring these skills are most definitely adding value, even if the author deems it largely superficial.
> Finally, don’t get comfortable. This isn’t a popular opinion among software engineers, but I believe that many in the field are overpaid relative to the difficulty of the work they do. Sometimes it’s because they are the only people who know some obscure corner of their field, sometimes it’s because their company’s gatekeepers are preventing full access to the talent market, and sometimes it’s because other engineers insisted they overbuild things such that junior devs will take a long time to understand it.
Should plumbers not get comfortable too? At this point I think the author forgot what he was writing about.
I'm not trying to be mean. I was just trying to add value to an analogy I had trouble distilling value from. I am speaking from frustration at seeing comparison here and there lately in developer communities.
To answer your question, I've never been asked in detail about complex algorithms for either plumbing or software work. Maybe I've been lucky or maybe I just exude an unnatural amount of competence (I'm guessing it's the former, I have resting dumb face).
Anyway, I don't think gauging someone's level of understanding is unheard of in the plumbing world. It probably depends if you're going for a junior or senior plumbing position.
Edit: some clarification
A reputed community conference, co-organized by contributors and maintainers of the Linux kernel and related low-level "plumbing" utilities and libraries.
I don't know if the people making the programing is like plumbing comment realize how highly skilled a plumber is.
Plumbers don't have to craft their own pipes nowadays because the existing piping solutions are very well understood. It's not as important that the plumber knows exactly how the pipe is produced. They need to know how to set up the interface between the pipes.
Similarly in software, we have high quality solutions to many common problems ("the pipes"). While we do have some people focusing on designing the solutions, in 2018 people don't need to know how to make their own frameworks in order to use one. This reflects a maturity of the industry.
The other interpretation is that most software engineering work doesn't require significant theory or novel work. Implementing software solutions to theoretically resolved problems still requires skill. Likewise plumbers very rarely do novel design work, but that shouldn't be a judgement of their skill.
I think the statement, "most software is plumbing" is true insofar as most software developers need design novel solutions. There are existing frameworks, libraries and languages for the vast majority of business needs. That kind of maturity is a good thing.
The Bulk of Software Engineering in 2018 is Just Plumbing
In my opinion it's a bit of a lazy analogy and the author doesn't show any real knowledge of what goes into plumbing or how this analogy provides any value.
Software development is full of analogies that are designed to aid understanding of a large array of abstract concepts. This is good! I just don't see why this "software development is just more and more like plumbing" analogy has become so popular in the dev community. I get what they're trying to say, but it says more about how they perceive/approach their work than it says about either field.
I feel like I could provide just as much value by taking all the points this author made, just replacing the word "plumbing" with "open-heart surgery", but everyone reading my article would be like what the heck? It's almost comical:
The Bulk of Software Engineering in 2018 is Just Open-Heart Surgery
Software is great because you tend to get out of it what you put in. The same is true about plumbing (please don't think about that too much ...). But that's not what these types of articles are getting at.
I think this is less a denigration of software engineering in 2018 than it is a denigration of software engineer interviewing in 2018.
There is an art and a science to it. The guy I worked with put a lot of thought into the best way to design these things, often because he'd be the one who would then have to maintain them. He'd also get very upset when we go out to a trailer with a poor plumbing system. The main giveaway would be a mess of pipes going every which way without rhyme or reason. These systems were the ones that broke the most and were also the hardest to fix.
It might just be "plumbing" to someone that doesn't have to do it, but there is a whole lot that goes into it and you don't want a plumber who approaches his/her work with the catch phrase: "Well, it's just plumbing."