5 ms·
I have a hard time understanding why programmers so much want to be called software engineers. Lawyers don't want to be called contract engineers. Writers don't
by ghssds 2y ago
I have a hard time understanding why programmers so much want to be called software engineers. Lawyers don't want to be called contract engineers. Writers don't want to be called text engineers. Film directors don't want to be called movie engineers. The industry has a long way to go for sure, but maybe it's not to become better engineers but to better understand that they aren't engineers after all.
- mike_hearn 2y agoWhy do civil engineers want to be called engineers? They don't work with engines. Computing is full of metaphors. There are also software architects, who don't design buildings, but "software designer" is not the term the industry settled on. Nobody would care if it did, it just didn't.
- defrost 2y agoNeither ingeniare nor ingenium are scope limited to mechanical engines.
- Maxatar 2y agoEngineer does not come from engine, rather both words are derived from the Latin word ingeniator, which means to devise.
- mike_hearn 2y agoTIL, thanks! But then if that's what it originally means, it seems pretty appropriate for what software engineers do?
- xmcqdpt2 2y agoSome software is engineered but not all of it by a long shot, IMO. I'm not an engineer, I'm a programmer. Engineering is all about certifications and contracts and laws and codes of conducts. Engineers don't build the bridges themselves, there are many layers of delegations to the guy who actually operates the crane or puts in the rivets. Most programming done today is craftsmanship not engineering. We have the freedom to implement the same thing in multiple wildly different ways, there are famous "masters" with lots of opinions, on the job programming is still taught in an apprenticeship kind of way, there are consultancies that act effectively like studios or workshops, I type my own code with my own hands, etc. Software is basically still in the artisan era. I for one much prefer the current state and would probably do something else if software was fully professionalized. I would hate to just design some high level spec out of well-known reusable parts, with massive legal and contractual requirements, to be implemented by massive teams of contractors.
- throwaway17_17 2y agoThis perspective is pretty pervasive from what I have seen. However, I think the analogy should be taken to its logical conclusion. There are many, many examples of long lived structures built by carpenters and other craftspeople (in England there are residential dwellings dating back 1,000 years). The materials and maintenance have proved themselves and show that it does not take the large legal framework of engineering to design a structure fit for purpose. However, craftspeople and apprentice style training are not acceptable for the design and certification needed for modern skyscrapers, large format factories, bridges, or transportation infrastructure. I am more than willing to use, support, and even participate in software that is not critical and think a more-bright line separation should exist to delimit the arena for which craft scale software is appropriate. The other side of that is I am willing to acknowledge the existence of arenas not suited to less than formal and legal requirements for the design and ‘construction’ of software artifacts. Controversially, I think societally we use software in too integrated and too many areas that are better left sequestered and siloed. There really is no reason that a general computing device should be used for both untrusted internet connectivity and storing and accessing banking or medical information. The ubiquity of protected purpose built hardware should have been a goal, with a more general open computing hardware environment used by informed choice.