He uses the word "programmer" only for people that write code, and the word "engineer" for people that design technical solutions. Somebody can be both, a "programmer" and an "engineer", but a "programmer" is not necessarily an "engineer" if the actual technical design, strategy, and main technical questions are answered by another person (the "engineer"). This division of labour is a common model in some Big Co's (with ~50 programmers or more), not in small-medium size compaines or in the startup world.
IMHO this model is not perfect, but there is a point when the time of a high level technical person should not be wasted in trivial implementation details (whatever you call him "programmer" or "engineer")
http://earlyretirementextreme.com/scientists-vs-engineers.ht...
Of course this is mainly semantics, but I don't agree with the way the post uses the terms "scientist" and "engineer".
In my opinion, the difference between "scientist" and "engineer" lies in the nature of the work they do, not in the level of abstraction:
"Scientists" advance scientific knowledge.
"Engineers" design technology applying this knowledge.
I find the analogy kind of muddy, I believe that a programming language is a product of "engineering", not "science". "Engineers" had been using abstractions (black boxes) designed by other "Engineers" for quite some time now.
Correct. If you went through the comments in that post and the linked previous post, other people also went ballistic [precisely] because of the usage of the terms rather than the abstraction he was trying to make.
So, in the end it boils down to "point of view" of looking at things, leading to the fatalistic "to each their own" response. :-)
But being accurate about your job description isn't really what someone wants to know when they ask that question, is it? They're really looking for information about you, not your job. Your job title comes with a guess at a range of how much money you make, and what kind of activities you spend your time doing. Nobody really cares if your math is industrial or not. If you do a lot of math while you work, its entirely reasonable to say you're a mathematician. And since nobody knows what an industrial mathematician is, all they're going to hear is 'mathematician' anyway. :)
It doesn't help to promote poor stereotypes either, but Adam does it anyway. Its understandable and we all do it, but it sure would be better to fight the negative images than reinforce them.
"Today, they [mathematicians] produce papers for publication"
Here Adam is talking about math professors. Academics. A mathematician, on the other hand, is anyone who does math. Adam is a mathematician.
"People who design new technologies are engineers."
Not bad, but I like wikipedia's definition beter: An engineer is a professional practitioner of engineering, concerned with applying scientific knowledge, mathematics and ingenuity to develop solutions for technical problems. Adam is an engineer.
Re: analysts, he begins: "Working with pencil and paper..."
This just in, nobody except for sketch artists work with pencils anymore, and even most of them are on the computer. Analysts spend their time analyzing, and Adam spent multiple paragraphs describing his brand of analysis.
A programmer is a "person who carries out the specific instructions of an engineer".
Wow. How many of you does that apply to? Generally, the programmer is the engineer, no? I can't say I've ever met a programmer that definition would apply to, I can't think of one who ever took his technical direction from an "engineer".
"The programmer is carrying out the vision of another while my software is written to support my own vision."
That seems just a little exaggerated to me, since he works for a company just like the rest of us. And lest we forget the millions of programmers releasing their wares open source, or places like the Android or Apple app stores. Those are the people truly writing software to support their own vision.
"The computer scientist seeks a holy grail of computing."
I agree with this one, and I agree with Adam that he's not one. :) But, very few people who call themselves computer scientists are actually computer scientists. Most of them are programmers. Or engineers, if you like.
Consultants are "costly parasites in American business."
That might be true, but if you are a temporary or contract hire, or the result of your time is advice to a company, then you actually are a consultant.
Ultimately, using a categorical term is necessary when describing what you do to someone else. Its up to us to determine whether those terms are neutral categories or negative stereotypes.