They’ve never built a bridge
February 4, 2023 2:46 PM   Subscribe

Hillel Wayne interviewed 17 people with experience in both software and “traditional” engineering to answer the question: “Are we really engineers?”

If I wanted to know how software development compares and contrasts with “real” engineering, then I’d have to talk to “real” engineers. But thinking about that, I realized another problem: while “real” engineers could tell me what they did, they couldn’t tell me how their work differed from mine. Just as we make sweeping statements about real engineering without any evidence, they could make sweeping statements about software without knowing anything about it either. Even if they use a bit of software in the day-to-day work, that’s not the same as developing software as a job. Only a person who’s done both software development and “real” engineering can truthfully speak to the differences between them.

So that’s what I set out to find: people who used to be professional engineers and then became professional software developers. I call these people crossovers, hybrids between the two worlds. I interviewed 17 crossovers on common software misconceptions, how the two worlds relate to each other, whether we can truthfully call what we do engineering, and what the different fields can teach and learn from each other.


The Crossover Project:
posted by learning from frequent failure (78 comments total) 28 users marked this as a favorite
 
I work for a company that makes engineering software. Most of the management and a majority of the employees are mechanical engineers -- and they made the decision several years ago to change the titles for my side of the office from "software developer" to "software engineer."
posted by Foosnark at 2:59 PM on February 4, 2023 [5 favorites]


Inspired to do one about industrial designers (classically trained in design schools) and everyone with the job title product designer in Meta or Google for example
posted by infini at 3:08 PM on February 4, 2023 [2 favorites]


I prefer to think of myself as a highly specialized technical writer as that’s mostly what programming is.
posted by interogative mood at 3:12 PM on February 4, 2023 [4 favorites]


My two dad's are both engineers, mechanical and QC. In the 80s, Mechanical dad argued that software was not engineering but coding, something made an engineer integrates/ designs. But through time he fully understood by saying software people are engineering with mostly photons and do do Hardware and I bristled with the ease of his changed thought.
posted by clavdivs at 3:15 PM on February 4, 2023


I've yet to read through the article, so I might be wrong, but I'm surprised that CTRL+F hasn't turned up even a cursory mention of how US immigration policy has influenced the use of the "engineer" title.
posted by Pitachu at 3:38 PM on February 4, 2023 [11 favorites]


Back after completing reading part 3. Very insightful stuff. Very important for interdisciplinary product development (my department in the school of engg for the doctorate I began a couple years back) so am passing it around etc

This (below). and the issue raised prior to lack of professionalism is lack of planning or even pausing to think.

Everybody who saw issues with our process also saw it as a symptom of a deeper problem, which is our lack of professionalism.

Doesn’t that go against everything I said? Not exactly. Things like licensure or training are part of the trappings of the job, while the “lack” is aimed at the mindset. Most trad engineering is physical, while most software is intangible. That makes it harder to feel responsible for its impact.


The people saying we need to be more responsible are the same ones that think we aren’t engineers, or that think we’re too special to be engineers. If they’re wrong about engineering, are they also wrong about responsibility? Turns out, no. Or at least, the crossovers agree with them there. We culturally don’t feel the same degree of responsibility trad engineers do. Of course, just because we can identify a problem doesn’t mean we can fix it. We can all agree our culture could be better but not know how to get there.

at the same time, there are things that traditional engineers can learn from s/w dev like this

We software engineers take the existence of nonacademic, noncorporate conferences for granted. But we’re unique here. In most fields of engineering, there are only two kinds of conferences: academic conferences and vendor trade shows. There’s nothing like Deconstruct or Pycon or !!con, a practitioner-oriented conference run solely for the joy of the craft.

When I moved into academia for the pandemic years after hanging out outside of it in design the biggest change was the complete lack of opportunities for networking UNLESS you'd already published or were in a cool lab or your supervisor cared enough to tag you along. My first years were cannonballed by the pandemic. But that's a different story. I end up changing to part time study and going back to the roots of all these paths to creating artefacts for human use regardless of their socio-material status - our creative spark and our capacity and agency for innovation.

Thank you for this FPP. Much food for thought. May come back in again to comment.

ps. Is the OP eponysterical? ;p
posted by infini at 4:20 PM on February 4, 2023 [2 favorites]


I learned more in the first two hours of interviewing than I had than from all the thought leader essays on the subject.

or, why I recommend design ethnography for any dev project, even if its just to help understand the problem space better by interviewing clients more formally about their issues -explore the topic, not a structured questionnaire
posted by infini at 4:30 PM on February 4, 2023 [5 favorites]


I studied mathematics from undergrad through PhD. I write minimal code, but I definitely do some form of "engineering" right now, in that I figure out how things could break, and evaluate trade offs to prevent those problems. It's often "distributed systems" or "cryptographic", but both likely come under "software".

All the folks with whom I often work directly do engineering too imho, including nay especially our auditors.  We've UX folk about whom I know less, but when I suggested the use a rateless erasure code somewhere, and evaluated libraries for them, then they eventually did so, maybe after additional hiring.

"An engineer is a very specific set of skills. […] Software [engineering] is skill plus understanding, all the processes and life cycle and the consequences and all the things that you should be aware of [and] avoid." - Dawn (Mechanical & Chemical)
posted by jeffburdges at 4:32 PM on February 4, 2023 [1 favorite]


ps. Is the OP eponysterical? ;p

Heh. I’ve been doing a lot of reading around engineering failure and incident management the past few years, hence the username. Also why I really value essays like these.

But also… I fail at a lot of stuff all the time 🙃 and (hopefully) I learn from it!
posted by learning from frequent failure at 4:38 PM on February 4, 2023 [4 favorites]


I can't find the reference, so I might be wrong, but I remember that Ken Thompson (co-inventor of UNIX) refused the title "engineer" and preferred "programmer."
posted by sjswitzer at 4:46 PM on February 4, 2023 [1 favorite]


This has gotten me interested in the etymology of "engine" and "engineer". Probably started out as something very different from what it is now.
posted by clawsoon at 5:18 PM on February 4, 2023 [1 favorite]


also previously

I do like how part 3 ends off with what traditional engineering can take away from software development. Just from coding as a hobby, it is clear that software folks have vastly better tools for version control and change management than any company I've ever worked for (I'm a chemical engineer). I often find myself, at work, struggling to convince people that our systems and work processes could be vastly better purely because I use github for my hobby projects and it runs circles around what we have access to, and no doubt pay vast sums of money for, at a fortune 500 chemical company.

Also techniques like unit testing (or similar), I think, should be more widely appreciated. A lot of the built environment depends upon a bunch of random spreadsheets that people just assume are right, but nobody really tests if they are in anything resembling a rigorous way. There are lots of tools to make this super easy if you are writing code -- to build and run those tests but also to check that your code is being covered by the tests -- and as far as I know nothing like this exists for the (perhaps terrifyingly) large amount of traditional engineering work done in excel.
posted by selenized at 5:26 PM on February 4, 2023 [9 favorites]


selenized: Also techniques like unit testing (or similar), I think, should be more widely appreciated.

My impression is that most software developers spend more time feeling guilty about not doing unit testing than they spend writing unit tests.
posted by clawsoon at 5:37 PM on February 4, 2023 [11 favorites]


The thing about having a good unit testing system is that you can bank your tests instead of just throwing them away.

