Several years ago I have been hired as an Oracle developer in a software project to be developed from scratch. At the time I have been hired, the technical architecture was already validated and accepted by the customer.
When this architecture has been presented to the developers, I found, thanks to the two Tom Kyte books and the two Jonathan Lewis ones I bought and read many times, that this architecture will not work as expected. Unfortunately, I was unable to change anything mainly because I have been hired as a developer and because I couldn’t go to the customer and explain him in “radically different terms ” so that he can support me. I realised when I tried to change things that I was speaking Chinese to a person with French native language. In other words, I was unable to communicate not because “I couldn’t put five words together in a cohesive sentence” but because “I couldn’t speak to a non technical audience” and because I was viewed as a simple developer.
A year and a half after, the project started and has been delivered to the customer. Then problems and incidents generated by the new application start rising up. Due to the complicated architecture – we used kind of S.O.A architecture which generates a high number of PLSQL lines of code, those incidents were very difficult to solve, even for me who has been involved earlier into the development of this application. When the customer realised what he has been given, he remembered the private discussions we have had before the kick-off of the project. He, since that time, starts listening to me. I didn’t acquire new communication skills in between to make my audience attentive. It was the unstable application we have delivered that made the customer attentive to my comments.
Before we delivered this new oracle application, our customer was using an old very stable, performant and easy to use Mainframe application. Since he has been in touch with us, he thought that there exist risks to implement an application using Oracle data base. I told him that it was our incompetence, inaptitude and ignorance that put their new Oracle application in an unstable equilibrium and built a non performant software. Oracle data base is not to blame in this situation. I showed him this sentence I have taken from Practical Oracle 8i book
“The more people you invoke who do not have some understanding of how Oracle works, the higher your chances of rolling out a failure.”
I wrote these few lines only to emphasize that: you can have excellent communication skills but if other peoples in the same project have the same excellent communication skills they may impose their ideas even if their ideas will not suit the business requirements in terms of performance, availability and scalability. It is not only a question of communication skills; sometimes it is question of “What have you done before that?” together with question of “Who you are?”
Imagine that both Tom Kyte and I are working in the same project, and imagine that we both have the same good communication skills, and Imagine that the technical architecture proposed by Tom will not work, while my architecture proposal will much the needs of the customer. Do you think that my proposal will be considered? The customer will never look at it. The only chance I will have to be considered is that the customer himself will realise (unfortunately too late) that the Tom’s proposal was not adequate to their needs.
It is kind of “hierarchical sort“. If you have been sorted by project managers or by customers in a level so that you are closer to the bottom than to the top, the chance to see your excellent communication skills ignored will be quite high.