Hacker News new | ask | show | jobs
by Antoniocl 984 days ago
I would say it depends on the specific role and project, but for most people who write code, likely not.

Coming from a mechanical engineering background, I understood "engineering" as the application of science for problem solving - or, put simply, applied science. Some examples:

1. When a civil engineer applies solid mechanics to select a cross beam. 2. When an electrical engineer applies E&M to design a circuit. 3. When a mechanical engineer applies heat transfer to analyze cooling patterns on a laptop.

Under this definition, most "SWE" work isn't engineering - if anything, it's closer to applied math and logic?

That said, definitions are only useful inasmuch as they allow us to make sense of the world and communicate with others, so I'm not sure this is the most useful question

2 comments

You could consider it as applied science in that we are dealing with CPUs, we do benchmarks, we build models of things ... but this isn't work that everyone does.

I wouldn't call most SWE work close to applied math or logic. Very few people get to deal with things that are math-adjacent or do applied math in general. Many things are just .. plumbing data.

I agree that for people who do that type of work, it's engineering

For a typical fullstack dev building views, CRUDs, and simple DB schemas, less so

And you're probably right that most SWEs don't deal with math-adjacent things.

---

And just to be clear, none of what I'm saying is a value-statement on the types of work different "software engineers" do. It's just a question of categories, which I view as separate from utility

Not a CE myself, but computer engineers definitely consider physics in their solutions since they have to consider complexity, computational speed, memory restrictions, concurrency etc

Aka they take fundamental theoretical concepts and given the physical constraints we have from the existing computing systems they come up with viable solutions.

I agree that the work that CEs do in the vein of what you're describing is closer to my conception of engineering.

I also don't think most people who call themselves a "software engineer" fit that description though. My guess would be less than 10%?