What is software engineering?

“Sometimes science is more art than science. Some people don’t get that” – Rick Sanchez

I remember that since high school I questioned myself whether programming was an art. It felt like a very scientific, and non-artistic when I first had the concept. Now I would like to remember that back then I thought that programming was some kind of crazy witch craft that only geniuses could do. Which is not true at all. Now, I hold really close the idea that anyone can code. Anyways. After that I came to the realization that programming is some way of art. To a certain degree I think it’s both; a discipline, and a craft. At the same time it’s a form of art.

Now, why is it a craft? To certain degree, like I said before, everyone code. So coding is more of a craft than a discipline. It really isn’t that hard. You learn how the language processes the commands, and learn the syntax, and you’ll be good to go. It is also a discipline, because in order to properly make good software engineering, it’s necessary to know a lot more than coding. You need to learn the process, how to work, how to communicate, how to be empathetic. There’s a lot more to learn in software engineering than just programming.

The art part of it. I have this discussion with some of my friends every time we stubble into a subject related to it. Software engineering is an art for various reasons. For starters. A software engineer must find the most elegant, practical, and efficient way to solve a problem. That’s the main plate in the idea. Someone once told me that software engineering is a bit of a mutt.

a beast made out of mathematics, science, and other disciplines. I think art is something that is in that equation too, but that’s just my opinion.