Soft Side of Tech
Most software projects are not mass technical innovations. They are often similar to what has been done hundreds of times. Even innovative projects depend heavily on patterns of past projects. At the end of the day, projects simply don’t fail because the tech is too difficult. Developers are smart. They can figure it out.
The real reason projects fail comes down to the soft side of software development. Customer requirements are wrong, management doesn’t understand what is being done, two teams don’t get along, the status is lied about, or there’s simply miscommunication between the parties involved.
What do I mean by fail in this context? The project is late, over budget, buggy, cut too late, flops, or leaves a huge amount of collateral damage. These failures disappoint, loses customers, demoralizes developers, may even put jobs at risk, and ultimately ends up hurting the company.
So often I see smart engineers that don’t succeed because they fail to apply key non-technical abilities effectively. Often there is a missing tangible skill, like networking or the ability to properly to manage their thinking. We will dive deeply into what the soft side of software development means, but at a high level, this includes everything from interacting with people and running the project to managing your mind and how you ultimately show up. Everything beyond the code. All of the stuff that isn’t taught in school.
Mastering the soft side of software development will do more for you than make all of your projects better. It will help you identify who you are as an engineer. And you don’t need to follow every bit of guidance – in fact, I hope that you are discerning and adopt the techniques that are authentic to you and enhance your career and daily work.