8 ms·
Programmers should not call themselves engineers (2015)
- eru 10y ago> It undermines a long tradition of designing and building infrastructure in the public interest. The author should know that the word engineer comes from the military. > The term engineering itself has a much more recent etymology, deriving from the word engineer, which itself dates back to 1325, when an engine’er (literally, one who operates an engine) originally referred to "a constructor of military engines." (from https://en.wikipedia.org/wiki/History_of_engineering https://en.wikipedia.org/wiki/History_of_engineering)
- guessmyname 10y agoI recently visited Berlin to research about the German Freelance Visa [1] after being rejected by multiple local startups that were looking for Software Engineers with +3 years of work experience. I asked for feedback to one of them and was told that I should not consider myself an "engineer" because I don't have an university degree in the field, even with +9 years of work experience. I asked more people about the topic and most of them agreed that I should call myself a Software Developer instead since I am self-taught. What do you think about it? EDIT: To add a bit more, I don't mind the title, you always end up doing more or less the same things, many companies love the titles though. Some of my friends have titles like "Lead Developer", "Senior Software Engineer", "CTO", "Back-End Developer", etc and they all do pretty much the same thing that I do, so I don't see the point on nitpicking my resume. I will surely take the advice and start calling myself a "Software Developer" instead of "Software Engineer" because I agree that calling myself an engineer without a formal education is misleading. [1] https://service.berlin.de/dienstleistung/305249/en/ https://service.berlin.de/dienstleistung/305249/en/
- alien3d 10y agoTitle to me doesnt matter. I dont have degree either .Software arena moved to quick with lots of framework and new platform mobile. Most university will teach basic and some lecturer dont even understand what they teach at all.
- hackits 10y agoI don't see how you can say you're a Software Engineer when you don't have a national accreditation or standards body and peer review processes. Backed by research studies via Empirical evidence. Electronic Engineer, Aircraft Engineer, ect... Have more standards and accreditation backing them up. In other words half the fun is trying to figure out what they want.
- jventura 10y agoThis is what you can find on the wikipedia entry on engineers [0]: > The foundation education of an engineer is typically a 4-year bachelor's degree or in some countries, a master's degree in an engineering discipline.. I would add further that, following the above, a software engineer is someone who has a formal higher education in engineering applied to the design and implementation of software systems. Under these definitions, a developer without formal university education is not a software engineer, although he may be technical competent to design and implement software systems. In a nutshell, the difference is not on "competence" or "skills" but the lack of formal education.. [0] https://en.m.wikipedia.org/wiki/Engineer https://en.m.wikipedia.org/wiki/Engineer
- k__ 10y agoYes, German companies love their degrees... I work as a Freelancer too and all the German contract jobs 'require' a degree 'or similar experience'. In the end, explaining 'similar experience' is a struggle. You even have to pay less taxes if you do 'consulting of higher value' as a freelancer (called freiberufler status) but explaining this without a degree is a struggle too. In the end I'm happy about my B.Sc. in Computer Science. When I tell people I have it, I get no more questions asked...
- deleted 10y ago[deleted]
- eru 10y agoYeah, the Freiberufler status is crazy. I don't mind having grown up in Germany---but I don't miss never having worked there.
- analog31 10y agoFrom what I can tell, the main difference in the US is that most states have a so called "industrial exemption" which waives the license requirement for engineers who work for employers under certain conditions. Depending on one's field, (e.g., electrical and mechanical), most engineers are unlicensed. Also, the law in my state is less concerned with the specific title, than about what people actually do. In general, professions that could affect public safety are regulated. That includes haircutting, K-12 teaching, and engineering. Still, similar to what people do in Germany, my friends who have their own businesses, but are unlicensed, choose vague business names that avoid the words "engineering" or "design." My LLC is "technology."
- Jhsto 10y agoSounds harsh, but knowing that Germans tend to be direct I wouldn't read too much into it. Also depends on the role. Universities teach programming from an angle which optimizes computation time over human time, even though that's rarely what industrial programming is about. For example, just recently I asked my professor can I reuse code which would achieve the required behavior in one line over creating a completely new approach. The professor asked me why would I want to do it inefficiently. I asked isnt it efficient to do it in one line rather than reimplementing the functionality. He said that you are technically wrong, but proceeded to show me how to do it nonetheless. In addition, the programming languages used to teach things are old. We are still given examples in Fortran and C is taught on freshman courses. The academic world is vastly different. For that reason, if I would personally apply for a software engineer role which is about web application development and I would be said that I need a degree for that, it would raise a red flag for me.
- 13of40 10y ago20 years in the industry with no degree: Engineer is just a word. Call yourself that if it gets you the job.
- idiot_stick 10y agoEngineers are people who hold engineering degrees. I'm not sure how it became otherwise.
- JshWright 10y agoEngineers are people who build and operate engines. I'm not sure how it became otherwise.
- brianwawok 10y agoComputers are people who add together table of math facts to be used in artillery calculations. Not sure how it became otherwise.
- ubersoldat2k7 10y agoThat might be for the English term. On romance languages, ingeniero/ingegnere/ingénieur is based on the "ingenio" root, so an engineer is someone who uses their wit to build/solve something.
- JshWright 10y agoI am indeed referring to the Anglo-Norman etymology. http://www.oed.com/view/Entry/62225 http://www.oed.com/view/Entry/62225
- FLGMwt 10y agoMaybe degrees became less relevant (and even less feasible) for the burgeoning engineering practices. That is, assuming you buy into software as an engineering practice.
- 746F7475 10y agoI have a degree that says I'm an engineer, so I'll call myself an engineer thank you very much.
- k__ 10y agoI have a degree that says I'm an scientists, do I have to call myself a Software Scientist now? :D
- kalleboo 10y agoWhere I'm from, you can't call yourself an "Engineer" without holding an engineering degree...
- bshimmin 10y agoWhile I don't much like software developers calling themselves engineers either, it was hard not to read this and think that about a week ago I was reading all about a dam that seemed poised to fail and thousands of people had to be evacuated; or about a miracle of engineering, a skyscraper in SF that appears to be sinking (https://www.nytimes.com/2016/09/23/us/san-francisco-millennium-tower-dispute.html); https://www.nytimes.com/2016/09/23/us/san-francisco-millenni... or, oh, here's an entire Wikipedia page just for structural collapses: https://en.wikipedia.org/wiki/List_of_structural_failures_and_collapses https://en.wikipedia.org/wiki/List_of_structural_failures_an... My point, if I have one, is that Ashley Madison getting hacked (specifically mentioned in the article) was a pretty embarrassing calamity, sure, but I don't think anyone died as a result of a lack of proper collaboration and regulation in software development.
- varelse 10y agoEngineers have a way of falling on their swords when they #$%^ up that (at least in my experience) tech bros don't... http://www.theolympian.com/news/local/article42065382.html http://www.theolympian.com/news/local/article42065382.html
- lprubin 10y agoWhat about failures in medical software, airplane safety software, or military software?
- weddpros 10y agoMost planes crash because of something else than software... Most casualties in the medical domain are not caused by software... to say nothing about war casualties. It's not sand in the oil, it's the lack of a filter, that cause a crash. It's not human error, it's badly designed UI. It's not aging, it's improper material choice. It's not a manufacturing problem, it's a design problem with the manufacturing process. Software is just yet another imperfect engineering domain. It's too easy to point to software engineering as fundamentally flawed without looking at all the flaws in engineering(TM)...
- williamdclt 10y agoMy engineering school deliver engineers diploma certified by the Engineering Titles Commission, which is the only thing in France able to allow a school to make engineers out of its students. Thank you goodbye, do not make generalizations from how it is in your country.
- Quanttek 10y agoIt's the Atlantic, of course they will take about the U.S. unless eplicitly mentioned otherwise. Is the French software engineering diploma as rigorous as other engineering diplomas?
- ergo14 10y agoIn Poland at least you have Physics and Math that you have to pass like on other engineering fields. And you have to create thesis work that you have to defend in front of jury to get your degree. I'd expect it would be similar in France.
- hashkb 10y agoMany schools in the US also require physics and math for a CS degree. It's not the degree that's at issue, it's professional licensing and regulations.
- krotton 10y agoWell, at least in Poland (and I'm not sure about the rest of Europe) having graduated from an engineering school (a polytechnic) serves as formal licensing, even for classic engineering disciplines, like e.g. civil engineering. So in order to be able to take responsibilities and perform work of a civil engineer, you are required to have graduated from a civil engineering faculty, but have no additional certification after you do. Software development is also thought in polytechnics (among other options) and you formally become an engineer after graduation (though it has no real life consequences) - I'm formally a software engineer myself for example.
- 10y ago
- coldcode 10y agoMy title says Senior Software Engineer. I didn't choose it. In fact it said Lead Software Engineer in my offer letter but a reorganization changed a lot of people's title to be more generic. I don't get to choose my title. I have always considered myself a programmer but what my employer calls me is their business.
- danpalmer 10y agoI call myself a Software Engineer specifically because I see it as different to being a programmer. I don't just write code, I try to solve problems in a rigorous and maintainable way, while being aware of the wider implications of my work to the business, our customers, and anyone else who might be affected by it. Sure we don't have the same regulation as civil engineers, but I try to do my work in the same spirit. As part of this, I have a "masters of engineering" in computer science, which again, while not the same as civil engineers, still had a lot more wider study than a standard computer science degree. I think programmers should do more engineering, and I think they should be recognised as engineers when they do.
- hashkb 10y agoThis misses the point that all other types of engineering are regulated and licensed.
- hashkb 10y ago...or at least ignores it without a reason.
- Hyperborian 10y agoHas that always been? Were the first engineers regulated and licensed? By whom? Perhaps we're just looking at a category of engineering that is not yet at that level of maturity.
- Alex3917 10y ago> This misses the point that all other types of engineering are regulated and licensed. Software is going to be regulated, licensed, and unionized within the next ten years. The main reason it's not currently is because the best practices have historically changed every couple years due to Moore's Law, but there is about to be an extended slowdown that will give the industry the time it needs to get its act together.
- frou_dh 10y agoThere is a constant: people using memory-unsafe languages, and then collective shrugging after the same things have happened over and over. Cloudbleed? Old news by now...
- 0a 10y agohttps://www.reddit.com/r/gatekeeping/ https://www.reddit.com/r/gatekeeping/
- Quanttek 10y agoThis doesn't really fit as the discpline of Engineering was generally licensed and regulated where, in many countries, you could only call yourself an Engineer if you adheered to certain standards and got the respective diploma/license. Gatekeeping (in the pejorative sense) is about not clearly defined groups that members want to make exclusive against certain people/groups, e.g. being a fan of something ("you are only a true fan if you can name the last five albums in chronological order") When you compare the rigour (esp. in testing) of nomrla engineering disciplines and software engineering, you should be able to spot a difference
- Alex3917 10y ago- If you do primarily do work that involves making decisions about data structures and algorithms, then you might be an engineer. - If you primarily do the work of figuring out how to make business processes scale using software (and then implementing those ideas) then you might be a developer. - If you primarily implement tickets then you might be a programmer or coder. The idea of calling everyone who writes software an engineer is ridiculous, but so is the idea of saying that no one who writes software is an engineer.
- gspetr 10y agoFollowing this logic, anyone who manages engineers is a developer.
- Alex3917 10y agoI added a parenthetical to clarify. But to play devil's advocate, it's hard to argue that PMs and managers aren't 'developing' software, at least in the plain English sense of the word. (Although clearly you need to draw the line somewhere.)
- VLM 10y agoInterestingly that terminology fits in the building trades and we can only dream of making large scale software projects as predictable and reliable and human safe as large skyscrapers. That is a truly excellent analogy.
- eru 10y agoCost overruns are sadly all too common in construction---especially for anything that goes on below ground. That's where all the surprises are. Skyscrapers and bridges are less likely to fall down than software is to crash. But that's just different failure modes. Projects are still not very predictable.
- Exuma 10y agoI only call software developers "engineers" when they are in the upper echelon of skill level
- deleted 10y ago[deleted]
- vonklaus 10y agoUnfortunately my browser won't run The Atlantic's malware so I can't read the article.
- adityab 10y agoFor what it's worth, in Germany the title of Engineer is regulated and the correct term for those who write software (which goes in the contract) is "Software Entwickler" (Entwicklung means "development"). There's a few more complications here that I don't know very well. I don't completely agree with this because serious engineering work on software happens in many industries. But most software jobs clearly do not fit the description nor the implied seriousness of an engineering role. Other things that grind my gears: 1. The way the "Data Scientist" title is casually thrown around for those who are neither scientists nor know statistics. Everyone has a different idea of what the term means and (worst of all) feel that it probably applies to them. 2. "Tech" is a contraction for technology but people in the software industry (especially Americans) seem to use the term solely for Software.
- guitarbill 10y agoDefinitely true in Germany, I think it's also true in Australia and a few other places. However, the title "software developer" is also really common in English. Maybe even more common than "software engineer".
- eru 10y agoI think "Data Scientist" is alright, you just have to keep in mind how fragile and rackety lots of actual scientific code is.
- makkesk8 10y agoif you do work that's considered engineering, how can you not be an engineer? A fancy degree doesn't dictate what type of work you do. Just my two cents :)
- totalperspectiv 10y agoTell this to those reading resumes. Until then I will use the most impressive possible title I can reasonably use.
- ubersoldat2k7 10y agoExactly! Where do I get the JS Ninja diploma?
- eru 10y agoPlease post $100 and a self-addressed envelope to me, and I'll reply with your diploma.
- ganfortran 10y agoWhatever they want to call us, just don't care. More than OK to address myself as software developer, programmer, hacker, code writer, keyboard dancer, etc. Joke aside, what the heck is Certified? So your software skills can asserted, by written test, that last for several hours...? I refuse to acknowledge that online judge style algorithm questions could qualify or disqualify one person's capability to build software, it is like as civil engineers to build lego, bureaucratic BS
- hoozter 10y agoI agree with your mindset. This discussion feels extremely ego centric, imo.
- timthelion 10y agoAfter seeing some of the security flaws in Ruby on Rails, I have the impression that a book of standards for handling user data is needed. However, I do not have a degree myself, and I don't have much respect for higher CS education in the US. There have been too many certifications and education programs based on knowing APIs (which has nothing to do with good engineering), too many people learning Java and UML and comming out of college knowing nothing of use for the real world. I personally don't want there to become a profession of programming which excludes people such as myself. But if one does form, we need to make sure that it is based on actual technical principles, and not knowlege of a product be it Microsoft, Redhat or Java.
- drcode 10y agoWhat I think is funny about this is that I prefer calling myself a programmer because I feel like the term "engineering" has a negative connotation, whereas this article wants programmers to stop calling themselves engineers because they think "programmer" has a negative connotation.
- marcoperaza 10y agoIf mechanical engineers were unregulated and built unreliable cars, they would still be mechanical engineers. If doctors weren't a licensed profession, they would still be doctors. If barbers didn't need a certification, they would still be barbers. Defining an "engineer" based on how much regulation they must follow is kind of ridiculous. It's putting the cart before the horse. Which is not to say that the software field doesn't need regulation to improve the protection of customer data and the reliability of increasingly critical services.
- ubersoldat2k7 10y agoFunny, the first MDs were the town barbers.
- adityab 10y agoI disagree. Titles exist to provide an assurance to people that the services they get from title-holders will be above a certain standard, with the threat of a serious penalty if the work is sloppy. This is the social expectation in many societies. If I find that a doctor doesn't sterilize needles or wash hands, they should face a penalty (regardless of whether it actually caused damage). We shouldn't have to specify up-front in some contract that we want them to follow $RULES as a set of deliverables. This stuff is therefore regulated. I used to think differently, but now I feel that software engineers should be similarly regulated. That doesn't mean everyone will now have to follow a ton of regulations to slap together the next nodejs app, those people can still be called developers. But whoever is an "engineer" should ensure that the work is well thought-out and should stop the developers they supervise from moving fast and breaking things. It's time the industry "grew up" as a whole. If "software is eating the world", we need to be damn sure it's not sloppy.
- marcoperaza 10y agoI think we actually agree on the need for regulation. I just don't think being subject to regulation is necessary to be considered an "engineer".
- matteuan 10y agoTo be called Engineer in Italy, you need the specific degree and a special diploma afterwards. People from CS are an exception and they can access to the same title of the Computer Engineers. If you apply for a job with a CV that says you are an Engineer but you are not officially registered, you can be reported for fraud.
- kelvin0 10y agoPretty much the same here in Canada. In order to use the title 'Engineer' you need to 1) have completed your studies for an engineering degree at an accredited university 2) become part of your province's Engineering group with all this entails (exams,continuing education..) Mind you, many who studied Computer/Software engineering do become accredited Engineers (as per the legal term in Canada). But even if you completed your studies, it doesn't automatically give you the legal right to present yourself as an 'Engineer'. You can choose or not to become a 'legal' engineer, but in the case of software it's usually not necessary. Of course, the case is different for people building bridges and infrastructures, they pretty much have to become 'legal' engineers to be able to be on such projects. I find it's mostly in the US that the term seems to be used loosely. I might be wrong.
- psyc 10y ago"Software Engineer" is a title. It is not, and never was, a type of engineer. It is exactly the same as "Software Architect" in this regard, which is not a kind of architect. If a developer says "I am an engineer" it is only ever in the context of a tech company, where everybody knows what they mean. No programmer would say to their friends & family "I am an engineer" without any further context. "Software Engineer" does not denote any additional rigor, no matter how much you want it to. It may or may not connote rigor, depending on a dozen contextual factors that will tell you much more about the presence of rigor than the title will. It's a title. It means computer programmer.
- ubersoldat2k7 10y agoRight, my current title is "solutions architect" which has no meaning outside of the context of software. If someone, non-IT asks me, I'm a software developer.
- deleted 10y ago[deleted]
- techwizrd 10y agoThis article feels painfully misinformed. I am a brother of Theta Tau, the professional engineering fraternity. Many of my brothers are certified professional engineers (FE, PE, etc.) I graduated with a dual-major in CS/Math. I strongly disagree with this assertion that failures in tech make us undeserving of the moniker 'engineer'. Software systems are inherently complex, and we have built incredible testing tools, processes, continuous integration, monitoring systems, and infrastructure to add strong rigor to our discipline. As part of most engineering degrees, students explore case studies of where engineering went wrong and failed. I can assure you that there are many failures in civil engineering (see ASCE's report card), mechanical engineering, electrical engineering, and other engineering disciplines just as there have been failures in the tech industry. Licensure is not as applicable to the tech industry, and certifications have been cheapened by low-quality applicants. They've become a negative signal. Additionally, the tech industry, in my opinion, innovates at a significantly faster pace than the licensed engineering disciplines. Perhaps these are correlated in some way. Companies like Google are right not to overvalue degrees. If someone has the requisite knowledge and ability, it should not matter whether they learned from a book or on their own. Software interviews are significantly more rigorous that interviews in other engineering fields. Civil Engineers are not expected to be able to whiteboard open channel flow problems during an interview, but software engineers are expected to answer multiple interviews of algorithms and system design questions. This article is just long-winded, useless rambling. Rage against Silicon Valley all you want, but we call ourselves engineers because we _are_ engineers. Software runs critical infrastructure in medicine, finance, aeronautics, traffic control systems, the electrical grid, and even the internet infrastructure used to deliver this nonsensical article. I suggest the author read about incidents such as the Therac-25.
- gspetr 10y ago> Additionally, the tech industry, in my opinion, innovates at a significantly faster pace than the licensed engineering disciplines. Perhaps these are correlated in some way. I think you're right. Regulation stifles innovation. Even in a narrow sense, thinking software alone, everyone knows the saying "Standard library is where modules go to die", meaning that there are stricter requirements to make it to the standard library in the first place and stricter still to update them once they've made it in.
- deleted 10y ago[deleted]
- daleco 10y agoIn France, only certified school can deliver engineer degrees, it's a symbol of a high standard of competence and quality. They are required to teach core engineering classes and other topics (biomechanics, signal processing, management, neuroscience...), industry experts also have to come and teach. One of their goal is to teach the students how to analyze a problem from different angles. We learn a lot more beside software engineering.
- bArray 10y ago>The term is probably a shortening of “software engineer,” but its use betrays a secret: “Engineer” is an aspirational title in software development. Traditional engineers are regulated, certified, and subject to apprenticeship and continuing education. Engineering claims an explicit responsibility to public safety and reliability, even if it doesn’t always deliver. Well, at least in the UK, software engineers are uphold by the BCS code of conduct [1]. Our first responsibility is (at least should be) safety. Like "traditional" engineers, we build the bridges and structures of the virtual world, but the impact on what we do can still have real life changing consequences. The fact that we aren't certified and regulated is a result of us being self-regulating, meaning that we can move quicker in our industry. Many other industries have this arrangement, such as advertising. I would say that we are not as bound to delivering a fully reliable product, as long as there is enough in place to make it fit for purpose and safe. This is the same as engineering. Lifts regularly break down at our local library, but never do they suddenly plummet several stories. A bank App can crash, but never can it leak information. [1] http://www.bcs.org/upload/pdf/conduct.pdf http://www.bcs.org/upload/pdf/conduct.pdf
- t_fatus 10y ago> “Engineer” is an aspirational title in software development Some engineers aspire to, allow me this reserved term, 'build' software. And doing so fulfill their role as engineers, by doing it correctly. Some of this software later is used by so depicted real-hardware engineers to model their bridges before starting building them, their planes before flying in them. Would id be possible without engineers in software ?
- zb 10y agoThere's actually a potentially good article in here, about how the software development community is failing to uphold its obligations to the public interest. Unfortunately it's struggling to escape from yet another entry in the tedious genre of "software engineer (sorry, programmer) who has never worked in, or even read a book about, any other engineering discipline assuming that he knows everything about how they work". It's ironic that he cites the failure of the NATO "Software Engineering" conferences as evidence that software development is not engineering, when the idea of those conferences was that "programmers" would be the assembly-line workers in a software manufacturing process. Software development is a design process, not a manufacturing process. That's why we call its practitioners software engineers: http://www.zerobanana.com/essays/reclaiming-software-engineering/ http://www.zerobanana.com/essays/reclaiming-software-enginee...
- Spooky23 10y agoThe problem with all of these arguments is that everyone is right. You can absolutely treat software development as a manufacturing process. It is sure as hell not appropriate for many situations, but is possible.
- kapauldo 10y agoStupid snobbery. Reminds me of the hall monitors on stack overflow who flag useful posts as off topic.
- deleted 10y ago[deleted]
- dekhn 10y agoMargaret Hamilton was a software engineer. Read up on the processes she and her team used to build the Apollo computer software and you'll realize, there really is a higher standard that software engineers could be held to.
- kemiller2002 10y agoAfter I read this article I was quite upset, but really I wasn't angry as I was as much hurt. I actually don't like to call myself an engineer. I don't like the title, because I don't think it represents how I work and what I do. I don't follow a strict rigorous process, my job allows me to be free and agile (no pun intended) which is quite different from building engineers, mechanical engineers etc. Where I live developers, programmers, etc. have never had the prestige that other science like professions have had. Most of the time when you talk about what you do, it's often a look of either confusion, or ambivalence because "Excel is on a computer, so programming can't be much different." A lot of companies belittle programmers, because "everyone can learn to program." Programming is hard, and this isn't to insult other professions. A lot of them are hard too. It's just that a lot of developers want to be respected for what they do just like everyone else and that's normally missing. This article, although in my opinion correct about not calling developers engineers, seems to ignore that what developers do is highly technical and quite complicated. Developers saying they're engineers puts that force of science and process behind it, and it's a defense from someone equating their basic class in HTML to mentally tracing how a request is going to trace through 100 servers in different regions. Personally, I don't want to be restricted to being an engineer. I love the freedom to rapidly alter how I work, and most of what I work on will not cause harm to others. I am sure I speak for all developers, and what everyone really wants is to be counted among the other people who have challenging professions and respected for what is accomplished.
- goalieca 10y agoITT: a bunch of people without engineering degrees calling this engineering. Programming has far more in common with a trade than a profession. Just the process software is developed under should make that very obvious. Software developers are more like electricians than like electrical engineers.
- Upvoter33 10y agoOh give me a break. People who build things (whether in the physical world or not) are engineers. Anyone who has worked at a serious software company knows it's an engineering profession. A more constructive approach would be to say "hey, here are some things engineers have learned over the years; perhaps some of them would be useful to those who build software for a living?"
- eru 10y agoAnd the other way round. Version control is terrifically useful eg for architectural drawing, lawyers drafts, contracts etc---but the non-computer professions are only slowly taking it up.
- ponderingHplus 10y agoThe term "engineer" is regulated in Canada, and only Professional Engineers (PE) awarded a licence by their provincial regulatory body can call themselves as such. Someone who graduates with an engineering degree is usually called an Engineer in Training (EIT), until they become a PE. The reason we regulate a specific word for our profession is because of our relationship with the public, and the ethical and safety promises engineers are regulated to commit to the them. The average person does not have the technical background to judge the proficiency of an engineer, so they must trust in their abilities and morals. In Canada, engineering is a self regulated profession designed to uphold high technical and ethical standards so that we can maintain that trust society gives us. The intention is, that when someone calls them self an engineer, you can have confidence in both their technical ability and moral obligations. To be effective, the standards of the term and definition of who can and can't use it needs to be regulated. That being said, I normally refer to myself as a chemical engineer (not a chemical EIT). I think the distinction needs to be made when you're interacting with someone that you are offering your engineering services to. For example, when at work I would always sign my emails indicating that I was an EIT.
- Panini_Jones 10y ago> The intention is, that when someone calls them self an engineer, you can have confidence in both their technical ability and moral obligations. I thought the intention was that, even if someone didn't have confidence in both their technical ability and moral obligations, it didn't matter. An engineer is a person whose technical decisions are literally protected by law - if they decide to not sign off on something, they don't have to convince anyone and can't face consequences for it (ahem, Quebec bridge[1]). What you're suggesting is just a byproduct of confidence in the system. [1] - https://en.wikipedia.org/wiki/Quebec_Bridge https://en.wikipedia.org/wiki/Quebec_Bridge - Search for 'iron ring'
- ponderingHplus 10y agoI'm not sure that I fully understand your comment, but what I mean to say is that the intent of regulating the specific word is so that everyone has the same understanding of what using that word entails, when applying it to the profession of engineering. What you say about an engineer's decisions being legally bound are true, but that helps provide confidence in the work engineers do, but isn't the reason for regulating a specific word. I feel like I might be missing something in your comment though, sorry if this doesn't address what you were getting at.
- agumonkey 10y agoSome of them can, I remember articles of people solving problem with hard numbers and theories (bandwidth, maximum stack space, ) bridging mentally high level applicative layer and the low level one. I never saw this kind of methodology in my computer classes.
- t_fatus 10y ago'Engineering claims an explicit responsibility to public safety and reliability, even if it doesn’t always deliver.' -> that's exactly why some programmers NEED to be engineers. And some are indeed 'verified' engineers (the author seems to deeply care about the fact that there are some regulation behind this word), like myself and lots of my 'programmers' friends from engineering schools. And yes we also have 'programmers' or 'developers' or 'coders', to whom we need to explain engineering principles.
- booleandilemma 10y agoThere is a title arms race happening with programmers. If everyone is going to call themselves a Software Engineer on LinkedIn, and I decide to label myself as a Developer, or even worse, a Programmer, I'm going to miss out on opportunities that the "engineers" are going to get. If you don't want programmers calling themselves engineers, just make it illegal for us to do so. I know Texas and Canada already do.
- eru 10y agoIf you are relying on LinkedIn to get opportunities, you are going to miss out on a lot of them. (LinkedIn is a joke. And nobody gives a damn about what people call themselves.)
- booleandilemma 10y agoI know there is a lot of hate for LinkedIn here, and I agree 90% of LinkedIn is crap, but I did get my last job through LinkedIn, so I have to admit it's not all bad.
- eru 10y agoYes. It just feels like a bad dating website most times. Btw, I had a much better class of recruiter propositioning me on stackoverflow's careers website: http://stackoverflow.com/jobs http://stackoverflow.com/jobs Can recommend. (And I don't even have any real karma on stackoverflow.)
- analognoise 10y agoI have mixed feeling about this. Having worked at {big defense Corps}, I knew that some extremely competent technical people were technicians. I also discovered that back in the 60's or 70's, if you showed a spark, they'd pay for you to go to school while you worked. Today, you can't get your foot in the door without a technical degree, AND you will be constantly dismissed even if you are right. Oh, the engineers know when a technician is right, showing initiative, and absolutely killing it - but I saw Senior Management actively disregard them, because they aren't engineers. The engineers had to say, "hey, he's right, we should all listen". This happened multiple times. It used to be at some places that every X years as a technician (I think it was 4?) was ranked as 1 year as a full engineer. Sure that's slow - but you got heard, and combined with the "bright spark" incentive above, was a great way to identify talent that didn't take the traditional channels. I think "moving fast and breaking things" is a feel-good way to paper over incompetence and poor planning, but I've also seen the degreed set not be as competent as the technicians. I have no idea what the right answer is - except to say that industries where lives are on the line (medical devices, aerospace, etc) do have strict guidelines, responsibilities and take it very seriously - this makes me think the author is just taking a dig at people - it appears as discord without direction, to those in the field.
- throwaway2016a 10y agoI think a lot (not saying all/most) of these comments can be summed up as: No, Software Engineers are not engineers on a technical level but they do the work of engineers[1] and the fact the industry has not caught up doesn't make what they do any less engineering. [1] They are using math to solve real world problems that have billions of dollars and in many cases lives depending on them. For one, I am sick of being called "not an engineer" when I bear more responsibility in dollars and livelihoods and use math more extensively in my job than most mechanical and electrical engineers I graduated with. In college I took all the same courses as the "real engineers"... I'm only a few credits shy of an Electrical Engineering degree. The "technician" majors took different courses. Less calculus, less physics, etc. Heck, my stuff gets attacked by hackers on a daily basis. Show me something a civil engineer built where they need to worry about the level of security needed to protect against something like that. No one blames the civil engineer because they didn't explosion proof the road. In fact a lot of the firmware I have seen Electrical Engineers write is terribly insecure and poorly written. Stuff a well trained Software Engineer would feel embarrassed about. No, we are not legally engineers. But we should be.
- creatornator 10y agoYour main point aside, your experience having taken more math and physics courses than "technicians", and bearing "more responsibility in dollars and livelihoods and use math more extensively in my job than most mechanical and electrical engineers I graduated with" is anecdotal evidence. I am not even done with my BS/MS EE degree and I've already taken more math and physics than my CS peers will ever take. This will change from college to college and degree to degree. You are right about the state of firmware though--security practices in IoT are often pretty terrible. Perhaps that points to an inadequacy in the licensing/regulation system that we have in place. I think most people in the comments could agree that the word "Engineer" implies rigorous certification--once software development has the same, then it could be considered Engineering.
- throwaway2016a 10y ago> This will change from college to college and degree to degree This is most likely very true. But in that case perhaps Computer Science should be split up into two majors with one being more rigorous. In my college the CS major was very rigorous and was even accredited as an engineering program. > I think most people in the comments could agree that the word "Engineer" implies rigorous certification I don't agree with this one. For one reason: Almost all my engineering friends didn't bother getting their PE after getting out of college. Many didn't even get their FE. yet they still do engineering work. I only know one or two who actually did. At least in the US most medium size companies only have one or two PEs that sign off on projects. But the people without the PEs still use Engineer in the job title. So even within electrical, mechanical, and civil engineering having the word engineering in the job title does not imply any sort of rigorous certification.
- mcnamaratw 10y agoThe article is silly. I've been an engineer forever and I don't think I know a single engineer who is regulated, certified, or whatnot.
- vatotemking 10y agoStill better than calling yourself code wrangler/ JS ninja. Kidding aside, whats stopping software dev from being regulated and certified in 2017? The previous reason I heard of was that tech changes too rapidly to be standardized.
- eru 10y agoWhere's the demand for that? Companies don't even trust university degrees right now. The most a degree gets you is a foot in the door; you'll still have to pass a grilling technical interview process. Making certificates an official requirement just raises artificial barriers to entry, but won't make people actually better. (If you have a good idea for how to certify actual competence, I am all ears. I'd like to upgrade our hiring practices, too. The current prevalent interviewing style puts way too much emphasis on confidence---which works for outgoing people like me, but we are missing out on a lot of good people.)
- vatotemking 10y agoI think the presence of this article indicates that there is a demand. > Companies don't even trust university degrees right now. This might be true in the US but may not be in other countries. I just read on a separate comment how the label "engineer" requires a degree in Canada and EU and has legal repercussions if used otherwise. > Making certificates an official requirement just raises artificial barriers to entry, but won't make people actually better. I think it would actually raise the quality of software and bring order/accountability to this otherwise chaotic and "wild west" (ehem JS ecosystem) world of software dev. And the low barrier of entry is a two edged sword. On one side, it does allow more people to code. On the other, more people = more less-talented devs thus more crappy software.
- eru 10y agoI don't know, maybe my perspective is particularly weird: I've been working in Haskell and OCaml most of my career (apart from a stint at Google) which tends to keep out the riff-raff people seem to afraid of, but I don't have a degree.
- deleted 10y ago[deleted]
- random3 10y agoOf course programmers are not engineers. Nor are space shuttles controlled by software, nor nuclear missiles, x-ray machines, planes, drones or self driving cars. Nope that's all pure engineering. Zero software. And of course engineering is only about bridges and public safety and Chernobyl didn't fail because of a flawed reactor design, nor did the Fukushima disaster happen because of regulatory capture.
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- dang 10y agohttps://hn.algolia.com/?query=Programmers%20should%20not%20call%20themselves%20engineers&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0 https://hn.algolia.com/?query=Programmers%20should%20not%20c...
- threatofrain 10y agoThere are so many kinds of engineers, and I have little doubt that the author cherry-picked picked the situations that helped their worldview of engineers, while suppressing examples they don't like. Like there are biomedical engineer, a hardware engineer, a petroleum engineer, the agricultural engineer, etc. These people don't obviously have a united ethic of placing public benefit first. The petroleum engineer is under no obligation to think of the public good. If anything, they are obligated to think of the employer's good. To me, an engineer is a classification that separates you from a scientist. An engineer is mostly interested in applying knowledge, whereas a scientist is principally interested in producing new knowledge. The line is blurred when scientists are interested in applications, and engineers produce new ideas during practical circumstances. In that way, a doctor is an engineer, but I'm not going to insist that doctors professionally rebrand themselves to fit my pet perspective.
- yellowapple 10y agoI call myself an "engineer" in situations where there's really no better fit. Neither "programmer" nor "sysadmin" fully capture the scope of my typical roles, and I do tend to take an engineer-like mindset when building things (shooting for "move slow and prevent breakage" over "move fast and break things").
- taylodl 10y agoThere are some regulations for software. I work for a U.S.-based electric power utility that owns and operates a nuclear power generating station. There are most definitely regulations addressing the software used in the operation of that facility. But that's an extreme case. More generally, I see programming as a skilled trade and not an engineering practice. In my worldview programming is akin to carpentry, plumbing, electrical work, etc. Yes, one needs an aptitude for the job and some technical training - maybe even an apprenticeship - but by and large we should see programming as a skilled trade. Viewed in that context Peter Thiel's comments about education make sense - we don't insist plumbers and carpenters get 4 year degrees to practice their trade, so why do we insist that for programmers? For software projects whose failure would cause tremendous harm to the public, either physically or financially, then I could see having a certified software engineer oversee the construction of that system. I don't see this as any different than how we build buildings. Certified engineers/architects design the building, review the design and inspect each stage of the build process and final result while tradesmen build the building. This model prevents us from overcorrecting and insisting all programmers become certified engineers - that's not necessary.
- erdojo 10y agoAll people who write code are programmers. But some programmers are also engineers. Most notably, those who architect systems and invent new technologies.
- dczmer 10y agothis is like the fifth time i've seen this same flame-bait article reposted. Engineer: - a person qualified in a branch of engineering, especially as a professional. - the operator or supervisor of an engine, especially a railroad locomotive or the engine on an aircraft or ship. - a skillful contriver or originator of something. if you're upset because you don't feel like simple programmers should call themselves "engineers" because they didn't spend 7 years in an expensive college to earn the title, or because they are not making physical bridges and buildings, consider the following: 1. software "engineers" build (software) machines for people to use. they have to take technical requirements and turn them into structure and functionality. 2. most software design is an iterative process: you have to make solid foundations to build upon and it's a skill that has to be acquired through experience. i.e. you build infrastructure. 3. it's not rocket science, but programming (and related skills like network administration) are highly technical and take lots of practice and study to become proficient 4. often have to build things within a constrained or otherwise limited context. given a problem to solve and a list of requirements and constraints, design a solution Now, that being said, not every "engineer" is a good engineer.
- gibbitz 10y agoI wish Real Estate Moguls would stop calling themselves "Developers".