Back in the day, you'd find some way to test your code and then after testing it, you'd commit your changes and throw away your tests. That was such a terrible waste.

Not everything about a test-driven development process is great, but the fact that you have a defined way to save your tests and don't have to come up with a way to do it each time is actually pretty great.
posted by sjswitzer at 6:20 PM on February 4, 2023 [3 favorites]


All I know is that my brother, who is a structural engineer, has designed objects that will cause people to die if they fail. I have never been anywhere near that level of danger in the software I've worked on, and neither have any of the software engineers I've worked with to the best of my knowledge. Maybe I'm being hyperbolic but I've always thought that was the substantive difference between "real" engineering and software engineering.

What's telling to me is that software engineering techniques like formal verification get very little attention in mainstream tech press even though such methods have been highly developed for decades and demonstrably produce better and safer software. I don't think most high profile tech companies do formal verification of most of their products. Anyway this goes way beyond unit testing, which also isn't done. You can literally write software in such a way that you can prove mathematically that it will do what it's supposed to do.
posted by abucci at 6:24 PM on February 4, 2023 [3 favorites]


abucci, twenty years ago I'd have agreed with you on your first paragraph, but now I can think of tons of software systems that will kill people if they fail. I mean, we literally let software drive cars, the riskiest activity most people do on any given day. The 737 MAX was a software failure. And if you work for a major cloud provider, your outages take out some unpredictable subset of services worldwide - you may not even hear about who died because their phone call didn't go through. Because you're too busy hearing about how many hundreds of millions of dollars the world economy lost because your cloud was down for four hours. Not to mention the many defense applications of commodity software products. I really think at this point we are past the stage where "software engineering isn't engineering because nobody dies when software fails" is an argument that holds any water.

I have not gotten the impression that formal verification is practical at the scale and pace most high profile software companies are developing products.
posted by potrzebie at 6:58 PM on February 4, 2023 [18 favorites]


A lot of us call ourselves software engineers.

This is my job title but I didn’t choose it—one day my employer was acquired by another company and lo and behold, I was an engineer instead of a developer or programmer. It wouldn’t occur to me to use it as a self-description in a social setting, though it is handy to trot out with loan and admissions officers.
posted by staggernation at 7:09 PM on February 4, 2023 [2 favorites]


Have not looked at TFAs but the topic is near to my heart and I look forward with interest to reading them.

As for life-threatening software faults, the original case was a machine called the Therac, which I'm confident you can Google to find out about it. When i started writing code for money in the mid 1980s I had a copy of this poster hanging in my office. The project was quality assurance for air-traffic control radars and it felt appropriate.
posted by Aardvark Cheeselog at 7:52 PM on February 4, 2023 [4 favorites]


As for life-threatening software faults, the original case was a machine called the Therac, which I'm confident you can Google to find out about it.

As a working programmer with a decade and a half under my belt, I am a firm believer that the Therac-25 incident should be etched into the souls of every CS major as a reminder of "you fuck up, and people could potentially die from your carelessness."
posted by NoxAeternum at 9:58 PM on February 4, 2023 [5 favorites]


clawsoon: This has gotten me interested in the etymology of "engine" and "engineer". Probably started out as something very different from what it is now.
Ingénieur is French, with roots in "make things that do" (Wiktionary) which I like for connecting up ingenuity and ingenious.

abucci: You can literally write software in such a way that you can prove mathematically that it will do what it's supposed to do.
It's time-expensive, so Ada exists and has niche users, but there's a legacy of libraries and platforms not designed for verification being added to with race-to-market program code. GNU licence says there's "no warrant of merchantability" and that it's not fit for any purpose, but so do Apple and Microsoft.
posted by k3ninho at 12:57 AM on February 5, 2023 [2 favorites]


Ada is a poor example today, but yes formal verification only becomes widely accessible once someone finds the tricks that make specific verification tasks user friendly, like what Rust's ownership & borrowing model does for memory safety.

I do think tests frameworks could be designed to mesh nicer with constraint solvers, but afaik nobody really takes approaches that'll wind up producing this, and it'll only work for some subset of test cases anyways.
posted by jeffburdges at 2:11 AM on February 5, 2023


I think unions and standards are largely how traditional engineers provide openness, so imho his openness section reads like a call for more vibrant engineers unions, with more focus upon being entertaining forums for engineering students and professional, as opposed to a narrow focus on job protections.

It's not merely version control but issue trackers being customizable by software developers. Aside from convenience, these tools give software developers more control over their work environment, sometimes bypassing poor management.
posted by jeffburdges at 4:21 AM on February 5, 2023 [2 favorites]


As well as some software absolutely being a matter of life and death, a lot of traditional engineering isn't. There are a lot of low power, low voltage circuits out there that nothing mission critical relies on, and somebody has to design those too. Often those people are electronics engineers.
posted by Dysk at 5:24 AM on February 5, 2023 [6 favorites]


I've seen this argument go back and forth through my career, and my current take is that Canada has the right approach, which is to restrict the title of "Engineer" to only people who have a no-shit Professional Engineer certificate. No PE stamp? You're not an "Engineer". You can be a "Technologist", or "Developer", or whatever else you want to be, but not an "Engineer". This seems fair to me.

And I say this as someone who currently has a title containing the word 'Engineer' and isn't an Engineer. If I was in charge of my own title, I'd strike the word.

I'd do so not because there's that much different, at least in theory, between software engineering and mechanical engineering, but because real PEs have a level of professional accountability that not-really-Engineers don't have.

If you're a professional Civil Engineer, and you take out your stamp and smack it down on a set of drawings, you are in effect taking professional responsibility for what's on those drawings. If the resulting building / bridge / culvert / whatever collapses, people can and will go after you for negligence. Many engineers who do this sort of thing carry what's essentially malpractice insurance to guard against this scenario. As they should.

Most "Software Engineers" don't have this sort of professional accountability. There's little-to-no traceability, in most scenarios, from a software defect that makes it in production, back through the deployment process to the codebase, to the person who wrote the code, to the person who designed it and UMLed it and approved the design, etc. (In very rare scenarios, mostly in aerospace AFAIK, there is that level of traceability. But to say that it's the exception rather than the rule is a hilarious understatement. And generally it's just for internal QA purposes or compliance, rather than accessible to the public in the way that stamped engineering drawings often are.)

Over time, I think we are going to eventually start to demand, as a society, that sort of professional accountability from software designs, in the same way we demand it from blueprints for a bridge or a car. Bad software in your car's ECU can kill you just as easily as a faulty tie rod made of inferior metal. The only reason we treat the two differently is, essentially, historical accident and market pressure. It turns out that not having that sort of traceability and accountability is very convenient, if you're developing software. And so we should fully expect that, when people get fed up with "move fast break things" bullshit, that they will have to force the change on software companies despite a lot of wailing and gnashing of teeth. It should be done anyway.
posted by Kadin2048 at 8:28 AM on February 5, 2023 [14 favorites]


Yeah, the lack of accountability, ethics, and oversight for 'software engineer' work is why I don't think it's "real" engineering.

If I look at a blueprint for a new building, it does not require me to first agree the building may not be suitable for any purpose whatsoever and agree to hold them harmless if it falls on my head.

