Software development is a creative industry. We hear this statement frequently and, in time, even find ourselves repeating it. We accept its obvious truth but expend less thought on what it actually means.
Ask any aspiring IT professional who gives a damn about his personal development what kind of work environment he’s looking for. Sometimes you’ll get a direct creative environment while at other times you’ll hear about wanting to have my ideas taken into account or work on diverse and challenging projects. They all mean the same thing. People who work in IT need an outlet to express themselves. They thrive on challenge and overcoming barriers, real or imagined, personal or external.
Unfortunately, if we look closely, we will find that the perception of creativity in this industry is plagued by many misconceptions. Programmers and other IT professionals are creative by nature but often fail to see how creativity is applied in their work. I’ve seen my fair share of good people chasing red herrings of self-expression. The most common trope is that creativity is the stuff of product managers and entrepreneurs so we should all try to hop on the innovation train and come up with ideas! I have to wonder who would be dealing with all the engineering challenges if we all did that.
This limited view of creativity being manifested solely in product related ideas is the first step towards a distorted perception. Add it up with others and you can easily end up on a path of unhappiness and lack of self-fulfillment.
So let’s bust some myths!
Creative Jack is an IT professional who is living the dream and has the best job he could have imagined. He works in one of the most innovative environments on earth, for a company that really values its employees and encourages them to think outside the box.
Jack parks his electric, single seat car in the company parking lot and heads for the main building. In the lobby he is greeted by a large sign that hangs above reception. It reads:
“Sometimes you find yourself in the middle of nowhere. And sometimes in the middle of nowhere you find yourself.”
He pauses for a second as he tries to find himself and then continues towards his office. He passes the “Spirit” conference room where the interns are doing Monday Yoga. He stops by the Hall of Nourishment (what you and I would call the kitchen) for some coffee and chit-chat with Anne, the new Mongo administrator. Finally at his destination, Jack sits back in his bean bag chair and sets to thinking about how he will change the world today.
The myth of the ideal start-up environment as sole catalyst for creativity is very popular. It’s caused by the confusion inflicted on us by the buzzword of the day that is Innovation and our pursuit of it. This ideal environment prescribes inspiration hanging on every corner and is geared to make every single employee the next Steve Jobs. How else to be creative than having a constant stream of great ideas?
There is absolutely nothing wrong with quirky office environments that stimulate this type of creativity. In fact, having written about it, I kind of want a kitchen called the Hall of Nourishment in our office now. But are we really saying that the innovation conducted by these places is the only kind of creativity we can find in IT? Is this the only outlet for our desire of self-expression?
To start answering that question, let’s remind ourselves that our main job as engineers is to solve problems. Most of us are not product managers or entrepreneurs but we are also not writers of code, runners of tests or installers of system packages. We solve problems through the thorough application of engineering skills. Problem solving in itself is a creative process.
The hacker that finds security loopholes is undoubtedly creative. So is the architect that comes up with an elegant system design that’s easy to maintain and extend. Partition your data just right between the multiple data stores you’re using and you can increase performance tenfold. The administrator that just automated a process which used to take hours of manual labor every day did so because she remembered that tool she used on another project a few years ago.
So yes, IT engineering is a creative enterprise. You should care about the product you’re building or supporting. You should try to understand what problems you’re solving so as to better come up with solutions. You should also contribute to the product vision if you’re so inclined, but unless you’re pondering a switch to product management remember what your core strengths are. Your skills are best suited for engineering challenges and there’s no shortage of opportunity to be creative there.
Let’s go back to our creative friend for a moment.
As Jack leans back in his chair, his mind is whirring. He needs to come up with an idea, something that will make his video sharing platform stand out and capture the imagination. He looks around the room looking for inspiration. Staring at the lava lamp on his desk and watching the odd blob patterns taking shape and disintegrating, Jack suddenly has a moment of clarity. His idea is born and he knows exactly what he has to do.
I am personally guilty of falling for this one. It started from my moderate interest in art. As a technical person I have almost no personal experience in making art and few artist friends, so I just couldn’t imagine where artists come up with this stuff that I could never conceive myself. I honestly thought this is how inspiration works. There could be no other explanation. But then again, have you ever found yourself staring at a wall trying to come up with a solution for something? It doesn’t really work, does it?
Though it may seem different, Jack’s conundrum of trying to find a great idea for his video platform is in fact quite similar to that of a painter attempting to put the first brushstroke on canvas or that of Anne the administrator trying to find an efficient sharding solution for her new Mongo cluster. It’s that first action that paralyses writers and programmers alike. Where to start? What to do first? Unless you’re doing a routine job that you’ve done a million times before, you will have this problem.
So how does it actually work? Well, inspiration actually comes from experience, practice, and having the right state of mind rather than a divine bolt from Zeus. We must have a vast pool of knowledge to build on. We must constantly expose ourselves to new ideas and have an open mind. We must practice what we learn in routine scenarios, so that we can rely on it when we need to apply it in novel ones.
Here’s how to get that Mongo sharing just right without having to stare at the wall:
Few problems require the creation of something completely new. Creativity is required however in combining existing elements in a new way, or even applying known solutions to our particular projects. This is as true for programmers as it is for painters, writers or product managers. To put it another way, creativity covers not just the invention of something new but also the novel application of an approach to a specific context. Being creative in both of these senses requires knowledge, experience and an open mind.
The mind of an IT professional is fine-tuned to understand systems and systems are bound by rules, states and assumptions. This inclination can be a drawback when trying to be creative.
There are oftentimes fewer limits and constraints in any problem space than we may think. What we’re actually dealing with is a large number of assumptions that can be easily confused with immutable constraints. Sometimes they are hard to identify but that’s exactly what makes a creative problem solver. By challenging assumptions they can find novel solutions that others may completely miss.
Anne is trying to fix an elusive database bug that manifests every week like clockwork and can’t for the life of her figure it out. After countless hours debugging stored procedures she finds the problem in the most unlikely of places. As she walks past the server room, she notices the janitor happily cleaning the door window, all the while leaning his broom on the main router.
“Hey Bob”, Anne asks, “how often do you come by here to clean the windows?”
“Every Friday!” Bob explains proudly. “Never miss a week.”
Assumptions come in many forms and finding them is not easy. Am I looking in the right place? Am I solving the right problem? Everything from requirements to resources, infrastructure and any other “immutable” variable can be challenged. You may have heard 3 months ago that there is absolutely no way to add another person to the team, but if recently surfaced knowledge indicates that a DBA will cut your delivery time in half it may be a good idea to let your manager know. She may change her mind.
The first fabled fish is the innovative startup environment where inspiration hangs on every corner. This is the Mecca sought especially by those who think creativity in IT is limited to product ideas. Others see past this and express themselves through solutions to the engineering problems they are best equipped (and most inclined) to handle. But there’s another pitfall looming.
The second herring is false diversity. A lot of developers seek diversity of projects and technology. I dare say that this is often a misguided desire. I’m not suggesting that this exposure is not useful in various stages of the IT professional’s career, but let’s explore the reasons. People seek environments like this because they want to have opportunities to learn. I would argue that having a diversity of problems to solve is at least as important as having a diversity of projects or technology. They are all important for different reasons, but don’t be fooled into thinking that having many projects spanning a lot of technologies automatically creates opportunities to learn and grow.
“I got it!” Jack shouts as he bursts out of his office.
He runs to the CEO’s office, breath ragged from overexertion. As he leaps into the imitation jungle corner office, he can barely contain his excitement.>
“Johnny, I got it! I know what will take VCShare to the top! We need a facial recognition software to detect faces in the videos and replace all of them with funny cat faces. This will take our core KPI of average-cats-per-video through the roof!”
Creative Jack is a great guy and his cat idea might even work. But I’d like to suggest an alternative.
Let’s be pragmatic creative. Let’s not chase the red herrings and remember that creativity is not limited to innovation. We have plenty of ways to learn and express ourselves in our area of expertise. Creativity does not come from divine intervention; it comes from curiosity, knowledge and challenging rules and assumptions. Essentially – and there’s no way to put it mildly – it comes from yourself and how much effort you’re willing to dedicate to your work.
In closing, one final thought. While creativity is an important quality for the IT professional, it’s far from being the only one. You need perseverance, patience, great communication skills and a good work ethic among many others. Don’t despair if you find you aren’t wildly creative. Like anything else it can be learned in time but, more importantly, you may find you have other important strengths that more than make up for it.