subject: Soft Skills Versus Technical Prowess [print this page] Soft Skills Versus Technical Prowess Soft Skills Versus Technical Prowess
I have often wondered which is better for a developer to have. I have always seen through experience that soft skills are so much more important. It is the ability to listen, feel and emphasize with what their user base wants and needs that is the most important skill. It is their ability to relate and understand. It is the knowledge of the subject matter of which the building of the application they are embarking on rests, that will make the project a success.
I have always felt, if you put enough monkeys in a room , with enough computers, they can create a novel. In other words, we can teach technical skills. Anyone can learn anything with enough time and the right teaching method but soft skills are much harder to learn.
I have seen first hand enterprise wide .NET applications, built by teams of developers, that fell short of their mark. They were buggy. The usability was horrible and its over all ease of use was absent. It was way over-engineered. And yet the team that built this application were extremely intelligent. They were very knowledgeable in all things .NET and C#. They had years of industry knowledge. However, they lacked the ability to understand the wants and needs of the user. They didn't have that "thing" that makes them want to reach and find out how the actual user of the software would like it to function. In fact, they did not care. There was no internal feeling inside these folks that motivated them to make the end user happy. It was their technical prowess they thought would drive them to the promise land of success.
In the end, it is those character traits that understanding, caring and empathetic people possess that I think, if a developer has more of, will make them better off. So learn those soft skills. Get good at them. Train yourself to be a better listener. Train yourself to put the end users needs before your own. Remember, you are building the software for them. Reach out to them and try to solve their problem. Make them part of the process. After all, you should be developing your software for their needs and not your own. You should be trying to help them and make their lives easier . They don't need nor do they care about how technical the solution was under the hood. They are not interested in how tough the solution was to come up with. You can pat yourself on the back later when you are with your buddies at your next