Software Engineer vs. Code ArtistFiled Under Thought Stuff
Is software development engineering or artistry?
This long running debate received new life when Steve McConnell gave a fiery reply to an IEEE Computer article titled “Software Development : What is the problem?“. Eric Wise has now stirred the pot with his post Rejecting Software Engineering.
Personally I wonder why everyone thinks they are an artist. I don’t care if you are a software developer, carpenter, or plumber; every profession thinks they are so clever that they deserve the title ‘artist’. This is a load of crap. True pencil and paint artists can create subjective works without any repercussions.
Expectations to create readable, maintainable, scalable, testable, documented, and flexible code are everywhere. We can not even commit to open source projects without being censored for quality. Developers get no bonus points for clever solutions, only for quality and useful solutions.
The number of ways we can solve problems through software is amazing. Of these solutions comes many unique and clever permutations; all representations of their creator – the developer. But acts of creation does not imply the right to declare ourselves artists. Musicians are artists that can have free spirited impromptu ‘jam sessions’. When was the last time you saw a developer express themselves in a free spirited impromptu ‘code session’? It just sounds stupid saying it.
Mathematics is considered a science, yet solutions can be cleverly constructed. So why is it a science and not art? Mathematicians (like developers) need to be confined to solving a problem in order to start creating.
Solving a problem is not art. Creation is not art. Being held to standards and expectations is not artistic. We are not artists.