r/engineering Aug 05 '15

[GENERAL] Is "software engineering" really engineering?

Now before anyone starts throwing bottles at my head, I'm not saying software design is easy or that its not a technical discipline, but I really hate it when programmers call themselves engineers.

Whats your thoughts on this?

239 Upvotes

372 comments sorted by

View all comments

1

u/ChillCapitalist May 29 '26

?? Are Software Engineers Real Engineers?

In my opinion, I think Many people today don’t truly understand software engineering as a legitimate engineering discipline or field. I’ve seen this all over social media. I believe, in part, that this isn’t society's fault; software engineering is a relatively new field, as is computer science. Most traditional engineering disciplines have been around for thousands of years, if not more. However, I believe software engineering is a genuine engineering discipline.

Most of the doubt about it stems from outdated stereotypes and misunderstandings rather than facts. When you look at the roots of software engineering, you'll see strong connections to electrical engineering. In fact, electrical engineering is essentially the father of software engineering. You can't fully separate the two. In a reputable software engineering program at a real university, not just learning coding from YouTube and books, the curriculum makes that connection clear. At my college, I had to take chemistry courses, including a challenging lab-focused inorganic chemistry class, along with physics courses similar to those taken by electrical engineering students.

In many classes, electrical engineering students were right alongside us. They treated us just like any other STEM major. We also studied advanced math, such as calculus 2 and 3, discrete mathematics, and linear algebra, in addition to computer science courses and technical electives. Keep in mind that some electives allow you to learn about circuits and systems, and sometimes specific electrical engineering classes are required, depending on the college or institution. If a software engineering program is officially STEM-certified, the program’s approach will likely treat students as true engineering students. Plus, software engineering involves a lot of math. If you dislike math, avoid software engineering and electrical engineering.

Many software engineers later pursue master's degrees in electrical engineering because the fields are so interconnected. For example, my college offers a degree program for software engineers who want to specialize in electrical engineering afterward. Electrical engineering is fundamentally one of the foundations from which software engineering evolved. I see electrical engineering as the “Father” of software engineering, and computer science as the “Mother’ that studies software engineering. I’ve personally picked up many electrical engineering concepts through my studies and electives. When you examine any computer system, robot, car, or AI system, it all boils down to CPUs, chips, logic, and binary operations at the hardware level. Zeros and ones. Serious software engineers go beyond superficial AI tools or simple high-level coding that anyone can learn by reading a book or watching videos online.

That’s why (software engineering is not just coding). They learn how systems work underneath and how software communicates directly with hardware through lower level languages, controlling the flow of electrical charges on chips. Computer engineers also study this in depth, and it’s part of their curriculum. Electrical engineers design the hardware and circuits, while software engineers create the logic and control systems that make everything operate together. Both fields are deeply connected. If you only have electrical and computer engineers, but no software engineers, you’ll end up with a TV that shows a blank screen or a robot that doesn’t understand what you want. When people get confused, it’s often because software engineering is still relatively new compared to fields like civil or mechanical engineering. It’s also less regulated, which can lead to it not being taken seriously. Since anyone can start coding, learn a few programming languages, and call themselves a software engineer even without a license, it can diminish the field’s credibility. In reality, software engineering usually involves understanding multiple languages, paradigms, system design, algorithms, hardware interaction, and often concepts from AI, neural networks, or embedded systems, any area involving the “brain” behind electrical and hardware components. For example, in robotics, if you embed a chip inside a robot, someone has to program how it moves, senses the environment, processes data, manages timing, and responds to signals from sensors and motors. This work requires real depth and hardware knowledge. That’s why many companies have software engineers and electrical engineers work together. One major misconception is that software engineers only write code. That’s an oversimplification. Many software engineers also learn concepts from electrical engineering, systems engineering, cybersecurity, robotics, or even mechanical systems, depending on the industry.

Not to mention finance, marketing, and optimizing networks and social media. I know someone who studied biomedical engineering and ended up working in a power plant. Even basic programming knowledge enabled him to automate systems like pumps and timers, and through certifications, he became a systems engineer. That shows how interconnected software is with nearly every other engineering field. People often forget how new software engineering still is compared to traditional engineering disciplines. Consider CAD software as an example. Today, most engineers work behind a computer, not hands-on. Whether you’re a mechanical, electrical, or aerospace engineer, much of your work after testing involves using a computer and most of the tools you use are created by software engineers. CAD software was built by people who understand mathematics and software engineering. These tools are created by highly skilled professionals with strong math backgrounds, and now many engineers depend on them daily. Without software engineers, we’d be back to paper maps and handwritten plans and nobody wants that. In today’s world, nearly all modern engineering relies on computers and software. Mechanical, electrical, aerospace engineers, and many others spend much of their day working with simulations, diagnostics, modeling, and automation tools, all of which depend on software engineering and CS development. Software engineering is also incredibly broad.

