Reginald Braithwaite wonders why software development still fails if programming is something that can be taken by anyone, why is it that we write more about how getting it right is a skill and an achievement in itself. Is the problem that programming is taken up by anyone?
The problem is elsewhere. The problem is in the ecosystem that we have created under the name of creating an industry. We have these big companies, with thousands of programmers, writing programs, without realizing what they are contributing to and what they are really doing. Big companies aren’t a problem, thousands of programmers are not a problem either. The problem is in they being shielded from understanding the value of software development, and that it is more about people and problems than the software itself.
We create a hierarchy in our projects, and every level shields the lower levels from some information. How many members of the software development team know value of the software they are working on, or its importance to the client’s business? How many of them even know about pieces other the one they are working on? This lack of information might not be good for software development but it works for easier management and replacing the people whenever required.
There seems to be a section of companies striving harder and harder for better business, which is good, but without striving enough for better software development, which is bad. There seems to be a disconnect between better business and better software development. Which is why, I believe, most of us are doing good business, but we as an industry still stink at software development.
Now this might not be the case everywhere, which is why we also get to hear about high qualities and innovation. But majority of our software industry treads on the easier path. This is easier to manage, easier to predict and easier to earn. There might be a more difficult path with higher rewards, but this is just a lot easier and safer from a business perspective. Which is when I get to say that they are in for money, and I get bashed by a lot of friends.
I do not think any kind of course or filter is going to help in this. The only way to counter this, if you think that this is a problem, is to educate the individual programmer about software development, and not just writing code or doing documentation. Motivate him/her enough to ask questions and build their own understanding and self-belief, not just skills.