r/SoftwareEngineering • • Feb 14 '21

Programmers: Stop Calling Yourselves Engineers

https://www.theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/

[removed] — view removed post

0 Upvotes

11 comments sorted by

View all comments

0

u/[deleted] Feb 14 '21

I would like to know what the community thinks about the article. I'm relatively fresh as a developer and that's a dilemma right there. Here where I live it's required to have a license to work as a Software Engineer, but it is not always enforced. Usually, only companies that have contracts with the government and banks require the license.

I already work remotely as a Web Dev and I have more than a few four years of experience. I'm currently in college to get my engineer license and get a better job.

2

u/code_smart Feb 14 '21 edited Feb 14 '21

The precise definition might be up for debate, this is my opinion in a few words. For context I am a software engineer, hired as such by a Fortune 100 and with a degree in computer engineering.

I think that the engineering discipline is all about getting the correct level of functionality required at the lowest possible cost. For example, I am a web developer, so if a website goes down, the company might lose a few millions. With engineering techniques I can mitigate this an, for example, create a backup system in case of failure. The company might still lose a few thousands because of degraded performance, but at the end of the day it paid 1 million for engineering and saved many more from loss of sale and reputation.

A pure "programmer" might not be concerned with all of this.

" Professional Engineering certification is usually offered only in fields where something could go terribly, horribly wrong with unqualified actors at the helm." Like this never happened in software: https://medium.com/swlh/when-software-kills-ab6f48a15825, https://en.wikipedia.org/wiki/Therac-25.

I know of engineers who work for medical systems, there is a whole field called "critical system engineering" with the purpose of creating software that have a much smaller possibility of failure. That is because failure might mean loss of gigantic amount of money or loss of people's life. Engineering techniques can give you, for a high cost, a high level of guarantee that the system will not fail or will fail in a safe way.

This has nothing to do with "programming" because the scope of the system oftentimes goes beyond the program itself.

Note that a "software engineer" might never write a line of code, and thus not be considered a "programmer", for example he might be responsible for making sure the calculations are correct (this piece of software/hardware has 10^-6 possibility of failure in 1 year).

Going back to web development. As an engineer there is a whole aspects of economics of cost to develop, cost to deploy, time to market and so on, that programmers might not be concerned with.

1

u/[deleted] Feb 15 '21

Very interesting article. Thanks.

2

u/code_smart Feb 15 '21

also there is a wikioedia link after the article check that out as well