When I first started programming I thought that what matters most is our coding. I remember in my first job my boss called me in her office and told me that I need to fix my code, learn more about programming and stuff. And that leads me to learn about the good structure for an app, what technology lies behind it, how to clean up your code, etc.
It also a coincidence that I mostly get a freelance job from my friend. Mostly they are the one that communicates to the client and well,, I just code. I thought that communication is not that important, the most important thing is to deliver a good code. I never been so wrong :)
Even though you can write a clean code, it won't be good when you can't explain the code clearly. Even though you can create a great app, it won't matter when you can't explain to the end user how to use it. It even worse when the app is for another team in the company, because it will start to make them questioning you.
One of my favourite reading is Is writing more important than programming. I really recommend you to read this article. In the last paragraph, it said something that wakes me up.
Technical programming skills are certainly important. But general writing and communication skills are far, far more important. Even if you're merely a humble programmer.
So start from now, let's try to communicate effectively, whether to your client, your colleague, and also to your code (adding comments in the code about complex logic always help the others). I'm also still in learning phase here, in communication and also in writing part :D
For the ending of the article, let's quote a tweet from Bryan Liles :)