Another reason would be (self-)education. There's no better way to gain a deeper understanding of a subject or learn the ins-and-outs of optimization than writing some code and then possibly trying to improve it. If you always blindly depend on third party libraries, you will remain ignorant and dumb.<p>Then, you can go on and use third party libraries in production while feeling satisfied that you know what's going on inside the library.