Hacker News new | past | comments | ask | show | jobs | submit login
Reinvent the Wheel Often (oreilly.com)
58 points by fogus on June 8, 2010 | hide | past | favorite | 8 comments



They forgot to mention that reinventing the wheel is, often, simply enjoyable.

I'm currently writing a little javascript library to do Linear Algebra operations, even though one already exists. It's helping me to gain a better understanding of what I learned in college, and it's fun.


Most importantly, it exposes assumptions. Yesterday there was the post about hand-crafting beating the compiler where the compiler made assumptions that weren't true. Every solution incorporates assumptions, which may prove false or simply age poorly. When you re-invent the wheel, you get to re-examine those assumptions.


Re-inventing the wheel is great when you have the time, money, and information support base. If not a personal project, please pick two and know it does not include as much personal growth:

Fast, Cheap, High Quality


When it is critical to know exactly how your particular wheel works, it is often necessary to at least partially re-invent it.


Doesn't this lend itself to analysis paralysis?

I floundered for a bit trying to figure out the next language I wanted to learn because I wanted it to be the most RIGHT language for my next experiments. I bounced from Lisp, to Python, to Java, to .NET framework, and finally gave up (no, had not even glanced at Ruby, sorry).

I grabbed a copy of web2py to have at least a framework to build my next group of apps on. I am backtracking a little at a time and learning the rudimentaries of Python, but had I not just bit the bullet, I'd probably still be wondering in a digital daze.

Once I get a few projects done, I may THEN be able to focus on reinventing the web2py wheel, but for now, I am settling for some accomplishments under my belt just to get a sense of some progress.

Am I alone in this? Or is this commonplace for a certain subgroup?


Great advice.

As a tinkerer, this tends to come naturally to me.

In the commercial world I can see why reinventing the wheel is a bad thing. Minimum viable product is a word that gets tossed around a lot. In order to meet that standard, one must expend the least amount of effort getting from A to B. Might as well ride on the shoulders of giants.

Sometimes it's not necessary to write the whole thing over again. You can speed through something by picking an open source project and commit a few easy patches. Then dig in deeper and look at hard ones. There's something to learn by reading what others have done as well. :)


learning for learning's sake is always good for personal growth, but I'm not sure it is the best path for commercial growth.


Personal growth of employees within an organization is absolutely crucial for long term commercial success. A company that encourages personal & professional growth will cultivate productive employees and attract top talent, those who constantly seek growth and refuse to stagnate. If you can create an environment that rewards this, I wager that you will make more money.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: