Yes, and I realized this when I start to work for a company and found myself have a lack of explaining the project with my manager and not founding new ideas to implement, and explaining this feature and why we shoud add. A programmer shoud be able to communicate with other people and explain their ideas very well, so I should stat reading one book for each thing that will affect the way i think in programming or in life. I also found that presentation skills are very important and to understand the business side. We are not going to be a business or sketches guys but theses things will help us in programming very well and the way we think.