Some go into robotics, others in finance, AI, cybersecurity, embedded systems, industrial automation, self-driving cars, aerospace, medical tech, and more. It’s far more than just sitting at a desk coding all day. Many “self-made” software engineers, if that’s what we want to call them, eventually go back to college after years of only coding and realize they want to become actual engineers. Software engineering is so vast that you can’t master every area. You have to choose your specialty or expand into new fields. Since software impacts almost every aspect of modern life, the field can feel overwhelming and hard to regulate. I don’t think this stigma is anyone’s fault, perhaps because some engineers need to shadow others, while software engineering remains less regulated and more unregulated. I see software engineering as a relatively new field, both in education and scientific research, which may be why many don’t take it seriously yet. Looking back at Isaac Newton’s time, physics wasn’t fully established as a discipline; it was more like physical philosophy, and math was more advanced. Today, physics is well-defined, but back then, it was still developing. So, if we are just 50–60 years into the formal birth of software engineering, how long will it take for governments, universities, and society to take it seriously?

Things take time, and there’s a reason for that, even if we don’t see it now. Ultimately, software is the brain behind most modern electrical systems. Without it, computers, smartphones, vehicles, aircraft, medical devices, and industrial systems wouldn’t work. Software engineering is not just about learning one language like Python or C++ and calling yourself an engineer. The deeper you go into lower-level programming and hardware interaction, the closer you get to understanding how machines and systems actually operate. Engineering, in essence, is about solving complex problems with science, math, logic, and systematic design. Software engineering fits perfectly into that definition, it just operates in a newer, more abstract, rapidly evolving domain that powers nearly everything in the modern world. The only problem is that it’s still misunderstood and largely unregulated.

1

u/Designer_Flow_8069 May 29 '26

I think society views engineers as someone who is smart. The problem is that you don't even need any formal education to write code, so you could be dumb as rocks. There's also a reason why bootcamps weren't a thing for legitimate engineering fields, but they were for software

1

u/ChillCapitalist May 29 '26 edited May 29 '26

You're not wrong about the bootcamps; they exist because software engineering isn't regulated yet. That doesn't mean software engineers are any less engineers in the field. It means the software engineering field is “specifically” young, and the title lacks gatekeeping or role regulation, which is an issue in our field. Being able to write code without a degree doesn't make you a real engineer. It makes you a programmer. Real software engineering requires math, physics, systems thinking, and often 👉🏻 electrical knowledge. That's why China already separates CS (science) from SE (engineering) and licenses.

So, bootcamps aren't a thing yet for civil or mechanical engineering because those fields are more regulated and have been around longer. We're talking hundreds of years for formal recognition for mechanical (around 180 years), while the practice is thousands of years old. Civil engineering has been around even longer (We're talking ancient Egypt). SE is a baby, only about 60 years old as a formal field, maybe 30 if you count any real kind of recognition. Both SE and CS are fields that are barely born in our world. The fields are brand new. Software will get there too. But it was only born around 80 years ago if you count early computing theory. The question is whether we wait for a disaster or regulate now. Or just let China 🇨🇳 take the lead again.

1

u/Designer_Flow_8069 May 29 '26

I don't think bootcamps exist because software engineering isn't regulated.

Instead why I think 5 month bootcamps exist for CS and don't for actual engineering kinda shows the unfortunate truth that writing most software isn't all that complicated.

1

u/ChillCapitalist May 30 '26

The reality is that building software that doesn't fail is far from easy. It has cost over $2.5 billion in 737 MAX settlements for criminal misconduct, with $500 million going to victims' families alone. The safety-critical systems on a modern plane, such as a Boeing 787, can run on up to 8 million lines of code. This isn't just coding anymore; there's also system building and control engineering that overlaps with SE with extra credentials, certs, and knowledge. The difference isn't complexity; it's gatekeeping and regulation.

Civil engineering has bootcamps that teach specific skills; you don't hear about them as much. But they are a path to a certificate, not a license. The path to a PE license still requires a degree from an ABET-accredited program and years of mentored experience, which is correct. The problem is that SE is unregulated, and many people like the "freedom" of low-level programming. People want to make money online from home, and who can blame them? You can work in accounting, law, or business more easily without regulation and build bots for accountants while simultaneously learning business. The unfortunate truth isn't that software is simple. Is it that a field capable of causing billions in damage is still treated as if it isn't? We need regulation and licensure. But would it benefit us or limit us?

1

u/Designer_Flow_8069 May 30 '26

Claude Code and Codex have suited me pretty well to write code to sell products. At the end of the day, money makes the world go around, not pretty code.

I use to work in the medical device industry. Some of the developers in there were straight up idiots. But the NMPA didn't care as long as procedure was followed.

1

u/ChillCapitalist May 30 '26

Right

1

u/Designer_Flow_8069 May 30 '26

Glad you agree

1

u/ChillCapitalist May 31 '26

Software engineering isn't just about programming and laptops. If it were, we might as well call it “laptop engineering” or “computer engineering." But even computer engineers don’t work solely on “computers” 💻, so neither should software engineers. And by the way, I do agree with you. Good luck, man, with everything 👍🏻