There is nothing natural about design. It has to be learned. Instead, we tend to be impulsive, wired to act. Unfortunately, this tendency shows up in the quality of work.
For software practitioners, this couldn't be a greater weakness. Why? Because every line of code is a promise: a promise to the user that it will collaborate with every other line of code to accomplish the mission.
Design, on the other hand, runs contrary to this impulse because it becomes the focus of the creative act without the creative output. It is a cheap substitute for producing the thing. I believe the fear of design is that the creative impulse will be lost. However, this fear is unfounded.
Most software practitioners know that if the task is defined precisely then coding it up is far easier than when the task is poorly defined. Design is thus the process by which the clarity of the task is enhanced with the added benefit that the practitioner retains true agility during the creative process. The cost of change is dirt cheap and the practitioner is invited to be truly impulsive.
Indeed, it is during design that impulsivity should reign free precisely because there are no production consequences. Unfortunately, such an approach is tarnished under the title of 'the waterfall' process when, in reality, taking time to explore the full ramifications of the intended solution without actually building the solution is a healthy and vital exercise to eliminate production uncertainty.
Design is truly a discipline to embrace.