Live data from Hacker News

Why Computer Programmers Should Stop Calling Themselves Engineers

theatlantic.com

11–20 of 25 posts

Re: Why Computer Programmers Should Stop Calling Themselves Engineers

#11
I disagree. Engineering is a discipline that has evolved over time. There were plenty of engineering mistakes throughout history as new technologies emerged. As lessons were learned, more structured approaches were devised.

Software, especially in large scale, has been around for a very short time. We're still in the learning phase. The "software engineering" problem is still unresolved: we still don't really know how to be successful at software.

Software projects are still a crap shoot, but we're better at it now than we were 20 years ago. I think when we talk about software engineering, we talk about organizing successful projects. There are many things that were invented to make the process more structured, such as agile planning, rapid delivery, continuous builds, improvements to software architecture practices, improved tooling, etc. People who built cars at the turn of the 20th century usually sucked at it, that didn't necessarily make them charlatans.

I agree that not every computer programmer can be called a software engineer, just as a mechanic is not necessarily a mechanical engineer. This doesn't mean that a new industry is somehow inferior to an established one as far as the evolution of its approach to problem solving goes. We simply haven't figured out how to separate "mechanics" from "engineers" yet, but we are working on it.

Just because this trade is still very young, it doesn't mean that we're not in the process of developing an engineering discipline.

Re: Why Computer Programmers Should Stop Calling Themselves Engineers

#12
Why does a chemical engineer have more in common with an electrical engineer than a software engineer? The term engineer has been diluted ever since it first referred to people who made weapons for war.

Speaking of which, let's not pretend that everything an engineer makes is magically beneficial to society. Engineers have a hand in creating: low-quality garbage, harmful materials, weapons, sprawl, low-quality buildings, obesity, and on and on and on.

Re: Why Computer Programmers Should Stop Calling Themselves Engineers

#13
I guess I share author's sentiment quite a bit. Personally, I don't call myself an engineer even though I'm legally entitled to. Engineers build bridges and houses and space rockets. I just code some trivial stuff for a company.

When getting my engineering degree I actually felt proud. I even bought a safety helmet and wore it for my thesis defense, as a symbol. But just after getting the degree I came to the conclusion that my friend captured in words as: "If I'm an engineer, then I'm afraid to visit a doctor". That is, our (software) engineering titles were awarded for doing mostly simple shit (programming) any high-schooler could learn in his free time, and enduring academic bureaucracy for 3 years. We didn't feel proud of our skills.

Since then one of the things that fuel my drive to learn and improve in hardware-related skills and natural sciences is the feeling I need to at least learn something to make myself worthy of the title bestowed upon me.

Re: Why Computer Programmers Should Stop Calling Themselves Engineers

#14
post #4

I think it's pretty simple: you can call yourself an engineer if you graduated from an engineering program and have a P.Eng otherwise you're not and depending on your jurisdiction you may not be able to legally use the title.

That's tossing out an awful lot of people - the vast majority of PEs are in civil or mechanical. It isn't necessary for almost any other field - electrical, chemical, materials...

Agreed, addressing the fact that it's a self fulfilling prophecy at this point is a whole other issue. If very few developers are professional engineers, even less new graduates can become one.

Re: Why Computer Programmers Should Stop Calling Themselves Engineers

#15
post #4

I think it's pretty simple: you can call yourself an engineer if you graduated from an engineering program and have a P.Eng otherwise you're not and depending on your jurisdiction you may not be able to legally use the title.

Meh on the degree. I've known quite a few people without degrees who can engineer rings around folks with those pieces of paper.

If there needs to be a test, make it like the Bar; you don't have to attend law school to pass (though it helps a lot!). Actually measure the thing being controlled or categorized.

[Licensing comes up every once in a while. The last time I looked at one of the licensing programs for software, it was about fifty percent EE. Really not sure what impedance and amplifier design have to do with writing software. Frankly, it looked like a politically motivated power grab by some folks who wanted to gatekeep the market. "Nice career you have there, bub; it 'ud be a mighty shame if something . . . happened to it, right?"].

Re: Why Computer Programmers Should Stop Calling Themselves Engineers

#16
Next we can expect an article about how giving someone the title "Engineer" can give them some dignity and increase retention rates.

"sanitation engineers" should only refer to themselves as Waste collectors http://www.thesaurus.com/browse/sanitation+engineer

A "property engineer" was sent up to my sister in law's hotel room to unclog the toilet after my nephew finished his business there. http://www.maintenanceresources.com/referencelibrary/ezine/h...

Re: Why Computer Programmers Should Stop Calling Themselves Engineers

#18
Engineering is usually considered to be concerned with the application of science and math to build systems and solve problems. On a continuum with pure math on one end and applied physics on the other, most things that we think of as engineering fall more toward the applied physics end.

Computer science is much closer to pure math than chemical engineering for example. That said, I think computer engineering is a real thing and just because SV uses engineer as an aspirational title doesn't mean that writing code has nothing in common with engineering.

Software manages all kinds of critical systems from automobiles like the author mentioned, to auto-pilot in airliners, and control systems in power plants.

Maybe one day we'll have a recognized PE designation for pure software engineers too.

Re: Why Computer Programmers Should Stop Calling Themselves Engineers

#19

Engineering is usually considered to be concerned with the application of science and math to build systems and solve problems. On a continuum with pure math on one end and applied physics on the other, most things that we think of as engineering fall more toward the applied physics end. Computer science is much closer to pure math than chemical engineering for example. That said, I think computer engineering is a re…

I think that software engineering is related with practices.

If you are capable (and understand):

+use a build and deployment system,

+use a testing suit/framework whatever,

+a bug-tracking system, a source control,

+good practices of programming (programming styles, pertinent programming patters, etc),

+capable of do good estimations (cost/time/human resources) to tackle a problem,

+you are capable of understand the pros and cons of software architectures (i.e. client-server, distributed, pipelines, multilayered system, etc),

+do metrics and estimations of progress (not only bugs found/corrected but also milestones met)

+and develop a roadmap (for example understand what tasks are blocking, what goals are reachable, what are secondary or skip-able, and what is shippable).

Then you are pretty much a software engineer.

Now this is not structural or civil engineering, and are not comparable. For example given favourable conditions (good foundations, no mayor disasters or other problems) a civil engineer is almost guaranteed to come up with a viable bridge design. But for software the design are not only the sketches, or diagrams, is the code itself, and even with favourable conditions (money, people, time) your software might fail.

Now for me a CS they are more good to do models. They are good to reduce a problem in models that are more close to logic and mathematics and therefore are more apt to be tested and proven. Yet that doesn't mean they could solve a software problem either. They could prove the model, but that doesn't mean that the model is realistic or that the best answer to a specific problem.

Post reply on HN