DEV Community

Discussion on: How Bad Software Gets Made

Collapse
 
jillesvangurp profile image
Jilles van Gurp

Bad software gets made by incompetent people, usually with the best intentions. There are people that are incompetent because they lack experience (i.e. it is fixable) and there are people that simply aren't that good and will never be. But don't blame these people, blame the people that hired them instead. You get what you pay for generally. These problems always boil down to lack of leadership and vision. Incompetent people are the symptom, not the root cause. Everyone with a clue already left.

As an engineering manager you only have two options when faced with dysfunctional software teams: you fix it or you leave. This sounds simple but it is surprisingly hard to walk away from a comfortable salary even when you don't stand a chance in hell to make a difference. Quitting is scary.

Fixing broken projects is hard though and requires full support from whomever is financing the project. If that support is not there, quitting is your only option. If it isn't you might want to wake up to the fact that you are part of the problem, not the solution. If it is there, start by dealing with the incompetence. Coach, hire, & fire as needed. I've fixed projects by reducing team size. Small teams are much more agile and easier to manage. Sometimes all you need to do is focus around a few good people and then empowering them to do their thing. The next steps are introducing leadership and making tough calls on what to keep, what to fix, and what to decommission. That requires vision for what is needed. Often that was all that was missing.