Thursday, September 24, 2009

When should you reinvent the wheel?

You will be warned by so many software developers to not make this big mistake and reinvent the wheel again. They will say that this is purely just a waste of time. Your solution will be new, not properly tested and probably not efficient too. In other words "it will suck anyway!" Well... they are totally right! Well.. at least in most of the cases. There are however some buts... and this is going to be the subject of this short blog post.

There are cases when reinventing the wheel is exactly the thing that you want to do! This is connected with two very important subjects: education and evolution. Let's take Intel as an example. What would it be if they stuck with their i386 processor implementation and not reinvent it again in form of i486, then Pentium and finally Core 2? The technology changes... did you ask yourself why? Because people invent new things, often by reinventing the wheel. Those changes allow other people to go further by getting rid of old limitations (e.g. performance, functionalities, etc.). This leads us towards optimization of our existing solutions ("the old wheel") and creating new ones ("rocket powered multi-road moon wheel" - which is still a wheel, but a better one).



Also, if you are newbie in the IT world willing to become a "guru" in the future. How the hell will you get to know how stuff works if you have never looked inside of it? How can you make it better if you are not allowed to change the hearts of it?

If you have time and creative mind then go ahead and do it. Please, reinvent the wheel so that I can use it in my next large, time intensive project allowing me to make a lot of money ;-)

No comments: