somewhat serious

I Wonder... Did We "Have It" Before?

By "have it", I mean craftsmanship with respect to producing code to solve a problem.

A lament that I see often, and I myself feel, is the advent of machines generating the most probable program degrading the value of craftsmanship.

But, it makes me beg the question: did that value even exist?

Frankly, I could see the lament having an origin in lazy (read ineffective) engineers being able to close the gap, so to speak. The floor of what is integrated into production systems could be higher than previously given statistically generated code is average (without getting into the details of if "average" is a fair assessment, I will make no such claim). Therefore, I'm not sure the lament is such that craftsmanship is at risk. I don't think it is. I'm convinced it is still valued, even though there is a lot of noise to the contrary.

But the question did give me pause: what is the reaction really to?

It seems to not be craftsmanship in a pure expression, but something different.

Folks will always value solving problems, and it seems asinine to assert the same outcome regardless of artisanal characters vs. manufactured characters has an impact on said problem being solved. All code in this software has the potential to be a blessing, or a curse, regardless of provenance. Such an artifact and its origin is highly contextual, and I will not go into delving into nuances, though there is much to sift through. However, the risk and accountability of such an artifact needs to have some attestation and accountable party that is not a machine. There needs to be discernment in which parts of any system require absolute (or near absolute) correctness, and those which can tolerate breaking often. Having a guide of what is foundation, what is facia, and what are the bits in-between can meaningfully bring about outcomes appropriate to their domain.

A database is foundational. Correctness and uptime are table-stakes and anything less is a failure. A nascent application trying to find a market can have some bugs while folks see what works. A server in between those two should be stable, though, I won't fault anyone if there is some issue w/ logic. I will fault if a network partition or rollback isn't taken into account though.

All that to say in a very roundabout way: craftsmanship is still valuable and should focus on what will bring about appropriate outcomes. Stable software that adheres to what is required to be a net benefit to the people who leverage it is quite good. At the same time, a new capability to solve a real problem which is a little janky can be fine as well.

It really boils down to how such context is communicated and agreed upon by all parties.

Thanks for ramblin' with me.