Simple solutions to complex problems?

August 29th, 2006
Filed under: General, Java | Huibert @ 10:31 pm

Ten years ago, I had just joined Informix and represented the company at a customer event. I had been hired because of my web experience, and although I had decent SQL experience, I had never worked in highly complex environments. So, when a customer asked if he required a product like Tuxedo to manage his transactions I looked to him straight in the eyes and said, Absolutely not! That will just add to your project complexity. The product I am presenting will handle this automatically.

Why could I say that, well because at the time I believed it. Technically the product could manage distributed transactions, but only if all the involved databases were Informix databases. The truth is that I had some doubts and checked the facts as soon as I went back to the office. I never repeated the mistake.

Why do I write about this today? Day after day I hear people claim facts that are just not true. Sometimes it may be a honest mistake, hey it happened to me, so why can’t it happen to others. But, having worked many years with salespersons, I really suspect that more often than not, people are just repeating buggy marketing messages without checking the facts, because they simply don’t know, don’t care or even worse, doesn’t serve their personal goals.

I am not really concerned about the lies most salespersons tell, I tend to think that it is part of their job description. I am really more interested in the professionals who highly recommend technologies without knowing or checking the facts. Fifteen years ago you could find developers saying that you didn’t need a relational database, since FoxPro was more than enough for all your enterprise needs. Today, it seems that many of these same people have adopted mySQL and are criticizing those who use products such as DB2 or Oracle without realizing that there are significant differences in availability, scalability and administration features. The same happens with PHP or Ruby developers who talk down Java. I can understand that not all projects require high-end products (which sometimes means expensive) but I cannot accept that people who do not understand in depth both technologies try to demonstrate the supremacy of the one they are familiar with.

This post was triggered by an episode of Podcast.net in which someone was basically saying that Java was obsolete and that everyone should now move to PHP because it is much simpler than Java. This is simply ridiculous. PHP cannot solve many of the problems that we face daily at IBM, like developing embedded applications for cell phones or PDAs. PHP is not a competitive EAI solution, nor does it allow to create client/server applications. That does not mean PHP is useless. I can see some developers choosing PHP over Java to create Web applications or to develop the front-end to an enterprise application, but that’s it.

There is a say in Mexico that says that if you repeat a lye a thousand times, it becomes the truth. This may be true, but it doesn’t help. As a technical person I want to use the best tools for each situation. I do not want ignorant people to drive the technology. The web has made it easier for everyone to publish their opinions. The problem is that the majority is not always right.

Even with Apple, a company I really do like a lot, because of their ability to simplify complex tasks, there are many times where they clearly over-hype a technology and end-users echo the message without checking the facts. Take for example the remote control that comes with most new Macs. Sure, it is simpler than the ones that come with Windows Media Center, but for now, you cannot really compare the functionality that both products provide. The same applies to iWeb, which is a simple application for beginners but does not meet the need of professional web designers or programmers.

We all want to have simple solutions to complex problems. However, sometimes, complex problems call for complex solutions, like it or not. Therefore, we may have to occasionally take the long, hard road. In some cases, we may find an easy solution to a complex problem, but this is not usual. If a company offers something that looks much better than everyone else is offering, make sure there are no drawbacks. Listen to the competitors. They may know something you don’t.

Comments are closed.