A lot of times, it feels like we engineers have nothing in common with artists. Engineers like equations that give definite answers. Artists can depict whatever they want. There’s only one way to interpret an engineer’s design. A painting? It can mean whatever the viewer wants it to mean. Engineers pride themselves on a foundation in science.
But there’s a reason “engineer” and “scientist” are not the same terms. I actually think engineering is a marriage of science and art. The beauty of engineering is that given a problem, there are infinitely many paths to a solution. A solution can be hacked together quickly, or a solution can be elegant and simple. As long as both solve the problem, they are valid, and that gives every engineer a kind of artistic identity.
And I’m not comparing engineering to art just for kicks. In my software design class, I’ve seen where being an artist can make a product better. In CSCI 201, students design software to model the way a factory works. The idea is to make a simulation that features decision-making algorithms that can be implemented in a real factory to increase throughput. For example, if a factory has a robot that has to both take Part A to a conveyor and also remove Part B from another conveyor, there needs to be some sort of logic to order these tasks, and picking the wrong order can mean a less efficient factory.
The art part comes in how the software is written. It is possible to come up with a solution where we throw in a plethora of variables, give functions generic names, and use the wrong data structure. However, this will lead to a confusing system that is not easily modifiable later on.
Instead, we can combat the otherworldly- looking programming language syntax by naming our variables correctly and using data structures in such a way so that it is immediately obvious what is going on. An experienced computer scientist could make a Java program that reads like an essay- and that’s art. There is also something beautiful in breaking down the physical world into a program, which is what object-oriented programming is all about (you’ll hear that term thrown around a lot). There’s no one right way of doing it, which means it’s a creative act. Just like art.