Creativity in Software Engineering

"Wow! I didn't know there was creativity in software engineering!"

Such was the reaction I received recently when I explained what I did for a living. And it's completely understandable. For most people, when they hear "computer programmer" or something similar, something like this comes to mind:


We often picture dark rooms, stale pizza, and poor hygiene. Or we picture mind-numbing hours spent telling the computer what to do and finding small errors like a misplaced semi-colon. But the stereotypical views on programming are hardly the reality of it. While there are times when some of these stereotypes may be true, that's definitely not the norm. At least not in my experience.

The reality is that software engineering generally goes best when engineers are allowed to be creative. That may not be the case for everyone every time, but it holds up in the general case. When engineers are allowed to be creative, they're often more engaged in the work and the end result is usually cleaner and more elegant than if they're simply treated as code monkeys and handed solutions.

One of the things I enjoy about being a software engineer is creating something from nothing. Starting with a blank file and building something that didn't exist previously is very satisfying to me. There's a lot of creativity along the way as well. What should happen when that button is clicked? How should it interact with the server? What's the best way to handle the data or the user input? All of these questions and more are things that generally aren't (and often shouldn't be) spelled out when an engineer works on software.

So, long story short, yes, there is creativity in software engineering and plenty of it. In fact, it's often best to allow for creativity and encourage it. Software engineering is all about creating something from nothing or something that didn't exist before. If that's not creative, I don't know what is.

----

Do you have examples of creativity in software engineering? Comment below!

Comments

Popular posts from this blog

A Common Technical Lead Pitfall

Maze Generation in JavaScript

Leadership Experiment Update 2