My bachelor's is in an engineering discipline, and I passed the "engineer in training" certification test way back. I've also got a background in construction. My current job title is "network engineer", but I don't have any illusions that this is actual engineering in the way that someone with a PE license stamping drawings is. Also, I don't get to drive a choo-choo train.
posted by rmd1023 at 9:23 AM on February 5, 2023 [2 favorites]


> my brother, who is a structural engineer, has designed objects that will cause people to die if they fail. I have never been anywhere near that level of danger in the software I've worked on, and neither have any of the software engineers I've worked with to the best of my knowledge.

I think many more programmers are at that level of danger than realize it, especially if your software is involved in communications between people. Stalkers, people living under oppressive regimes, cult recruitment, the Facebook enabled genocide in Myanmar...
posted by madhadron at 9:26 AM on February 5, 2023 [5 favorites]


selenized references github above. I don't know much about github except in the broadest possible strokes, but I am a chemical engineer that designs physical process infrastructure (wastewater treatment, so: pipes pumps tanks containment pressure envelope controls etc) and I agree wholeheartedly that the engineering design industry has VERY poor tools for version control and change management (and if you tell me sharepoint I will...well, I will sigh and roll my eyes, anyway). The most trustworthy way I know how is still to manage a stack of physical papers with a redline markup...which is pretty darn stupid in the 2020s and gets me openly stared at in confusion by co-op students, but HEY YOU GET OFF MY LAWN
posted by hearthpig at 10:02 AM on February 5, 2023 [1 favorite]


Kadin2048… Thanks! As I was reading and scrolling down I wanted to bring up Professional Engineers. A friend of mine went through that whole process years ago in Civil Engineering. Back in the late 70’s when I was designated to be a software engineer from being a software technician at Intel, the trade press was full of articles regarding licensing software engineers because, yes, software can kill people, or cause extensive loss and damage. As you can imagine, there was a lot of pushback from engineers. “Hey, I have a PhD in Computer Science from Stanford, I know what I am doing!” From my own background in software engineering, I constantly experience bugs in most software I use. Right now, Safari on my iPad, is not displaying the text correctly in the edit box I am using to write this. I have experienced bugs in the code running in the computer in my car. Most of the time, these are just irritating, and the old turn off and on fixes things for awhile. But software engineers need to take responsibility for their code and companies need to take responsibility for the code they ship. If you talk to civil engineering folk who have a PE and a stamp, putting your stamp on a drawing is a MAJOR step in taking responsibility and a lot of them are reluctant to do so because of what it means. “If it falls down or breaks, I am responsible.”
posted by njohnson23 at 10:06 AM on February 5, 2023 [3 favorites]


I agree that professional responsibility, in the formal sense involving licensing and regulation, codified ethics and responsibilities, and clear accountability via a mechanism like the stamp clearly distinguishes the two. Regardless of whether software developers should have ethics, a sense of responsibility and even legal liability, this is different than the formal professional licensing and regulation to which professional engineers are subject. This is coming from my Canadian perspective where the term engineer is restricted to licensed professional engineers to make it clear to the public who they're dealing with and what that person's responsibilities are. The cat is out of the bag though in the US. It does seem as though at least some types of software development (e.g. self-driving cars) would benefit from restrictions for some tasks to licensed professionals, but this also seems difficult and unlikely to be implemented.
posted by lookoutbelow at 1:18 PM on February 5, 2023 [2 favorites]


lookoutbelow: It does seem as though at least some types of software development (e.g. self-driving cars) would benefit from restrictions for some tasks to licensed professionals

Self-driving cars is where the two worlds really collide in a visible way, isn't it? I assume that professional engineers are signing off in a legally-binding way on all the parts of the car... except the self-driving system, which is not guaranteed to be fit for any particular purpose.
posted by clawsoon at 1:25 PM on February 5, 2023 [3 favorites]


I do take his point though that licensure is a political construct rather than a statement about methodology, and software development is engineering as he defines it. It makes sense in a context where non-professional engineers can be called engineers. I'm just used to thinking of the distinction between being an engineer and not having a very specific meaning associated with licensing. It's a really insightful set of articles. I'd be interested to know more about intersections between software and regulated domains of engineering.
posted by lookoutbelow at 1:46 PM on February 5, 2023


Self-driving cars is where the two worlds really collide in a visible way, isn't it?

You might even say it's where the rubber meets the road.
posted by grog at 1:46 PM on February 5, 2023 [4 favorites]


One of the things I've thought about many times over the years is that although I made it through an entire engineering program, at no time can I recall a single one of the classes required to earn my degree covering in any explicit manner, even briefly, what it means to be an engineer.

To the best of my recollection it was literally never discussed in either my program-specific computer engineering classes or in the general foundational classes required for all engineering majors.

It's not surprising to me that it wasn't handled in the latter classes, as the organization of the university I attended was such that most of the foundational requirement classes were taught in departments (math, physics, chemistry) that were part of the College of Literature, Sciences, and the Arts rather than the College of Engineering. And possibly more concrete engineering disciplines such as civil or mechanical had a unit in some of their course requirements that covered the topic and the lack of such instruction was specific to my program.

Still, in retrospect I've been surprised and dismayed over the years that it was possible to graduate from a nationally ranked engineering program without any curriculum specifically addressing the definition, goals, uses, or ethics of engineering as a profession.

I graduated from the University of Michigan. For people who went through engineering programs elsewhere, or who went through other programs at UMich, was my experience common?
posted by Nerd of the North at 1:48 PM on February 5, 2023 [2 favorites]


Okay so I've answered my own question in the Canadian context at least, from Engineers Canada Professional Practice in Software Engineering - it sure sounds as though self-driving cars would count as regulated activity:

In the case of software engineering, a piece of software (or a software-intensive system) can therefore be considered an engineering work if both of the following conditions are true:
• The development of the software required “the
application of a systematic, disciplined, quantifiable
approach to the development, operation, and
maintenance of software.”
• There is a reasonable expectation that failure or
inappropriate functioning of the system would result
in harm to life, health, property, economic interests, the public welfare, or the natural environment.

Also interesting from that document, a Software Engineering Syllabus, proposed for use for professional regulation of software engineers. So it is a thing. Admitting to my Canadian bias, this does seem like a useful analytical distinction between software development and software engineering. I don't know that this is all in practice or enforced though or how it would apply to those working on self-driving cars and similar.
posted by lookoutbelow at 2:01 PM on February 5, 2023 [1 favorite]


All I know is that my brother, who is a structural engineer, has designed objects that will cause people to die if they fail. I have never been anywhere near that level of danger in the software I've worked on,

I work on industrial controllers, and in my experience, 99.99% of important safeguards in this space can by implemented in hardware by electrical or mechanical engineers who have been doing this as a profession longer than I've been alive.

What qualifies me as an engineer is that I would refuse to implement in software anything that can be implemented in hardware. The refusal to perform engineering is ironically the defining characteristic of what would qualify a software developer as an engineer in this context. And the reason it's a software engineer's duty to insist that safeguards be done by the hardware people is that a hardware safeguard is not as easily undone.

Luckily for me, hardware safeguards are also what the International Brotherhood of Electrical Workers insists on, and their membership is known to be insistent on it. So my qualification as an engineer will probably never be called into question.
posted by ocschwar at 2:54 PM on February 5, 2023 [5 favorites]


