I don't know if one should really write anything from a scratch, since there are a lot of open source projects around. Maybe rather than making one yourself, modify already existing ones or at least assemble one from already existing projects.
No.....! In most cases (and I've worked on such projects), where large parts are taken from another projects (open source, etc.) ends up as huge mess. As a first programmer in that project, I was trying to get away ASAP.
"The management" automatically states that when you grab code from another open-source project, you know EVERYTHING about it (this is wrong - but hey, try to explain them when they don't listen). So, after few weeks of messages from management (where they wanted large scale changes that would take days in project you written on your own, they wanted them in days in source you just used), where I tried to explain that it can't be done that fast (and no human being is able to know everything about 5 or 6 large open-source projects you downloaded & build 2 weeks ago & be able to do large scale modifications); I ended up quitting.
I'm not saying you shouldn't use open-source at all, but explain this to management (and hope they will listen)