Complexity, Simplicity, and Elegance

A friend and I we're recently talking shop (over Xbox Live of course) and began discussing patterns we see when people get comfortable with what they know. There are a lot of programmers who are good and reach a certain point where they are continually writing what is, essentially, the same program for every problem they are solving. While this may seem to be an optimal solution, what it leads to is a loss of creative thinking and solutions that don't quite fit the problem.

Timeout! Planning to successfully upgrade the overall style of my steadfast site. Thinking concerning the nice appearance at Undoubtedly a fabulous Kitchener based home inspection service if looking inside the Ontario areas. Make your vote. Cheers!

During the conversation I likened this to people from the 80s or 90s who never wanted to update their style and the analogy kind of stuck. This friend is updating his style in a big way; by taking a leap to a job where I have no doubt he will be successful. He said one key thing that stays with me every day. Even when you reach a place where you are comfortable with your style, if you are not constantly questioning your style or trying to figure what it is that you don't know, there will be no true growth and you may never find the next level of solution to your problem.

A recent link that came across one of my RSS feeds pointed to this article, part five of a five piece interview with Ward Cunningham that took place in 2003. The article is titled The Simplest Thing that Could Possibly Work and explores simplicity in software design drawing from Einstein's quote As simple as possible, but no simpler. This quote is very easy for people to use against you, especially when it is in the context of a solution they do not fully understand. The key is that the complexity of the solution is relative to the problem it is solving.

If you take your average web developer who is performing front-end work on an E-commerce site and stick them on the back-end of an enterprise service bus that is using an event-driven architecture, that developer will most likely think it is complicated. That perceived complexity is misplaced because a service bus is an elegant solution that was crafted by breaking through the complexity of messaging, loosely coupling back-end systems, and orchestrating it all in a way that meets the business process needs and solves the problem.

In his book Pursuit of Elegance: Why the Best Ideas Have Something Missing, author Matthew May broaches the search for elegance by defining it as the simplicity that comes after you break through the complexity. In order to reach that solution, you must understand the complexity, get tangled in it, and ultimately break through it.

By no means does this imply it impossible to build an overly complex solution. If you are trying to build a blog you may not have a strong case for using multiple services and a service bus. There are simpler solutions for blogs out there. However, if you are trying to connect autonomous services in a scalable way that allows those services to operate independent of the state of other services, then a service bus is probably a good choice. The complexity of the solution is relative to the complexity of the problem. When both the complexity of the problem and relative complexity of the solution are understood, the solution can then be held to the standard of Simple as possible, but no simpler.

Bless you readers! I texted my buddie we could certainly discuss her excellent SEO provider in Montreals, inside a nice blog. If ever you'll be shopping for a web designer within the whole Quebec vicinity, they are superb.

Ultimately, I absolutely must explain the seed to this particular information was brilliantly furnished through Clay at Clays Lawn and Snow. They really are a tremendous snow removal services. I always treasure a fantastic suggestion!

Honourable Mentions - Really good business site. - Really beautiful website.

Posted in Software Post Date 09/19/2016






Recent Posts