Now do “architect”!
posted by skyscraper at 2:56 PM on February 5, 2023 [6 favorites]


Ok I'll i have now read TFAs. I find I am in broad agreement! With some exceptions/I think there were some important omissions.

First, I like the characterization that there is such a thing as software engineering, but that most people who make software aren't doing that. It jibes with my sense that most software creation is a more artisanal activity.

With respect to differences between trad engineering and software, there are some timeline issues TFAs do not touch upon. TFA 1 describes trad engineering as though it has roughly 100-year history, which is folly. "Engineer" as an occupation dates from the Middle Ages. Certainly the people who built the steam engines that powered the Industrial Revolution 200 years ago were engineers. By today's standards they weren't very good ones: a lot of steam engines used to blow up on the job. By contrast, many of the very first people to every make their livings solely by writing code are still alive today.

In other words, the comparison between current practice in trad engineering and software development is incorrect. We should be comparing software development to engineering as it was practiced in maybe 1860, when you could expect the engineers to eventually complete a project that mostly worked, with cost overruns that were a small multiple of the original estimate, without killing too many workers in the process. Back when there weren't canned solutions for so many things and the handbooks hadn't yet been written. That's where SWE is now: every project is a new adventure, and the boilers regularly explode. The case of the CE building a bridge who discovered that the soil at the site was not within spec for the bridge design is instructive: when they encountered that problem, they knew what it was right away and were able to go to an alternate design, without needing to go through review of the whole problem definition to verify that it was going to be possible to build a bridge at all.

Another point is that there's very little original design being done on things like bridges. For a large fraction of the possible use cases the issue is thoroughly solved. The analogous situation with software is, the user buys a COTS package that already exists. When you are putting programmers to work you are almost by definition doing something new.

As for the being more invested in the tangible thing you made, I suspect that's not as important as TFA thinks, and I'm surprised that TFA did not mention (nor has any comment so far) the lack of any liability for when software goes bad. Software will improve after it's possible to sue a software vendor, who will *not* be allowed to hide behind "no warranty of fitness or usability for any particular purpose."

And also, it was not Ken Thompson who refused the job title "software engineer" in favor of "programmer." That was Edgar Dijkstra. And my position is, when I'm looking for a job my resume says "senior software engineer," but on my tax forms I list my occupation as "programmer."
posted by Aardvark Cheeselog at 3:36 PM on February 5, 2023 [3 favorites]


I'm reminded of a brief conversation I had with another employee in which we both said that we were in "development". But I was in software development, and they were in tv show development.
posted by clawsoon at 3:43 PM on February 5, 2023 [1 favorite]


We should be comparing software development to engineering as it was practiced in maybe 1860

...when the Institute of Civil Engineers had had a charter system for several decades already, and the IMechE already existed as well.

So which professional organisations are the equivalent in software today?
posted by Dysk at 11:49 PM on February 5, 2023


I recently retired after working on automotive engine control software for 40 years, and now we have coding standards like ISO 26262 for functional safety, along with software checkers for enforcement. When I started with 8 bit micros programmed in assembly language it was more like the wild west. Also, the move to electronic throttle control 20 years ago was when the software really became safety critical.
posted by rfs at 5:45 AM on February 6, 2023 [2 favorites]


Still, in retrospect I've been surprised and dismayed over the years that it was possible to graduate from a nationally ranked engineering program without any curriculum specifically addressing the definition, goals, uses, or ethics of engineering as a profession.

I graduated from the University of Michigan. For people who went through engineering programs elsewhere, or who went through other programs at UMich, was my experience common?


If you really want to get nerdy about this, ABET requires all engineering programs to address ethics in Engineering. For example, U Michigan Matl Sci/Engr claims two courses which address ethical training.

I think for many programs it's addressed tangentially at best; my ethics training consisted of a former secretary of defense teaching us about nuclear proliferation.
posted by Comrade_robot at 7:04 AM on February 6, 2023


Western University in Ontario offers a degree in Software Engineering.
It's offered through their Faculty of Engineering
posted by yyz at 7:40 AM on February 6, 2023


Still, in retrospect I've been surprised and dismayed over the years that it was possible to graduate from a nationally ranked engineering program without any curriculum specifically addressing the definition, goals, uses, or ethics of engineering as a profession.
This is because engineering programs are not education programs. Engineering programs are job training programs. There is a difference between job training and education, and you have hit upon it here.
posted by Aardvark Cheeselog at 8:25 AM on February 6, 2023 [2 favorites]


So which professional organisations are the equivalent in software today?

Stick around for 160 years and find out!
posted by Aardvark Cheeselog at 8:31 AM on February 6, 2023


As to engineering programs not being education programs, when I was at UC Santa Barbara back in the 70’s, being a liberal arts major, I was required to take a whole bunch of general Ed courses, history, literature, the arts, etc. I found out that people getting an engineering degree, only had two required general Ed courses. The reason given was they had so much to learn for their degree, they had no time to waste on these other courses. Soon, out of college, with a BA in Religious Studies, and 90 % of a MA in philosophy, I got hired as a software technician at Intel. After about two years, and the complaining of myself and a fellow software technician with a BA in Marine Biology, we were promoted to be software engineers. Note neither of us had any actual engineering training. After three years there both of us moved to Apple as software engineers. This was in the early 80’s. At Apple there were a bunch of engineers without any formal engineering training. But we had the title, the responsibilities, and the pay. Having been out of the high tech world for years, I don’t know what the actual requirements are for being hired as a software engineer, may be they require an actual degree. In that case, are we back to having a very limited, single subject degree, without the broadening effects of a more liberal arts education?
posted by njohnson23 at 9:10 AM on February 6, 2023 [2 favorites]


This is because engineering programs are not education programs. Engineering programs are job training programs. There is a difference between job training and education, and you have hit upon it here.

Is a physics degree a job training program? A chemistry degree? What distinguishes a job training program and an education program?
posted by Comrade_robot at 10:08 AM on February 6, 2023


Yeah, the lack of accountability, ethics, and oversight for 'software engineer' work is why I don't think it's "real" engineering.

I don't think 'real' engineering has these. Sure, it claims to, but AASHTO highway standards don't have any science behind them. It's all made up.

Strong Towns Lawsuit where the Members of the Minnesota board of engineering licensure are suing a guy not for designing something dangerous, but including an engineering certification while temporarily unlicensed, which is normally dealt with by a small fine and re-licensing.

The Texas Transportation Institute does worthwhile engineering projects, ie: determing the best guardrail design, but also annually puts out a report not worthy of a bunch of freshman statisticians, which essentially exists as a roadway engineering lobbying project.

The ethics of engineering is seriously lacking, and it's an industry dis-interested in self-policing.
In that, it's no different or better than any other profession.
posted by The_Vegetables at 11:33 AM on February 6, 2023


a bit of an aside but the conversation above reminded me of a time about 15 years ago when I was at pearson airport in toronto applying for a TN visa to go do some project work in california. This is a somewhat administratively arduous process where you have to produce "originals or certified copies" of all of your diplomas and transcripts and basically justify your professional existence to a TSA border guard (in toronto they basically carve out a piece of the airport and treat it like US soil for this purpose)

ANYWAY

