"From what I can tell, nothing is more frustrating to an engineer than a non-engineer asking for something complex, and treating it like it’s trivial." Yes, yes, and more yes. When programmers say "possible," they mean before the heat death of the universe. That doesn't mean all possible things are automatically trivial, despite their apparent obviousness.
Right...everywhere is walking distance if you have enough time.
7) Don't call people engineers when the appropriate term is "developer" or "programmer"
Our friends with the iron ring (if Canadian) are very sensitive and misusing the term engineer will elicit tears.
I'm a ringed engineer; I think it's appropriate for non-ringed engineers to still self-identify by that title. An engineer is a person who engineers things.
There's a legal restriction on Professional Engineer and the P.Eng designation, but that's for very good reasons which have to do with liability and the protection of the public. That's a different beast, though, and in the general case "engineering" a solution to a problem is still engineering, whether or not you have a piece of paper telling you it is.
7) Don't call people engineers when the appropriate term is "developer" or "programmer"
If you apply cleverness to solve problems, you're an engineer. Engineering is the verb form of ingenious.
This is a good point. Traditionally, engineering is more synonymous with structures, engines, tools etc. Where someone takes the prepared plans and develop the final product, they are referred to as a developer/builder/tool maker. Where (usually a team) e.g. architect/structural/mechanical/civil people etc.. work on the design/prepare the plan, they are referred to as engineers. Software developers or even software programmers take the prepared plan or design spec and write code. The software architect / software engineer (ausually a team also) etc.. are responsible for preparing the plan / design spec. Now to cap it all off - there is a middle ground - called an analyst/programmer who analyse, design and develop a solution. (The creative hair dresser - could also accommodate this spot middle ground).
Our friends with the iron ring (if Canadian) are very sensitive and misusing the term engineer will elicit tears.
To expand on this. It is illegal in Canada for anyone without a proper engineering degree to call themselves an engineer. For example a computer scientist cannot call themselves an engineer while a computer or software engineer could.
And yet, one place I worked on a Co-op term in Ontario gave me the title "Software Engineer".
Engineers precisely specify a problem and then build a solution that's correct to within a tolerance. I'm afraid I don't see the resemblance to programming.
A very precise definition of an engineer? Engineers build tools. Artists build amusements. Scientists build ideas. Programmer = Engineer.
By those definitions I'd consider Software Development as Sciartiginering. It's easier to say developer though.