How To Piss Off People and Kill All Reasonable Opportunities for Discussion
My esteemed InfoQ colleague JJ Dubray once again provides a great example of how to avoid ever learning anything and piss off people in the process.
This is a single archived entry from Stefan Tilkov’s blog. For more up-to-date content, check out my author page at INNOQ, which has more information about me and also contains a list of published talks, podcasts, and articles. Or you can check out the full archive.
My esteemed InfoQ colleague JJ Dubray once again provides a great example of how to avoid ever learning anything and piss off people in the process.
Stefan:
what discussion? you mean that there is a possible reasonable discussion that can happen? If there was a single chance of a real discussion, I would never write this kind of thing.
How can someone in 2008 (with the kind of background and responsibilities that Jim has) express that “one service implements one process” and the “once your are done with your first process” … “you go to the next”?
How can someone like Jim tell you, if you don’t see what I mean, just go look at “MVC”? Because MVC is a SOA pattern?
I can just as easily return the argument, am I really the one who can’t learn? Some people keep insulting principles and concepts that seem to escape them entirely and refuse any challenging question in the process.
Again, if I had any alternative, I would never do that.
JJ, I know that there’s no chance I can convince you. You might start wondering, though, why you’re surrounded by total idiots, and why there are more and more of them — even if they’ve been respected members of the distributed computing community for a long time.
Maybe, just maybe, the problem is on that side of the discussion where you (and pretty much only you) don’t expect it to be.
It is always easy (I would say cheap) to bring the discussion to these grounds rather than returning to the technical questions. And frankly I am not surprised though always disappointed.
Now, I am not sure I am the only one to argue about the emergence of an Inter-Action Oriented Asynchronous Peer-to-Peer programming model. Pretty much everybody that gives me an hour or two gets it when I explain how I would build a Service Oriented Architecture, how would I manage Governance, Service and Composition Solution delivery, how business processes fit in the picture… . What I am often arguing about is well supported by commercial products and open source frameworks such as Tuscany and Fabric3. There is also this researcher at IBM Zurich, Ksenia Ryndina, who is actively researching the kind of programming model I advocate for (http://www.zurich.ibm.com/~ryn/). There is also an entire open source methodology that is based on these principles: http://www.praxeme.org. I may well be the most vocal of all these people, but I am certainly not alone… on this side of the discussion. I am certain most of them have given up a long time ago arguing with the other side.
Amusingly, the large distributed computing power house (IBM, Sun, Oracle/BEA, SAP) have all a composite application strategy, and I don’t think I would be in the position to teach them anything on the topic. At best, I could point out that I have been saying this kind of thing for a long time.
Now, it is true that there are a few -sometimes well known- people in our industry that lost faith in Web Services and SOA around 2002 (often for good reasons, because they tried and it did not work). Unfortunately they kept their rant going, ignoring advances in the field. There is also a few people that love to use their position -as analyst or expert for instance- to FUD around. I have noticed the tendency of these people to reject discussion, they would actually do anything to avoid the discussion because any healthy discussion will immediately make their arguments irrelevant.
I definitely challenge Jim or anyone else to explain: - how an assembly of services (components in SCA terms) can exhibit a high degree of cohesion (a solution is typically composed of many assemblies, and assemblies are also a unit of composition -composite in SCA terms) - how likely it is to have “one service” implement “one process” + bonus point if you can demonstrate that there is such a thing as a “process cohesion” + bonus point if you can articulate how cohesive is an enterprise information model (and hence the set of services that manage information entities) - detail how MVC applies to designing process-centric service - poll the community to see whether or not it is a dumb idea to ask business people to become IT architect
(I actually lived that recently in a project, I can assure you that it is not pretty at all).
Then and only then, I will look at my side of the discussion for a possible problem area.
I won’t hold my breath on waiting for the answers, but who knows, people like challenges sometimes.
The problem is that you consider your view of SOA as the only valid one. But not everybody believes SOA is about composite application development. You measure everything against this model — any view, any technology that doesn’t support this is just plain useless from your point of view.
Even worse, you seem believe that anybody who doesn’t see the composite app model as the end goal, and considers SOA to be about something else, is an idiot. That’s the most arrogant behavior you can expose.
People don’t accept your challenges because they are part of a vision they don’t buy into. Your personal insults do nothing to convince them, on the contrary; people don’t stop talking to you because they’re unable to answer your challenges, but simply because you piss them off.
Stefan:
just to be clear on the source of all these discussions, for your readers: there is a (small) community of people who spend a lot of time criticizing good (not perfect) technologies.
The way they criticize if is by saying SOA = foo and keep arguing: “look I can do ‘foo’ in a much better way with XYST technology”. I am simply trying to have a discussion with this community and ask them to change their assumption. Let’s assume that SOA = ‘bar’, could you let me know what you say now?
Strangely enough this community of people absolutely refuses to consider any ‘bar’ arguments. Note that I never said that doing ‘foo’ was not valid. I simply asked this community to consider ‘bar’. So, IMHO, you are very cleverly inverting the roles here.
Now, again, you can take it on the personal level, you can say to anyone that I am an egomaniac trantrumistic whatever, but at the end of the day, I am simply asking to consider ‘bar’ and nothing else. For instance, I know very well Amazon’s SOA architecture. I repeatedly said this is the best SOA I know and it is not based on SCA, BPEL,… I have no problem with that. Does it apply to my IT organization? partially, it is incomplete, I need more. I don’t know about Amazon’s back-office SOA, but I can imagine it is really good too, maybe this one is more applicable to my IT organization.
The real problem I have with the XYST community is that they are precisely promoting XYST as the only way to do SOA making fun of any other way. So at this point, I really don’t know who should be pissed at who. I am certainly not pissed, just patient.
I’ll note you haven’t really addressed the points from my comment. I can’t see Jim’s post having anything to do with the “XYST” community. But in any case, let’s just leave it at this — our respective readers will make up their own minds (if they care one bit about this whole issue in the first place).
Guys - please move on.