11 ms·
It's okay; software engineering isn't real either. (In many countries, the word "engineer" is regulated -- you can't call yourself an engineer without professi
by cjbprime 4y ago
It's okay; software engineering isn't real either.
(In many countries, the word "engineer" is regulated -- you can't call yourself an engineer without professional qualifications and oversight.)
https://en.m.wikipedia.org/wiki/Regulation_and_licensure_in_engineering https://en.m.wikipedia.org/wiki/Regulation_and_licensure_in_...
- jeffrallen 4y agoAnd in Canada, if you call yourself an engineer, you wear an iron ring to remember your responsibility to society. https://en.m.wikipedia.org/wiki/Iron_Ring https://en.m.wikipedia.org/wiki/Iron_Ring
- foogazi 4y agoWhen a building collapses you can’t just reboot it But in software you can simulate and test all you want before connecting it to the real world
- zerr 4y agoTo be fair, when the building collapses in the CAD simulation, you just "reboot" it with different parameters. Civil engineers don't actually put bricks or weld a metal.
- Nextgrid 4y agoProblem is that CAD is just an approximation of the real world and will never simulate it 100% faithfully. Software on the other hand can technically be simulated 100% accurately, barring hardware or interpreter bugs.
- kaba0 4y agoNo amount of testing will prevent all errors, and certain bugs can cost human lives.
- voidhorse 4y agoYeah, pretty much this. Only a subset of the actual activity that falls under the umbrella of "software engineering" could be called engineering in the traditional sense. The engineers working on aviation software and other low-level, real-time, performance critical systems probably need to use quite a bit of maths and are closest to doing what we traditionally consider engineering. All those teams working on web apps and advertising...yeah not really. This isn't to say what they do isn't complicated or difficult, but it's not really engineering in the classical sense insofar as it doesn't (typically) require the use of continuous mathematics and deep systems theory. If you're primarily writing systems design docs and performing calculations, you're probably doing some kind of engineering. If you're mostly writing code to spec you're just programming. It's sort of akin to a carpenter calling themselves an engineer. But hey, this is all symptomatic of a general trend here in the states of the trivialization and devaluing of expertise; people think it's fair to identify as whatever their heart desires regardless of qualification, knowledge, or experience. A world in which people regularly accept advice from total randos on social media is not one that has any strong sense of value around knowledge or critical capacity.
- VirusNewbie 4y agoLol yes, the people writing spaghetti code at boeing are real engineers and the people writing complex distributed systems at Google aren’t.
- m3kw9 4y agoin aviation, engineering is basically trying to get 5-6 sigma safety
- enraged_camel 4y agoI refer to myself as a software developer, but also intensely dislike the gatekeeping around the term “engineer”.
- turtleyacht 4y agoIt's only after these works that I've found "engineering" is worth a little gatekeeping: * The New Plague * Have Fun at Work * Friends in High Places * Design for Prevention In short, some cynicism is warranted, but not complete and utter disillusionment.
- sys_64738 4y agoAn engineer is generally liable for what they sign off on. Software engineering isn't anything like that and all products are filled with legalese to restrict liability.
- bob1029 4y ago> all products are filled with legalese to restrict liability. This doesn't seem to apply in the realm I've been working in. We've had to do the exact opposite thing. In small, B2B software companies you may find that accepting an uncomfortable amount of liability is usually the only way to get your foot in the door. Certain promises have to be made (very carefully!) or no business would occur at all. For example, if we told our banking clients that "if your front-line app crashes we might have it fixed in 5-7 days" just to be safe, they likely would have little-to-no interest in utilizing our solution. We have to say things like "We will respond within 1 hour and send a polite apology letter to your CTO every time the server makes a weird noise". And, we have to "engineer" our solution so that we have a minuscule chance of hitting that promised target. Consider that in a <10 person company that there is going to effectively be some person who has to own all of the pain that comes along with these decision. Is that person not an "engineer" by some arbitrary definition? Sure. But, for the purposes of "a professional weighing all of the pros/cons and making a decision that they intend to accept all consequences for" - I think it's the same effective practice. Ultimately, "software engineering" is a very broad space with varying degrees of professionalism. At some ends, you will find things that approximate actual engineering. At others, you will find things that appear more academic or artistic. The context is what defines the title of "engineer" for me.
- rat9988 4y ago"B2B software companies you may find that accepting an uncomfortable amount of liability is usually the only way to get your foot in the door" The company would have to accept it. No legal trouble for the developper.
- cjbprime 4y agoThis is a contractual SLA, which is certainly not the same thing as legal liability, and your contract might (obviously I haven't seen it) shield yourself from financial liability on top of your lack of legal liability. (Saying that you will respond within one hour is not the same thing as saying that they can sue you for every hour you're down.)
- psychlops 4y agoI don't think a country charging fees to bless a word makes a profession more or less real.
- coldtea 4y agoIt does however give it better control, a fixed threshold in terms of training that applicants should pass, and more oversight. Those are the important parts, being real or not is irrelevant. Snake-oil selling is also a very real profession.
- thegginthesky 4y agoTruth to be told, Engineering license requirements have a bigger effect in gate keeping the profession and keep supply restricted, much like any other regulated profession. Gate keeping has some benefits, but is easily circumvented by bad actors all the time, such as all the sham degrees that just churn out the bare minimum to pass licensing tests. If all the licensing to architects, doctors, engineers, lawyers, and so on, really had a big impact on quality, the world we live in would be very different and better. But that doesn't happen because licensing a profession only works if quality is upheld on all steps of the professional education chain. A lot of software companies circumvent all of these downsides of bad quality in education by raising the bar on the hiring pipeline with a bunch of tests and so on. Does it always work? No, just like licensing doesn't. But at least it keep la the profession accessible to those who are willing to study algorithms, data structures and so on. There's no perfect system in our world, but I am glad we don't have license requirements to develop software. I am a statistician that became a dev through self studying, training and learning on the job, and I also know many others (even real engineers) that turned to this profession without graduating in the field and contribute a ton with their specific background knowledge. Should everyone be called engineers? Probably not as it will elude to licensing the profession, but not calling yourself one decreases chances of finding another job dramatically. A true tragedy tbh, I'd rather if everyone called themselves devs, scientists or something less loaded than engineer.
- coldtea 4y ago
- wg0 4y agoI personally do not think Software engineering is a thing. There are opinions on how to structure Software even within same language and framework and there's little objective procedure to rate one way better that the other and there's one, that kind of performance gains usually are negligible. But prompt engineering? Based on what knowledge exactly?
- TheOtherHobbes 4y agoSoftware engineering is definitely a thing. There are numerous ways to code robustly and to prove the software will do what it's supposed to. They're much used in mission-critical applications where failure is a Very Bad Thing. But most developers do none of these things, and many developers don't even know they exist. But prompt engineering is just search++. You might save some time if you know a little about the underlying technology, and there's an element of creativity which is unusual for search. But it's still not rocket surgery.
- prisonguard 4y ago> But most developers do none of these things When they should, failure cost time/money
- barbariangrunge 4y agoIn Canada, it’s a licensed profession
- kahrl 4y agoAre you saying the definition of engineering means there is only one correct way to do things? What is this comment even trying to say?
- awill88 4y agoEngineering is a practice. Like medicine, but we’re building machines that run in a virtual space. We architect and build houses in our minds. We send those projects to production to make the business money. That’s engineering.
- JasserInicide 4y agoEh yes and no. "Traditional" engineering professions, ones where you need to get licensed, are all grounded in physics. Software engineering isn't (ignore the fact that bits running on silicon is physics, it's irrelevant). Software engineering is based on best practices and algorithms that are based on...some guy writing them, saying they're good, and others trusting that they're good. There's a million different ways to make something. Million different opinions. Million different cargo cults. It's why making a FE exam for software would be impossible; there's just too many ways to do something and often very little evidence why it's good.
- TheOtherHobbes 4y agoEngineering = Applied Physics. Software Engineering = Applied Math. Both are about modelling, so you have a good idea if a solution works before you build it. If you're gluing stuff together and hoping it's not going to fall apart too often you're not doing either.
- JasserInicide 4y agoIf you're gluing stuff together and hoping it's not going to fall apart too often you're not doing either. That's precisely what the majority of "software engineers" are doing nowadays. That's what web development is. Those that are creating tools other developers use and build things using algorithms/data structures in novel ways (essentially applied math as you said), they are the real software engineers in my eyes.
- 908B64B197 4y agoAnd the last piece of the equation: Applied Physics = Applied Math.
- agentultra 4y agoYes it is. It’s a protected term in Canada and they have software engineers.
- cjbprime 4y agoAre you saying that software engineers in Canada are P. Eng licensed? (If not, then your example is one where software engineers are misusing the protected term, but as they usually do not set up shop and mislead the general public into thinking they are certified, which would be the activity the protection is designed to thwart, the protection is rarely enforced.)
- 908B64B197 4y ago> Are you saying that software engineers in Canada are P. Eng licensed? That's my understanding. They don't have a PE exam like here in the US. To be P. Eng licensed, they have to graduate from an accredited engineering program and register with some board. And they do have Software Engineering programs (I know; I hired folks from these).
- agentultra 4y agoIt's protected. And they've started going after people in recent years, and winning, for using the term, "software engineer." https://engineerscanada.ca/sites/default/files/2022-08/2022-07%20CEO%20Software%20Engineer%20Title%20Letter-signed.pdf https://engineerscanada.ca/sites/default/files/2022-08/2022-... There are many folks in certain provinces arguing against regulation as, they claim, it makes it difficult for workers to compete in a global market where the term is common.
- odiroot 4y agoOr you get a diploma for that, and you are a bona fide engineer.
- ozim 4y agoIsn't real? You write about people who sling PHP or Javascript spaghetti? I have engineering degree in computer science (I think it is mostly thing in eastern Europe, you have bunch of electronics, math, computer architecture to learn), I worked on automotive software which is I have to say fairly regulated. Where you have to care for things like ISO or MISRA standards in your code. I don't mind people calling themselves "software engineer" even if they whip up front-end - but I do mind if someone calls "software engineering isn't real". ;)
- nodemaker 4y agoChanging a bunch of bits on a magnetic drive or another media is not like building an airplane that flies or a car that runs! Software engineering is closer to a priest that supposedly can communicate to god than it is to someone that builds a car! I have a CS degree too and people without it are sometimes much better than me at slinging code Actually forget people, you should realize how far this is from engineering when ChatGPT can do it better than me :) Ask ChatGPT to build a car though and we will see how far it gets.
- pixl97 4y ago>on a magnetic drive or another media is not like building an airplane that flies or a car that runs I ain't sure what century you live in, but it's not the current one... If I program some bits on my hard drive and now a stepper motor punches thought the side of the mount its bolted too. Or if I say "set the flaps to this pitch in this condition" and that doesn't happen, then something very real, and very bad, happens in the reality we both exist in. Almost everything complicated that exists today uses electronic control in one way or another. Screwing up the software in that ECU is just as much as of an error as using the wrong metal in its manufacture.
- nodemaker 4y agoYeah honestly maybe I am feeling a bit jaded by a career in software development with jira and other bs. It doesnt feel like engineering to me :) If youre doing anything that physically moves something like a stepper motor i have a lot of respect for that.
- taeric 4y agoThis always depends on context. And often the results aren't as good as you think it will be. Sets up an obvious target for regulatory capture and can stagnate things. I say all of this as a pro regulation person.
- mablopoule 4y agoYou can absolutely be a "software engineer" in the legal sense, just not in the US. Here in France, the engineer diploma is a regulated thing, and there absolutely are software-centered engineering school who are accredited to deliver it, which is how I got mine. It's in the "Grandes écoles" cursus, which usually follows a more classical STEM-centric cursus called "classes prépa". As to whether "Software engineering" is a real thing, well on one hand most of it isn't very process-oriented, on the other hand there are such thing as ISO certification for software security, so it's less the individual which is regulated than it is the project in itself when it matters (like critical data-center, or handling of medical data), so it's not like there aren't any regulatory framework in the software world.
- 908B64B197 4y ago> As to whether "Software engineering" is a real thing, well in one hand most of it isn't very process-oriented, Part of the reason for that is the cost of iteration is much lower. So software engineers can afford having less rigorous process. And the tooling is getting better, with formal specification languages, type systems and static analyzer. Rapid prototyping, microcontrollers and simulation tools brought some of the same possibilities in mechanical & electrical engineering. Even the traditionally very conservative space industry is embracing faster iteration cycles (at least, SpaceX is). "Software on a microcontroller isn't engineering, it's just coding, but replace said software by TTL chips and PROMs and suddenly it's EE".
- Ekaros 4y agoI believe that there can be real software engineering. And in many places it has uses. But how most of the sotfware done, is not really engineered. And I think we might do better if we were more rigorous with what is being build, probably slower, but better off and lot of it could be replicated for close enough use cases.
- 908B64B197 4y ago> It's okay; software engineering isn't real either. > (In many countries, the word "engineer" is regulated -- you can't call yourself an engineer without professional qualifications and oversight.) Those countries (at least France, Switzerland and Canada at least) also have official accredited Software Engineering degrees. I know because I hired people who graduated from these programs!
- throw22423 4y agoThat doesn't make much sense at all. This is not like being a lawyer or a doctor where the meaning is "you've completed a degree". The term "engineer" is meaningless. It's more like being a writer or a musician. There is no objective criteria to fulfill. Furthermore, I don't understand why some people have the need to regulate everything. That's not how the real world works.