I was there with my chemical engineering diplomas and struggling a bit to convince the man in uniform that a chemical engineer could do what sounded to him like environmental engineering work (at that time we were working on the drinking water treatment system for a large california penal institution, no kidding) and he kept sending me back to the waiting area to sweat it out. I was pretty cheesed about this until I discovered that the guy next to me was going to do controls programming as a "software engineer", which he had reportedly been doing for 20 years at that time, but he was only carrying a liberal arts diploma and they were pretty sure they didn't need to let him into the US for any kind of programming of ANYTHING. I got clear before he did; I hope he made it but the odds did not seem in his favor at the time.
posted by hearthpig at 11:59 AM on February 6, 2023 [1 favorite]


Is a physics degree a job training program? A chemistry degree? What distinguishes a job training program and an education program?

I have a friend who has a PE stamp. He refers to engineering education and the degree as "professional" in the more literal sense of the word where it is aimed at preparing you for a profession. Doctors and lawyers are similarly "professionally" oriented in their educational programs. I think those three types are the main ones. Anything else would be an education program.
posted by Nec_variat_lux_fracta_colorem at 3:23 PM on February 6, 2023 [1 favorite]


I work as a civil engineer. I have a transportation PE. I've made games, programmed bits of plug-ins for games, written complex GIS processing and automation code, and some fairly complex Excel macros. My day job also involves programming traffic signals. I've designed sidewalk corridors, ADA ramps, and roadway bases, and worked with modeling software to change the lighting of miles of pedestrian paths and roadways, and worked through signal timing coordination for large sections of a city. I've been construction manager on many of these projects, and occasional ad-hoc project manager in general.

One fairly significant issue I have is the author's definition of civil engineer, which is such a huge screw-up it makes me question the whole damn thing: "Civil engineers work on buildings." I mean, yes, those are structural engineers, a subset of civil engineering. Civil engineers design, oversee the construction of, and ensure the maintenance of the built environment. The whole built environment! Buildings, yes, but also all modes of transportation, wastewater diversion and treatment, water reservoirs and conduits, the soils that support all of this (that's geotechnical engineering), et cetera. A civil engineer might design an ADA-compliant corner ramp, or they might design the high-speed railway network of a country. Scope varies.

To me, engineering is more about thinking of a larger system, regardless of the scale of the specific job. And I think this has more to do with how you are thinking about it than what you're actually doing.

To use the ADA ramp example: when I open up CAD software and start figuring out how to build a new ramp at a corner, there are a couple of ways I can do this. I can take my existing GIS or survey basemap, lay out my new lines, check that the grades all match up and there aren't any lips, ledges, or gaps where the new construction will mesh with the old. I can put a titleblock around it, print to PDF, and call it done.

I'd call this designing a ramp.

This leaves out a lot of pieces, such as: how close is the right-of-way line? What's the grade of the road? How steep is the running grade here? Am I going to have ponding at the bottom of the ramp? Is this on a heavily vegetated corridor, and there will be a lot of leaves to deal with? Is there a crosswalk here? SHOULD there be? How's the lighting? Is this on a Safe Routes to School route? Have there been fatalities here lately? Is this is a trucking route? What's the current development picture like? What's going to happen in this area in 5 years? 10? Do I know any local communities that will be using this ramp a lot and have particular needs? What local infrastructure is impacting this - water conduits, gas lines, local power utilities, sewer (maybe with an old inlet that needs to be replaced -- or moved? or removed?)? Is this road being repaved soon, or the profile shifted to include bike lanes (or separated bike lanes)? And more. And that's for ONE corner, and isn't even getting into constructibility or maintenance. Or the bane of our existence, public works budgets.

Engineering is also often dealing with physical constraints of reality. In civil, this is actually a pretty significant problem. Lots of engineers will design things without ever going to the field, and then an inspector or construction manager (inspectors are highly unlikely to have engineering training or background; CMs often will) are going to have to "field fit" (field engineer) a solution that works with the actual conditions. The example early in the essay about "just a handle" was.. actually pretty insulting! Without knowing more about this classified medical device it's impossible to say more, but you can read the story of OXO to see just what a big deal a handle is. I have mechnical and biomedical engineering friends who talk about the incredible amount of care that goes into things like tool handles, because you want (for example) a surgeon who's been working for ten hours straight on a single patient to not get hand fatigue and slip. I think this is ABSOLUTELY a problem in a lot of software, for what it's worth. There's a lot of code that kind of hangs together and works... until it doesn't, and then fails in spectacular ways.

Designing a bridge is hard but fairly straightforward. Engineering a bridge can be a pretty significant task, depending on the bridge. Not every bridge needs to be engineered, taking into the breadth of what qualifies as a bridge. And that engineering doesn't necessarily need to be Western-tradition, formalized-math engineering, either.

I dunno. These essays feel like they were written by a software guy (and specifically a software GUY). It feels so focused on the wrong things, the wrong questions. I think, as someone in the comments above said, the author would've been better-off defining "engineering" itself and then seeing what aspects of writing software fit under that. I think it would've been worth looking more at the cultures these fields operate in - public, private, short-term, long-term - and seeing how those cultures then inform how professionals within them define themselves. Trying to say, "I'm an engineer, and all the things I do are engineering, just like these other people who have that job title," doesn't seem like good framing.

tl;dr: these essays were designed, not engineered.
posted by curious nu at 3:59 PM on February 6, 2023 [10 favorites]


(shorter) follow-up thoughts:

Noted my programming experience in the spirit of the crossover idea; I'd qualify what I've done as programming. I haven't done anything I'd consider software engineering, although I think that is 100% a thing that exists! Just outside my realm of experience. But I can kind of see the path from what I've done to larger engineering projects, the same way I can see my early civil design work leading into larger civil engineering projects.

re: ethics: for civil engineering, we have at least a couple of classes on engineering ethics, and there's a whole section of it in our Fundamentals of Engineering (FE) exam. It's.. not as robust as I'd like, and I have serious problems about how it interprets some situations, but it's there.
posted by curious nu at 5:27 PM on February 6, 2023


I have a friend who has a PE stamp. He refers to engineering education and the degree as "professional" in the more literal sense of the word where it is aimed at preparing you for a profession. Doctors and lawyers are similarly "professionally" oriented in their educational programs. I think those three types are the main ones. Anything else would be an education program.

Oh, interesting. So a business degree is an education degree, while a physics degree prepares you for a life of idle leisure. As does a biology degree, unless you take a very particular sequence which includes organic chemistry, in which case you are once more taking a professional degree. The profession of 'chemist' does not apparently exist, and chemistry students presumably spend most of their time learning to pour things into beakers in hope that they can find an eventual career as mixologists.
posted by Comrade_robot at 5:46 PM on February 6, 2023


A chemistry degree teaches you about chemistry as a science, in a way that law, medicine, engineering, and many business courses do not, as they teach their subjects as a profession. That is not to say that you cannot do academic research in medicine or engineering, nor that you cannot have a profession in chemistry. Of course you can. But there is a meaningful difference in philosophy and approach in how they are taught.
posted by Dysk at 11:44 PM on February 6, 2023 [2 favorites]


