Even More Re: Software And Engineering

Dr. Drang:

...the difference between hacking and software engineering is like the difference between carpentry and structural engineering. The carpenter takes lumber and nails it together in a way that seems right, while the structural engineer sizes and spaces the lumber using a rational approach based on the applied loads and the strength of the material...

But there’s a place for carpentry. If you’re building a shed in your backyard, there’s no need for a structural engineer. The rules of thumb of carpentry—which can be shown to have rational bases, even though the carpenter may not know them—are perfectly adequate to build a strong and durable shed. The trick is to know when you need structural engineering and when you can get by with carpentry.

Ian Bogost

The term is probably a shortening of “software engineer,” but its use betrays a secret: “Engineer” is an aspirational title in software development. Traditional engineers are regulated, certified, and subject to apprenticeship and continuing education. Engineering claims an explicit responsibility to public safety and reliability, even if it doesn’t always deliver.

The title “engineer” is cheapened by the tech industry...

The traditional disciplines of engineering—civil, mechanical, aerospace, chemical, electrical, environmental—are civic professions as much as technical ones. Engineers orchestrate the erection of bridges and buildings; they design vehicles and heavy machinery; they invent and realize the energy systems that drive this equipment; and they contrive methods for connecting all of these systems together...

It’s no accident that the most truly engineered of software-engineering projects extend well beyond the computer. Autonomous-vehicle design offers the most obvious contemporary example. Autonomous vehicles share the roads with human-driven cars, pedestrians, and bicyclists. Those roads are managed, maintained, and regulated. Engineering addresses complex, large-scale systems...

Other engineering disciplines are subject to certification and licensure...

Licensing processes vary by state, but Professional Engineers generally need to hold a 4-year degree from an accredited program in their discipline, pass one or more exams, and possess 4 or more years of professional experience under the supervision of a licensed engineer. Not all working engineers are or need to be Professional Engineers, but... to claim that one is an “engineer” in a formal context, licensure is usually required...

Engineers bear a burden to the public, and their specific expertise as designers and builders of bridges or buildings—or software—emanates from that responsibility.

These two posts sum up my feelings pretty well.


Filed under: engineering
Other Links: RSS Feed, JSON Feed, Status Page →