Simple Does Not Mean Easy
Wed, 24 Nov 2010
I was recently talking to a friend who was taking a look at the Python Django Framework. He has a great background in computers, but not specifically programming. After toying around with it he said, "this is easy". Maybe some parts of it appeared easy to him, but I don't think he really understood what goes on in the background and beyond the basics.
This is a really good saying: simple does not mean easy. Sometimes the best inventions are simple, but that doesn't mean the inventor had a simple idea. Most of the time, the inventor has an idea and develops a complex prototype. Later, they have to continually revise it until it becomes simple. I think it's a great skill to make something complex become simple.
Many people could pickup a web-framework such as CodeIgniter and develop an application to their liking after some practice. It will be somewhat easy if they have a little background in PHP. But what if something goes wrong? What if there is a new bug in the system? They don't understand how the framework itself works, understanding the MVC pattern and understanding the engineering are two very different things. The time and work gone into such a framework was made so it's easy for developers to use it, but it's far from simple! It's actually very complex.
Knowing a few tricks doesn't make someone a professional. In-depth knowledge and understanding does, and making the complexity appear simple is a gift few possess! I used to think I knew a thing or two, but when I speak with programmers above my level it is a crying shame how much I have to learn.