People are quite confidently stating that there is a meaningful difference, but I am asking what that difference is. Somehow, when I am teaching in the physics department I am apparently approaching the topic very differently than when I am teaching in the engineering department. Further, two of my courses are cross-listed as both physics and engineering -- physics students are presumably having a completely different experience than the engineering students despite both physically being in the same classroom. A biology major is being taught a subject as a science, but a pre-med biology major has magically converted to approaching the topic as a profession because they take organic chemistry?
posted by Comrade_robot at 2:55 AM on February 7, 2023 [1 favorite]


Individual courses may in fact be shared, but the way physics and engineering programmes are structured is generally different, especially at undergraduate. Physics is generally taught with a focus on broad foundational knowledge, to have a reasonable understanding of the field, with specialisation happening later on for those who go on to pursue postgraduate study. Engineering tends to be structured to the end of meeting the requirements for a chartering body, which means a greater degree of specialisation from earlier on. This reflects the philosophical difference of engineering undergraduate programmes aiming to provide you with the skills and credentials to become chartered and practice as a professional engineer, whereas there is no direct parallel in physics, or most other programmes aside from law and medicine. The undergraduate programmes are structured around studying the subject itself, not a professional body's requirements.

(YMMV depending on where you are in the world, this is largely informed by the UK and Northern Europe, but I suspect this applies more broadly to varying degrees.)
posted by Dysk at 4:34 AM on February 7, 2023


Licensure as an engineer varies wildly among different engineering disciplines, with licensure being very very common for civil engineers and rare for a biomedical engineer. Caltech chemical engineering, for example, famously dropped accreditation meaning that graduates will find it considerably more difficult to become PE's (though as CalTech graduates they will probably do OK). Note that the American Chemical Society (ACS) also certifies chemistry degrees.

In my experience (USA), engineering curricula do not specialize earlier, and the first year is spent taking the same physics and mathematics courses as most science majors. All programs in the sciences tend to begin specialization in the second year. As an example, the infamous rite of passage that is organic chemistry is typically a second year course (discussed on Metafilter here).

Finally, as tuition has risen rapidly across the United States, pretty much all programs are taking into account student outcomes that include job placement. You would be hard-pressed to find any degree program that does not make an argument for increased employ-ability. Google any university and the phrase 'student outcomes' and you will see a nicely presented website which tells you how well their alumni are performing. (Randomly: University of Maryland, University of North Dakota, Dartmouth.)
posted by Comrade_robot at 5:34 AM on February 7, 2023


Then yes, your mileage in the US does indeed vary. Doesn't make it untrue elsewhere.
posted by Dysk at 5:43 AM on February 7, 2023


I was surprised to find that software engineering is a thing. It's actually taught at at least 14 faculties of engineering in Canada.
It also surprised me that in Canada you cannot call yourself a software engineer, unless you are an engineer.
It's a regulated and protected term.

Of. course this has created conflicts.

As far what would entail the need for a software engineer as opposed to a programmer they give some examples

I think that it's just taking shape and there will be a lot of pushback from industry.

From one example given;
4.6 Stock market trading software

If a market crash were to be triggered by trading software, the economic and social damage could be widespread.
The consequences of such a crash, resulting from an incorrectly engineered system, would be beyond the ability of the legal system to compensate. This risk alone classifies this software as work needing to be performed by a licensed engineer.
--
I think they (the engineers) are trying to stake out their ground. I'm not sure how successful they will be.
posted by yyz at 7:36 AM on February 7, 2023 [1 favorite]


With respect to the difference between training and education, @Comrade_robot is missing the point. It is not physics and chemistry courses which are either education or training, it is the curriculum of the engineering program that makes it training, and the curriculum of the liberal arts program that (tries to) make it education.

"Training" is more easily accomplished than "education," so we say that the liberal arts curriculum tries to educate, while we just assume that the engineering curriculum just succeeds at training.
posted by Aardvark Cheeselog at 11:49 AM on February 7, 2023 [1 favorite]


I am hearing a lot of hand-wavy insistence that there is a difference, but nobody is able to explain that what difference is. Please explain what the difference between 'training' and 'education' is. Which one is a pre-med undergoing?
posted by Comrade_robot at 4:10 PM on February 7, 2023


Courses structured to the requirements of professional certifying bodies, for the purposes of working within a restricted profession, contra studying for the what is ideally the best possible understanding of a subject, which can then of course be applied to all kinds of professional work. In practice, this might not always look hugely different in terms of course content. Often, though, there is more of a philosophy of knowledge shade on non-vocational courses, and less emphasis or time spent on e.g. research methods in engineering, and less emphasis on structured compliance testing in physics, for example. There is a hardline requirement to demonstrate competence in the professional practice of the associated craft, not to demonstrate knowledge of a subject. In some places, engineering consequently gives the right to the protected professional title of engineer, similar to how medicine gives does for doctor. The job title of "physicist" is not equivalent, being more broad, and without the legal requirements associated with having to have one sign off of certain classes of problem. Physics is not a restricted practice in the way engineering and medicine and law are in a lot of places.

Now, your institution may not have these differences. Your country may not, or may to only a limited degree. That's fine. But you keep saying that nobody can say what the differences are, when people are doing just that, and you're just blowing off those differences. They're real, they exist, even if they don't at your institution or in your country.

(And it should be noted that software engineering is not the only non-traditional engineering discipline, in terms of the much if the above.)
posted by Dysk at 5:07 PM on February 7, 2023 [1 favorite]


Please explain what the difference between 'training' and 'education' is.

The difference between two mindsets is what the goal of the process is. The "education" mindset is that of the ivory tower - teach the subject without regard for its application outside of academia, and the students can pick up that side once they're matriculated. On the other hand, the "professional" mindset focuses on the idea that most students will not remain in academia, and as such the coursework should have a degree of practical focus to prepare students for life after they leave academia. (For example, my alma mater required engineering majors to complete a course on professional communication, culminating in having us write and present a formal proposal.)

If you want to see this divide in the wild, I recommend you look at legal academia, where this is a very bitterly fought issue - on one side you have the HYS set arguing that a legal education should be about The Law as an abstract field, and other non-elite law schools pointing out that since the vast majority of law school grads are going to be lawyers, perhaps it's best if they're taught what that means practically.
posted by NoxAeternum at 5:10 PM on February 7, 2023 [1 favorite]


(And a pre-med is undergoing education which is foundational for medical training they may go on to do later. Or they may continue to pursue education related to biology, biochemistry, or even medicine. You can absolutely do academic work and have education courses in medicine, and engineering, they're just typically - but not always - at a postgraduate level after the completion of a programme of training within the profession.)
posted by Dysk at 5:11 PM on February 7, 2023


With the caveat that I'm only familiar with the system in the USA...

Ah ha, so the difference is professional certifying bodies, that thing that is unique to an engineering degree unless the American Chemical Society for example does it for a Chemistry degree. Or, I dunno, the American Society for Biology and Microbiology does some biology degrees.

Then, no, the difference is that all important licensure, that thing that all engineers strive for. How many engineers, then, would you estimate are licensed Professional Engineers? Surely it's practically all of them, since it's so important that the entire curriculum is designed around it and it's a protected profession, as you say. No? Eighty percent? Not even that? At least fifty percent? Well ... at least a quarter of them? How about roughly twenty percent.

And what are the requirements for this all important licensure? I'm told the engineering degree isn't education, it's training! Training for licensure! So when does this licensing exam that lets you call yourself a professional engineer happen? Immediately after the engineer is trained in university? No? Oh. It's ... several years after of on the job training under supervision of a licensed engineer? Wow, that seems really inefficient. But at least it's clearly obviously different from the pre-med, who is somehow being ... educated in preparation for training, after which they take a series of board exams. Nevermind pre-meds who are taking an engineering degree, that's ... training for different training but different training after the first training? Or does it then become education?

Now it's subjects being taught without care given to usefulness outside academia. As I've said, you will find a 'student outcomes' which includes employment on the website of any university you care to google, irrespective of major. Well, the most common major in 2022 was business, and that is ... an education because you don't take a business operator's licensing exam? Or is that also training. What about a communications degree? Hopefully there's some kind of handy chart of degrees that are education and those that are training.

But engineering courses must have a practical focus ... which is why as part of my engineering degree I had to take a course on nuclear proliferation, can't be too safe, never know when somebody might accidentally taking the undersecretary of defense licensure exam. (And this was specifically part of my engineering degree; I'm not even talking about, for example, the university-wide gender studies requirement.) Nevermind the fact that in many institutions your major isn't declared until the second year, at which point all courses previously taken presumably retroactively become training instead of education.

