Professionals plagiarize ... I mean, re-use existing code ... all the time. Why reinvent the wheel if you can get a perfectly good, well tested wheel off the rack?
Now, if the main goal is to learn (as opposed to maximizing productivity), there is something to be said for doing as much as possible yourself. Then again, if you use existing packages that are well established and of good quality, you can also learn by digging into their guts and finding out how they work.
So as usual, there's probably no perfect answer as to how much you should do yourself and how much you should leverage existing tools.