What's the difference between a programmer, developer, and a software engineer?
Programmers: Stop Calling Yourselves Engineers
11–20 of 27 posts
Re: Programmers: Stop Calling Yourselves Engineers
#12For those who don’t care about the engineering profession, you can call yourself “software doctor” or whatever. I really couldn’t care less.
Re: Programmers: Stop Calling Yourselves Engineers
#13Re: Programmers: Stop Calling Yourselves Engineers
#14What's the difference between a programmer, developer, and a software engineer?
Calling yourself the first two is fine. Calling yourself the third without paying a bunch of money will get you a C&D from your local professional engineering body.
Re: Programmers: Stop Calling Yourselves Engineers
#15Oh man, can cannot emphasize enough how much i don't care about this. "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;" so what? Traditions change, names change, everything changes, software engineers will b…
Re: Programmers: Stop Calling Yourselves Engineers
#16So many words written protesting a natural evolution of language. Engineer started as a word meaning one who is skilled in the design, construction, or use of, surprise, engines. The word evolved in its use to later encompass other systems that can build: civil engineering (bridges and buildings), mechanical engineering (robots and mechanical systems), and computer engineering (actual hardware). Software is merely th…
I think what it important in this discussion is the fact that "software engineer" right now is an aspirational term and that we don't use formal methods to verify software behavior, and instead rely on changing best practices.
Egineering implies a more rigorous process than most software really gets.
Re: Programmers: Stop Calling Yourselves Engineers
#17Re: Programmers: Stop Calling Yourselves Engineers
#18In the lowercase sense of engineer, I think it is fine to say, "I have engineered this solution." But to claim one is an Engineer because you engineered a solution misses much of the point of progressional licensure.
I, of course, come from the perspective of a PE not a coder. I have no doubt that influences my opinion on the matter. It doesn't mean I think the word engineer has one and only one meaning, context is important.
To use the doctor analogy, to say one is a doctor is vague and requires context. To say on is a medical doctor disambiguates the statement. Same applies to engineer. The inclusion of context is needed to make sure you are not talking about one who operates trains versus one that does structural design.
TL:DR - Context matters, make it clear what sort of engineering you perform.
Re: Programmers: Stop Calling Yourselves Engineers
#19Re: Programmers: Stop Calling Yourselves Engineers
#20Every mature engineering field begins with failures. Henry Petroski [1], the archetype of the classical engineer IMHO, believed failure analysis was at the heart of engineering. Non-engineers, including scientists and health-care professionals, make the false assumption that the practice of engineering is deterministic. The goal of engineering is to understand systems well enough that they seem deterministic but engineering knowledge never starts off that way. The formal structural engineering standards represent a history of failures along with the best practice for dealing with each failure mode. The process is iterative, just like software development.
Neither the term "computer science" nor "software engineering" is an accurate description but as someone formally trained in engineering and computer science, I've yet to encounter a more accurate label. In my experience, the complaints about the term engineering are about credentialism and the solution is to use the term Professional Engineer for those who have earned the credential.