What is the recommended way to handle with a co-worker who just constantly "preaches" his answer and does not "seem" to view the point of the view of others. 

My goal is to figure out how to 

* get this co-worker to just get to the point in his explanation without the fluff
* when listening to other people's view (either in meetings or code), to also think about what the other party wants. I have other developers who get frustrated working with him or submitting code to shared code repos in which he is the maintainer because it seems to be basically either his way or no way.

Some situation examples

> 
> PM: Can you please give me a estimate for feature A?
> 
> 
> Co-worker: *begins a whole rant about the validity of estimates, why they can't work etc for the next 10 min*. 
> 
> 
> 

or another

> 
> Dev: (in a pull request) I would like to add feature A into this shared library (which co-worker maintains)
> 
> 
> Co-worker: Writes a 5 paragraph reply on the philosophy of the shared library and why feature A does not fit it. 
> 
> 
> 

My relationship with him is a partly has both a dev lead and a collegue. My role as dev lead though our company tends to maintain a "flat" hierarchy. I personally tend let him to his own devices because he is far more senior/knowledgeable than me as a programmer and he still does deliver results but it a manner where none of the other developers are able to contribute or require a huge learning investment in it.

In general, I do appreciate the point of view that this co-worker provides because he is one of the few developers who is experienced enough with larger systems. He comes from a system admin background but joined our company to get into more app development.

It has caused tension during planning meetings - it could be a culture difference where he came from a more structured sysadmin environments and majority of developers come from where things need to get done fast instead of slow and right. It is a philosophy/culture that I am slowly changing while still keeping in mind that we still have to deal with deadlines that are mostly cannot be shifted for various reasons.

I hope this gets the point across - I know what I want to achieve with this question and what the situation is like. I just can't figured out what is the proper "term" for this.