9 ms·
So a plumber is an engineer. It’s easy: an engineer is someone who has a degree in engineering (whether or not such degrees should be degrees on engineering is
by tkiolp4 5y ago
So a plumber is an engineer. It’s easy: an engineer is someone who has a degree in engineering (whether or not such degrees should be degrees on engineering is another question). The current trend of calling programmers/developers engineers is a pure business trend (it originated in HR departments).
- ffhhj 5y agoYou know, some programmers build game __engines__... More seriously, the first programmers were electric/electronic engineers, so the engineer title was probably inherited. And game engines actually require lots of math and physics.
- tkiolp4 5y agoI don’t doubt working on game engines is hard (I do web development). If you build game engines then you are probably a game engine developer. I don’t hold a degree in engineering myself; no shame of not having the “engineer” title.
- AlotOfReading 5y agoDo you think engineers existed prior to the 18/19th century when degrees became a thing? It seems problematic to your definition that most of the wiki page on engineering is dedicated to things done by non-engineers.
- tkiolp4 5y agoIt’s a simplistic definition. Since the topic of calling developers engineers is rather superfluous, I think we should go for simple definitions.
- kelseyfrog 5y agoI can think of many simple yet incorrect definitions. They have as much utility as this one.
- ctxDpnds72 5y ago
- a_wild_dandan 5y agoAlso there are people without any degrees that do far more engineering than many developers who hold software engineering degrees.
- kevin_thibedeau 5y agoThe engineering process is to apply design tools to architect a solution with expected performance before anything is built. In traditional engineering this generally boils down to mathematical models that dependably replicate expected behaviors to a known degree of error. Building happens after the modeling says a solution is possible. With software, true engineering only happens if the development model can follow such a process. Nobody wants to put in the work to do this for all code though.
- closeparen 5y agoUpfront-heavy design is a cost saving adaptation to the constraint that experimentation with large scale structures is expensive. Even then, traditional engineering disciplines are very much into prototypes, scale models, and intricate test and measurement apparatus.
- shkkmo 5y agoUpfront design is one of the methodologies of engineering but so is trial and error. Being a good engineer is adopting the right combination of methodologies to fit the problem space. Being a good software engineer means knowing what you should plan out in advance and what you need to test and design as you go.
- woah 5y agoAs he says in the article, many engineers in the past had neither a degree nor a certification. And they were certainly building "real things".
- deleted 5y ago[deleted]
- Tossrock 5y agoDepends on what the "plumber" is doing. Certainly there are plumbing tasks (eg pipe sizing for a chemical plant) which I would qualify as engineering. I would qualify it that way because they probably had a series of constraints (must transport X liters of substance Y / second at Z temperature, fit within service routing of the structure, minimize cost, etc etc) which they optimized against. I think a plumber who, say, fixes a sink, is not doing a similar process. Between those points lies the gray area of subjectivity!
- sudosysgen 5y agoMany chemical engineers do mostly plumbing. If you're really great at optimizing plumbing for a large range of conditions, then yes you're doing an engineer's job.
- kevin_thibedeau 5y agoAn engineer doesn't just wing it because they're "really great" at it.
- AnimalMuppet 5y agoI don't know what part of "optimize for a large range of conditions" sounded like "wing it". You can't do that by winging it.
- taneq 5y agoProjection, probably. ;)
- bumby 5y agoUnfortunately, an awful lot do, even the licensed/degreed engineers. I have lots of anecdotes from personal experience that indicate many are more technician/tinkerers than engineers.
- goodlinks 5y agoAt uni I had one course in software engineering. It was different to other courses as it was about defining metrics and constraints, measures of success, requirements etc. As well as evaluating what building blocks you had available. To me the term didn't come from HR it came from trying to get "programmers" to think in terms of constraints, value, risks etc. Seems a pretty clear and simple definition. The reason I think its not taken off in the same ways as say mechanical engineering is because in general customers cannot actually see the product, only certain elements of its outputs. If you couldn't see bridges either in use or after a failure. You just saw cars disappear at one end and appear at the other, not even able to measure the gap or time taken to cross in any meaningful way then structural engineers would bullshit and self grandise as much as software engineers. Maybe one day the average person will know enough to hold us to account, then we will begin engineering properly.
- epolanski 5y ago> To me the term didn't come from HR it came from trying to get "programmers" to think in terms of constraints, value, risks etc. Seems a pretty clear and simple definition. The trend of giving high sounding titles started decades ago as more and more educated people entered the workforce and involves all jobs. Manager? Vice president. Secretary? Executive assistant. Developer? Engineer. Reports and collects some data for his bosses? Data analyst. Warehouse worker? Logistics and distribution specialist.
- vineyardmike 5y agoNot to nitpick your point too much, but VP tends to have a specific meaning, even if its given to many employees. Usually, it means that this employee can sign contracts or make certain regulatory commitments on behalf of the company. Its not always self-aggrandizing.
- Godel_unicode 5y agoIt absolutely does not usually mean that, there are a ton of finance VPs that nobody would ever let sign anything meaningful without someone up the chain reviewing it. There are also tons of people who sign contracts for companies who are not VPs. There are companies where VP is really just about comp; all jobs above $x/year are some flavor of VP, even ICs. It doesn't have to always be self-aggrandizing for it to be true that lots of people are now called VP who used to just be middle-managers.
- deleted 5y ago[deleted]
- askonomm 5y agoI don't think so. Software engineering, and by extension, software engineers became a thing in the 60's. Margaret Hamilton coined the term ~'63.
- balls187 5y ago> So a plumber is an engineer Yeah, we call them civil engineers. In the US, in order to be an engineer one either had to have a license to call themselves an engineer, or a company could confer that title to employees. These days, it's less about the specific education, and instead the process of solving problems. Engineering is a discipline which may be applied to many domains, including software. I define an engineer as someone who uses fundamental principles and processes of science and engineering to solve real world problems. Our customers need to ask a skilled expert a question and receive an answer. If I merely implemented code to achieve this goal, I would not consider that engineering, but rather coding. Instead, if I first defined the problem statement, gathered requirements, documented assumptions, broke down the problem into discrete deliverables, defined metrics and success criteria, and created a plan of record, that would be engineering. I have a formal education in engineering, and aside from the mathematical and science fundamentals required for engineering, a large portion of my education was dedicated to the process of solving problems (also proudly, a good portion was dedicated to learning about ethics as well).
- crdrost 5y agoYou've got one of the big words that I would insert into this discussion -- science. I think the two biggest words missing from here are "science" and "risk." As Alan Kay puts it, science is about getting a description elegant enough that, like the Maxwell equations or Lisp's metacircular evaluator, it fits on a T-shirt. And engineering is about taking that T-shirt and building a bigger more ambitious bridge than anyone could have attempted if they didn't know about forces and stresses and scientific metallurgy. Engineering involves risk tradeoffs, and if your developers are not making your risk decisions then they are not engineers -- and also you're going to spend a lot more money producing software (the authority to do risk assessment should always be as close to the "in the trenches" work as possible, every degree of removal invites the risk decisions to be made on lower-quality more-aggregated more-gutfeel information rather than clear metrics). Most of computer programming is instead tinkering -- build a proof of concept, put it under stress, see what is being stressed, buttress those parts. The fundamental idea of architecture, "let's add some structure in advance so that we can build a self-sustaining system and take away the scaffolding later," is only really seen today maybe in test suites or so? Those are the scaffolds of our day I think. We're still in very early years for computing as a proper engineering discipline. But at least we do make some simple risk calculations.
- chrisseaton 5y agoMy first computer science degree was a Master of Engineering degree. Does that make me an engineer over someone with a Master of Science but the same degree course content?
- beerandt 5y agoDepends on accreditation and licensing as recognized by your state more than the words in the name of the degree. There are far more BS than BE programs producing engineers in the US.
- chrisseaton 5y agoI could agree - but I was responding to the parent who said 'an engineer is someone who has a degree in engineering' which seems to not make sense in my case.
- beerandt 5y agoYea, but my point is that even disregarding accreditation a "degree in engineering" is more often BS/ MS and focusing on titles doesn't reliably work. Every degree in my school's college of engineering was BS/MS. And I think something like 25 of 27 were "degrees in engineering". If you want to go full circle, they are "degrees in engineering" because they're accredited by ABET, and satisfy the first requirement towards licensure and a PE. There is no simple definition, which is the whole point of accreditation and licensing boards. ETA: But if the programs in your hypothetical have an identical curriculum (and both are accredited), then yes, they would equally be "degrees in engineering".
- kelseyfrog 5y agoIt's easier than that: an engineer is someone who does engineering. I'm not convinced there is much utility in conferring the attribute of engineer to someone who is not practicing engineering when it's just as possible to say "She studied engineering" or "She majored in engineering" to denote the status of having an engineering degree but not engaging in the doing of engineering.
- bumby 5y ago>an engineer is someone who does engineering. I don't think this is actually useful without strict definitions of what constitutes engineering. If I go to a homeopath who prescribes an herbal tea to cure my cancer are they "practicing medicine"? The law says they are not, and cannot, because of clear definitions of the term.
- deleted 5y ago[deleted]
- rayiner 5y agoPlumbers typically don’t have the background to systematically evaluate the solution space and optimize the solution. But chemical engineering looks vaguely like plumbing if you squint.
- yen223 5y agoPlumbers here in Australia are licensed, so if your definition of "engineering" includes being certified by a regulatory body, then plumbers are closer to "real engineering" than software engineers. (FWIW, I don't subscribe to that notion of what "engineering" is)
- taneq 5y agoIn the same way that a professional is someone who gets paid, yes.
- rambojohnson 5y agoa plumber is actually a civil engineer, and I doubt one would get a degree for plumbing...
- 7thaccount 5y agoI've had to go on HN a bunch to say this. Engineering school is brutal and generally requires passing a great deal of difficult courses that signal to certain employers that you'd be a good fit to design the power grid or components of space shuttles. They also give you a certain framework/toolbox to work with after you've done calculus, differential equations, circuits, dynamics, statics (not statistics), material balances, coding + all the upper level classes. This is different than the framework/toolbox that an economist would get to help recommend policy changes. Economists don't call themselves engineers and engineers don't call themselves economists. I'd actually argue that the mathematical models and econometrics used by economists is closer to engineering than just programming. A programmer/developer also has a very challenging job that involves what is essentially solving a complex technical puzzle under a huge variety of social constraints such as working within a team and meeting project deadlines and making trade-offs (for example, monolith or microservice). It isn't what engineers define as engineering though.
- bumby 5y agoI agree with almost all of your point, but a small nit pick: >Economists don't call themselves engineers and engineers don't call themselves economists. There are quite a few universities that offer courses/degrees in "financial engineering" and they often are in the mathematics/economics colleges and don't have a typical engineering curriculum as you laid out.
- deleted 5y ago[deleted]
- StillBored 5y agoWell, plumbers frequently work as contractors to mechanical engineers. Its better to think of them as technicians, even though much of their training and for single family homes/etc the work is basically engineering on a smaller scale (computing gas flow vs pipe size over a run, etc). I think shat this article fails to note is this engineer light/technician class which tends to be the more hands on portion of "engineering" in the case of sw, they would be more light engineering more programmer less overall design. AKA your systems architect/principal enginner is probably doing "engineering" the software engineers are likely just programmers.
- xeromal 5y agoI'm with you on this. My personal definition of an engineer involves designing systems that can potentially kill humans or other creatures. If you design pacemaker software, you're an engineer. If you build RESTful websites, you're not. I say that as someone who builds RESTful websites. The reason engineers need difficult certification exams is, so they don't destroy lives or expensive property. There was a programming PE (USA) at some point, but it was closed.
- BenjaminRH 5y agoActually I believe the term "software engineer" was coined by Margaret Hamilton while at NASA in the 1960s. Her Wikipedia article has some relevant quotes and references: https://en.m.wikipedia.org/wiki/Margaret_Hamilton_(software_engineer)#Legacy https://en.m.wikipedia.org/wiki/Margaret_Hamilton_(software_...
- wink 5y agoCan only speak for German degrees and while the first part of your answer is correct in spirit, the second one is kinda off. You can have the exact same curriculum and be called engineer or not be called engineer, depending on the university. You can even learn nothing related to engineering and have an engineer title, or the other way round. I'm not saying you're wrong (especially the first part), but there's a lot more to it, especially in countries where 'engineer' is a protected name/profession. Personal opinion: I don't care. My degree is "Computer Science", not "Computer or Software Engineering" and I see myself as a Software Developer (although I will allow programmer)
- raxxorrax 5y agoI have studied computer science and have a master of engineering.
- bumby 5y ago>an engineer is someone who has a degree in engineering Some would define it differently as someone who has an engineering license. There are States who have actually presented lawsuits aimed at preventing people from describing themselves "engineer" if they don't have that license. And, while an engineering degree is the more common first step in the licensing procedure, it's possible for one to get a license without an engineering degree. In the legal sense, they are more of an engineer than someone with a degree and no license. Regarding the plumber, I think the mechanical engineer who designs the plumbing system would be the engineer, while the plumber is the technician. Just like the electrical engineer designs the system but an electrician installs it. Both roles are equally important but shouldn't be conflated.