IT has many job profiles such as Developers, Testers, Business Analyst, Writers etc. I feel among them, development is the least important skill for the following reasons:
It uses no human skills
Development is simply coding. You already know what you need to do (it doesn’t take a great deal to plan what you need to do), and you know the code that will make it happen. You can google the code if you don’t know it. If the code is right, the job gets done. It is so simple. You do not have to do anything else. Compare it with the role of say, a business analyst, who interfaces with a client and manages all the turbulence that other humans (particularly clients) can bring to his work.
It is a language that can be mastered by anyone
To code, you need to learn a language. It is a pretty much like learning any other language with its own semantics. Is it difficult to write in say, English language? No? So, how it can be difficult to code?
Most of the coding is not development
Most of the coding is simply using methods of a language and calling them to accomplish a task. The actual development means when you create additional methods for accomplishing tasks and make them available as part of the language itself. That work is difficult, I can understand. Everything else, however, is just using (and not development) classes, libraries, and API methods. And you have very well-crafted API documents explaining how to use these bits.
Coding is like math. It is simple.
Coding looks daunting; however, it is simple. Off course, when you see the entire code, you get scared, but the thing is that you never have to work on or manage the entire code. You just have to use few functions and the functions do their job pretty well. And, if you have a complex use case that you need to code for, it would have already been handled by someone, and the fix would be available in stack overflow. There cannot and there has never been a use case that is not already covered. This makes development very easy.
Development is becoming easy with each passing day
With the advent of UI driven IDEs and frameworks, the development now is not more than designing. Every IDE now has drag and drop features for creating the UI. Now, there is even less coding than before as everything is being moved under the hood. The tools have become over-simplistic.
Development is largely an autonomous activity
In IT, there is interdependency between different departments. Everyone is dependent on others for keeping the goods moving in the conveyor (so to speak), however, development is largely autonomous and has least dependency on others. The other ancillary activities such as testing, and documentation are heavily dependent upon development, making them complex tasks to perform because of the increased dependence.
Developers have a superiority complex
Since code is the building block of a software, it is understandable that it is very important. However, everything else like testing, documentation is also equally or probably more important. Developers do not have this vision and they create psychological barrier around themselves that diminishes their overall value.