All the things the both of you name -- licensing, the intent to remain in academia, &c. -- all also bring you to the awkward point of arguing that one does not receive an education in Education.
posted by Comrade_robot at 2:44 AM on February 8, 2023


Nevermind the fact that in many institutions your major isn't declared until the second year, at which point all courses previously taken presumably retroactively become training instead of education.

No, this is just a fundamental difference in how university education works in the US and in most of the rest of the world. Degree programmes are much more structured outside of the US.

Again, a lot of the above may not apply fully in your country. They are still meaningful and philosophical differences in how the fields themselves have developed, and how they are taught in much of the rest of the world.

And here is your handy chart:
Medicine
Law
Engineering
(Sometimes accounting)
(Sometimes teaching)

These are generally the fields where a vocational training is given at institutions that tend to otherwise be academic.

You also misread my last comment entirely if you think pre-meds are training. I specifically stated the opposite. To restate it in what increasingly feels like a vain hope for some kind of clarity: pre-med (again, not a concept that exists in the university systems I'm just familiar with at all, really) as I understand it, is biology education, which is foundational for training as a doctor. A basic degree of language and maths is also foundational for the study of medicine. Everybody needs some degree if education, and a training course will invariably contain it. Most courses of academic education will not include much vocational training, however.

But if you aren't going to actually read in good faith the comments others here are making, insisting that where you are is the only meaningful place in the world, then this is all pointless.
posted by Dysk at 3:27 AM on February 8, 2023 [1 favorite]


Comrade_robot keeps latching on to particular things to object to, like licensure, at the expense of the larger point. Even in the US, there is a real difference between professional and academic programs. Professional programs are intended to produce graduates ready to move into entry-level jobs in a specific field often at the expense of a general education. This is often much less true in other countries, but from the point of view of employment US academic programs are intended to produce generalist information-processors that can be placed in many different roles, though really high career advancement is likely to require some sort of eventual post-bachelors education. In the US, college students generally spend only about a quarter of their course time inside their major and face very substantial general-education requirements and that is on purpose.

The most obvious examples of professional programs in the US are nursing and education. Engineering runs a distant second; I now too many aero majors who ended up doing systems engineering they weren't specifically trained for, etc. It would not include pre-med or pre-law in the US; while a few schools might offer these as majors they are not generally a thing.

The most obvious thing way to see the difference is to compare the proportions of nursing students who graduate and move directly into a job as a nurse, education students to teacher, engineering students to engineers, and chemistry students to chemists, and then repeat for other academic and professional programs.
posted by GCU Sweet and Full of Grace at 5:46 AM on February 8, 2023 [1 favorite]


I am objecting to the general statement here that an engineering program is job training, not an education. If you want to say that's how it works where you are, fine, sure, I can't argue with you. But it's not a true statement globally.

I also fully understand that you said that pre-medical training was education with the intent of training -- however, as an example, at least at two institutions I've been involved with, it was common for biomedical engineering majors to go to medical school, and, I understand, do quite well. Both will have taken a foreign language, mathematics, biology, physics, chemistry, &c. Some of them will have sat in the same classrooms. I simply don't see how you can call one 'training' and one 'education' in this case.

If you think it's because I'm focusing on licensing, it's because I was told the difference is licensing (which is incredibly rare for biomedical engineers). Most universities will have a general education requirement that is not waived for engineers. In terms of employment into a field, I would also say that the majority of my classmates went into management consulting and finance. My understanding is that this is uncommon in fields like nursing.

Look, to me, saying "engineering is training not education" is like saying "everybody eats tacos on Tuesdays. That's why it's called Taco Tuesday." If you want to say "Everybody in MY HOUSE participates in TACO TUESDAY" then I really can't object to that. But if I say "But I don't, and nobody I know does either." this makes the statement not generalize-able. I will also say that in every institution I have ever been involved with has tried to teach engineering students beyond what any job would likely require. I don't write the differential equations on the board for my health, even if it's unlikely students will ever use the derivations.
posted by Comrade_robot at 6:33 AM on February 8, 2023


@Comrade_robot
I am objecting to the general statement here that an engineering program is job training, not an education. If you want to say that's how it works where you are, fine, sure, I can't argue with you. But it's not a true statement globally.
Yes, it is a "true statement globally."

Education is training of a sort. It is training in how to learn. Ideally, an educated person can teach theirself anything that anyone has ever bothered to write down. Nobody is ever that well-educated, but the purpose of education is very broad. Another way of looking at it is "education is that training which teaches how to become an expert on something," and theoretically you should not graduate with a BS without having become an expert about something. Even if your expertise is more or less a copy of the expertise of that of others. Your research is more probably in the library than in the lab, so this "becoming an expert" is becoming expert at things where expertise is not rare.

I realize that this is honored more in the breach than the observance. But traditionally, it is the distinction between educational programs and professional training programs. And also that training programs inculcate expertise. But the key thing is that the training program is not supposed to equip you to go out and become an expert on some more or less arbitrary topic: it inculcates expertise that is directly relevant to the performance of the job that is being trained for.

Training, on the other hand, is very focused on specific utilitarian purposes. It's the stuff you need to do to be proficient at a job, or at least to have a hope at becoming proficient in a reasonable time.

In America, in particular, there has never been very wide acceptance of the distinction between training and education. I mean, the Universities make the distinction, and it has its effect on the curricula of engineers v. liberal arts majors, but in the wider society the notion that a liberal arts degree is not job training has never really been understood.
posted by Aardvark Cheeselog at 7:03 AM on February 8, 2023


I also fully understand that you said that pre-medical training was education with the intent of training

I said no such thing -- I said that "pre-med" is generally not even a thing. Anyone can easily look at the comment right on top of yours and verify this. Please do not lie about what I said and what I did not say.
posted by GCU Sweet and Full of Grace at 7:04 AM on February 8, 2023


Yes, it is a "true statement globally."

No, it is very much not. Professional education at the tertiary level is still very much education with a focus on the theoretical point of teaching the student how to think. As a working programmer and CS major, I have worked with other CS majors and programmers who do not have a CS background, and there is a noticeable difference between the two. So no, education in the professional fields is not job training at all, and my time working with new CS grads hired by my employer has made that abundantly clear.

That said, education in the professional fields is bifurcated in a way that you don't see in the more theoretical and academic fields, because there is by their nature a focus on both the theoretical "how to think" and the practical "how to be", and the best programs walk a tightrope between the two. What brought this up is the fight over teaching professional ethics, as it is on the latter side, but is also really fucking important to learn. As you may or may not remember, there was a bit of an uproar at Yale Law a while back when people pointed out that given the struggles of the federal judiciary to abide by them, perhaps professional ethics should be explicitly taught in law school - an idea that sent the Yalie faculty to the couches.
posted by NoxAeternum at 7:59 AM on February 8, 2023


Comrade-robot, you keep mentioning other non-traditional engineering fields as examples of how traditional engineering isn't what we say. Software engineering is not the only non-traditional engineering discipline. Particularly a lot of the fields that cross over with other non-engineering disciplines (chemical engineering, biomedical engineering, etc) do not necessarily have any more of the characteristics of a traditional engineering programme than software engineering does.
posted by Dysk at 8:39 AM on February 8, 2023


Professional education at the tertiary level is still very much education with a focus on the theoretical point of teaching the student how to think. As a working programmer and CS major, I have worked with other CS majors and programmers who do not have a CS background, and there is a noticeable difference between the two.

So is your suggestion that CS is education, not training? Because I think I'd agree with you, while maintaining that medicine, law, and engineering have a vocational training focus that (most) other university programmes do not. (Though again, maybe the US does things completely differently with its lack of structured degree programmes in favour of an a la carte system, seemingly.)
posted by Dysk at 8:42 AM on February 8, 2023


Because I think I'd agree with you, while maintaining that medicine, law, and engineering have a vocational training focus that (most) other university programmes do not.

My point is that professional tracks having a vocational aspect doesn't make them "training" instead of education, especially since that vocational aspect tends to be inadequate in terms of actually preparing a new grad for professional life - hence why you routinely see an "apprentice" phase in these systems, either formally (e.g. residency, internships) or informally (a lot of professional engineering certifications require working in the field under a licensed engineer for several years before standing for certification.)
posted by NoxAeternum at 8:58 AM on February 8, 2023


I dunno, the fact that e.g. doctors have to do a practical component to their training after leaving university, doesn't make medicine not training. It's just incomplete training for doctoring on its own. I'd argue it's the same with engineering programmes (and the fact that chartership sometimes lets you substitute professional experience suggests the same as well). It's training even if it isn't complete, exec if it doesn't always live up to the ideals.
posted by Dysk at 9:06 AM on February 8, 2023


I dunno, the fact that e.g. doctors have to do a practical component to their training after leaving university, doesn't make medicine not training.

What makes it "not training" is the goal of the program. Legal YouTuber LegalEagle has talked about this on his videos about law school - he's pointed out that the goal of law school is to teach students "how to think like a lawyer" - that is, the goal of law school is to teach students the theoretical underpinnings of how the law works. He's also talked about how his learning on how to be a lawyer was developed by his time in BigLaw, because those more vocational aspects of the profession are not developed by the curriculum. In my own experience as a professional programmer, college taught me how to think about the theory behind code and algorithms, but it wasn't until I was in the trenches that I was learning about specific tech stacks.

So no, these courses aren't "training", because they don't produce people ready to be individual contributors. What they do produce are people ready to be developed into such (and doing exactly that is a part of my job these days.)
posted by NoxAeternum at 9:51 AM on February 8, 2023


I said no such thing -- I said that "pre-med" is generally not even a thing.

Sorry, I was referring to Dysk's comment about pre-med, not yours. I will try to be more careful about conveying exactly what I am responding to.

But the key thing is that the training program is not supposed to equip you to go out and become an expert on some more or less arbitrary topic: it inculcates expertise that is directly relevant to the performance of the job that is being trained for.

Well, two things, really. An engineering education covers a broad range of topics which the students might possibly apply in their future. This is irritating to the students, of course, who wish they were being taught only exactly what they will need to know. If you want to argue that an education in the liberal arts equips students to learn things, I think abstractly that may be theoretically true, but in a practical sense some students students still learn an approach, like a bunch of physics, or a bunch of chemistry.

I fundamentally do not see an engineering degree as similar to a Google certificate, for example.

you keep mentioning other non-traditional engineering fields as examples of how traditional engineering isn't what we say. Software engineering is not the only non-traditional engineering discipline. Particularly a lot of the fields that cross over with other non-engineering disciplines (chemical engineering, biomedical engineering, etc) do not necessarily have any more of the characteristics of a traditional engineering programme than software engineering does.

Oof, well, I don't know I'd tell the chemical engineers that they're a bunch of Johnny-Come-latelys. They'll tell you they've been around since the 1700's. I also wouldn't agree that engineering should be defined strictly by civil engineering or whichever is the most 'traditional'. If you want to talk about licensure, it's common for civil engineers, less common for mechanical engineers, and rare for electrical engineers.

Training, on the other hand, is very focused on specific utilitarian purposes. It's the stuff you need to do to be proficient at a job, or at least to have a hope at becoming proficient in a reasonable time.

I think if you wanted to teach somebody, bare-bones, to do a very specific job, you wouldn't need four years. There certainly are debates about coding bootcamps vs a CS degree, and I really wouldn't put an engineering degree in the same category as a coding bootcamp.
posted by Comrade_robot at 11:09 AM on February 8, 2023




Right after the pandemic began, I remotely (zoom) trained a bunch of kids (in their early 20s) from "an African slum" in interdisciplinary product development methods, the design process, and customized innovation facilitation tools (thinking tools, pencil & paper) meant for low literacy micro-entrepreneurs. Independently, after that, they ran the sequence of workshops with 8 groups, totaling 47 women vegetable vendors. Longitudinal results of innovation practice adoptions and tool use for improvements in inventory management and cost efficiencies are surprisingly good.

However, neither I nor my novice innovation facilitators, by any stretch of imagination, consider them designers, design engineers, or engineers. Their "education" was unintended; side effects such as accelerated skills development through the creative co-development process of interpreting technical jargon from English into Swahili that market women could understand. Direct translations, for ex. "brainstorming" or "ideation" do not work. The team's creativity in interpretation is to their credit. This was a practical hands on "learning by doing" experience of learning new ways to approach and solve problems and experiencing the agency for creative expression.

The difference between education versus training is quite clear to me. You can learn new skills but it takes far more than that to understand how to teach those skills, change conditions for those skills, comprehend the underlying philosophy and frameworks for those skills, and then begin to either exploit them yourself (after your education) through professional practice or enhance them through teaching.

You can also provide training to enhance "how to think" and "how to solve problems" (my datasets are available) but that is not the difference between education and training. The difference is not at the disciplinary level being argued in this thread. The difference is in how its taught and what is emphasized.

One teaches you WHAT to do and HOW to do it. The other teaches you the WHY behind the WHAT and HOW.
posted by infini at 12:02 PM on February 8, 2023


Thanks for the correction, C_r. Lord knows I've done that too.
posted by GCU Sweet and Full of Grace at 1:09 PM on February 8, 2023


« Older “...mourning the loss of yet more games that will...   |   Do We Need the Grammys? Newer »


This thread has been archived and is closed to new comments