I’ve seen this countless times. You’ve seen it too. Software architecture from hell. The architecture which only purpose is to satisfy itself. Architecture that tries to solve imaginary problem and address imaginary constraints. Too complex and completely unnecessary.

When programmer does not care or do not understand the problem that software is trying to solve, often he goes off and satisfies his need to do something with outrageous architecture. Laziness to investigate actual problem is cause of this. Imaginary software problems get invented so that they can be solved only by an amazingly complex architecture. Look at me, this is some crazy complex code I written!

Please don’t be that programmer. Software is made to make life easier. It is developed to add value. Yes, sometimes complex architecture is required, but more often than not, complex architecture is written because that is path of least resistance… It appears like glamorous work that shows off your amazing skills when in fact, it is complete waste of time. Yeah, I speak from past experience. Guilty on that count. I guess every single developer is too… It is part of growing up.

So how do you recognize this tendency? As soon as you start talking about need to create “framework” watch out! You need framework as much as dog needs fleas. Framework is code word for “I need something to keep me interested in this project”. Framework is code word for “I have no clue or care about problem this software is trying to solve”. It is path of least resistance since it keeps you in familiar territory: code.

Solutions are often far simpler that we are willing to admit, but they require in-depth understanding of the problem which does not start with code…

Professional looking applications made easy with DotNetBar for WinForms, Silverlight and WPF User Interface components. Click here to find out more.

Related posts:

  1. Dreaming In Code Review
  2. How to elevate your coding skills
  3. DotNetBar for WPF with Drag & Drop Framework and Enum Picker Released
  4. How to become really good software developer
  5. .NET Framework 2.0 breaking changes list