Is Programming Art or Science?

What is the nature of a software developer — It is to create!

Jim Roberts
New Writers Welcome
3 min readDec 21, 2021

--

Courtesy of Sean Pollock at Unsplash.com

Art is defined as — “the expression or application of human creative skill and imagination, typically in a visual form such as painting or sculpture, producing works to be appreciated primarily for their beauty or emotional power.”

To me, this definition can be extended to software development. A software application is like an easel waiting for the developer to paint his or her code on it. It is basically a design whose purpose is to please others — just like a painting or any other art form.

Whether your role is a project manager, analyst, solution architect, product owner, or developer, it really doesn’t matter. You have to keep in mind that you are creating something. You are creating something out of nothing. Like a writer, when you start, you have nothing in front of you — a blank page. As you gather the requirements in your head as to what you want to be written down in your story and then transpose those ideas to the “page”, you have to keep remembering that when it is all over you will have an article that you created that serves a purpose for “ your end-user” — the reader.

Don’t Cut Off Your Ear Vincent…

Just like any other artistic process, software development when done correctly should produce a creative high for the developers and everyone involved in the project and a sense of “awesomeness” for the end-user. As the buyer of a painting who is happy to hang his new purchase above the fireplace in the living room and just stare at it for hours, so should the user, team, or organization be happy with their software because of its design — both internal and external.

Inspiration is the fuel that should drive software development. It should drive one’s imagination, enthusiasm, and artistry. It should be like a giant jet pack on the backs of everyone involved in the project. I think when you take this approach, in the end, you will produce better software for everyone involved.

But all too often, too many other “non-creative” things can pervert the creative process — like timelines, budget, resources, and expectations. This is why it is very important to have the right people in the right role with the right characteristics. Everyone has to be on the same page with regard to what the software development process is REALLY all about — creation.

Understand Your Development Team…

In my experience, project managers and other non-technical folks seem to be devoid of the creative spirit. They prefer to spend their time managing the project and the team working on the software with respect to budget and dates rather than relating to and engaging with the team on a creative level. For a business person, this will feel correct. This will feel proper and right. But, it is not. Any, why is it not? Because your developers do not think like that.

Everyone needs to be on the same page. Developers do not think like business people. They think like content creators. Just like a writer, they are assembling bits and pieces of content…a.k.a code until the desired result is achieved. They are problem solvers by nature. They like to help by nature. The sterileness of timeline management, expectation management as well as resource management is something that needs to stay out of the creative process.

Now, I am not saying that you do not have to worry about the “business side of development”. You most certainly do. The trick is not let it interfere or otherwise stifle or inhibit the creative process.

--

--

Jim Roberts
New Writers Welcome

Founder of Seneca Bay Media, digital marketing coach, writer, business analyst, software developer and small business advocate.