Savvy software developers should spend a bit of time focusing on their people skills, because even in the most technical environments, successful projects rely, in essence, on people.
But, this is often overlooked or regarded as low priority compared to the latest technology, processes, or methodologies.
It is ironic that in possibly the most technical of disciplines like software development, we have a huge reliance on people and their interactions. In fact, software development is more about people than anything else, but after 20 years in the industry, I can count on one hand the number of developers that have requested 'soft skills' training.
While it is true that using the right technology and processes are key to any successful development, it is often people issues that conspire to contribute to a positive or negative project outcome. A key component of this is the ability to work together as a team with open lines of communication, and the emotional maturity to handle the robust debates that must develop and reach conclusion.
Many technical folk in the industry do not see this need for developing their interpersonal skills, but what they miss is that being effective in the workplace is often more about these peripheral aspects than pure technical genius.
With technology developments moving at such a rapid pace, it is almost impossible for a project manager to be truly in touch with all the technology aspects of the projects. As such they rely hugely on their technical lead to play a key role in the development.
If this person lacks 'soft skills', this can have disastrous results, with the project suffering as a result of poor communication, and lack of leadership and information sharing.
Overcoming the challenge that this dichotomy presents is one of the most important aspects of successful software development. No matter what your technology, skills profile, processes and methodology, it still comes down to good old fashioned interpersonal skills and communication.