“Software development is a kissing cousin of engineering (if not an engineering discipline itself), and blends creativity with math and science. That’s why I find that a lot of advice to creative types is also applicable to software developers.” - Joey deVilla
Creativity is something which we generally do not relate to programming/software development. Typically we consider software development to be highly algorithmic in nature, where you can define what you want and how you can implement it. But essentially, its not the only thing which defines a software. I think software development is one such field where invention happens every now and then. I am not talking about new technologies being released; I am talking about the programs that we write everyday. Everyday we write something unique, for our product or project. But why are we so reluctant to recognize these creations? Partly because, these things are often taken for granted by most of the customers. Some ( or many) cases it is even worse, as the managers also do the same. This phenomenon is so dominant that many non-developers think anything is possible in software and it can be developed in “no time”. Especially this is applicable to IT services, where big fat non-IT customers pay big chunk of money to expect a miracle to happen, as if overnight they will become a market leader or reduce their production cost or whatever reason they are developing the system for. Although not all customers are like this, but most of them are. In this mess; most of the time; the creativity remains unnoticed. Even the developers themselves don’t realize that they actually created something to be proud of.
Creativity is highly relative. Don’t get deceived by thinking that, it is just about implementing any software. All developers do that. The difference lies in creating original idea and problem solving.
Original idea: Sometimes, a simple idea makes a big difference. This is not only applicable to features of a software, but also the way softwares are implemented. Many times this has something to do with mixing different technologies/approaches. Its the uniqueness of how you have solved a problem.
Problem solving: Many times it turns out that the conventional tools are not sufficient. Many developers just beat around the bush, hoping to get some solution. But creative ones, can differentiate between what’s possible and what’s not. When it is not possible, they create something on their own. I always believe that developers who go by their intuition get things right in this department, than sheer intellectuals. Definitely, being intellectual helps, but there are cases when you also need intuition of how things should work. This helps to create radically new solutions to many problems, which otherwise wasn’t possible. For some reasons, we Indians give extremely high importance to intellect, talent and analytical power.






