Indeed, one of my major complaints about the computer field is that whereas Newton could say, "If I have seen a little farther than others, it is because I have stood on the shoulders of giants," I am forced to say, "Today we stand on each other's feet." Perhaps the central problem we face in all of computer science is how we are to get to the situation where we build on top of the work of others rather than redoing so much of it in a trivially different way. Science is supposed to be cumulative, not almost endless duplication of the same kind of things.
Richard Hamming, 1969
If there's one thing engineers love to do, it's reinvent the wheel. I would argue that science is commonly about finding truth, in particular winnowing data down to a distinct fact, whereas the programming aspect of computer science is a more creative process where there is multiple solutions to a problem. Fear not, anything another engineer can do, you can do better!
Very true. And you can find many reasons why reinventing the wheel is a very good thing in many cases. Don't reinvent the wheel unless you want to have fun or you need a greater understanding of the wheel.
That being said, I think many programmers do err generously on the side of too much reimplementation.