No, we're not going to use (free software package) for this project. Absolutely not. Our customers don't want us to use code we didn't write. Yes, I know (chromatic) wrote it and he works here. No, we've got similar code, how hard can it be to modify it? Our customers don't want us using some (crap) someone else wrote.
What is the value I add as a programmer? Is it truly reinventing another user authentication system, or another database interface, or another templating system?
Do customers really care if their solution is written in C, Perl, Java, Delphi, Objective-C, Python, Ruby, Smalltask, Haskell, or even Visual Basic by a team of coders around the world, a component company, a "programmer" long since fired, some guy who wrote a book on the subject, or the current development team? Don't they care only that it works to their specifications?
It doesn't amaze me that a software project on which I spent six months of my life may not be the most appropriate tool for the job. It will do what's necessary, and I'd enjoy the opportunity to work on it again, but it may not be appropriate. That's fine. Summarily dismissing it because it wasn't written on company time and it's not what the boss had in mind is another. Insulting it (and me) in my presence is even worse.
If customers really cared that the developers at (current company) hadn't invented every last thing we use, we'd have to throw out Perl, Linux, Apache, mod_perl. PostgreSQL, DBI, CGI, Template TOolkit, CVS, SSH, and Samba, not to mention all of the proprietary software. That's a ridiculous argument. Show me a customer who cares about that enough to make a fuss and I'll show you a customer who'll complain about anything you do.
Were I to advise customers on the real issues, I'd bring up things like scope creep, lack of change plans, longstanding design issues that are only addressed when something breaks, and something I'll bring up in just a moment.
My capacity to be amazed is certainly stretching with this job. Who would have thought they'd hire me based on my Perlish contributions of the last year and a half, only to set me on the monkey work of grinding out Crystal Reports reports and making them available with ASP written in VBScript. (To be fair, I have written Perl this week. The problem is, the net is around negative 500 lines, having removed far more detritus than I added. It is now faster, less buggy, and has at least two more features.)
Yeah, I write (crap) code in a language I've never seen before, to a specification that promises things that are physically impossible, with a deadline dropped in my lap on my first day with little explanation, no apparent work from my predecessor, and no ability to test things other than e-mailing files to the client and asking her to install them. The kicker is, I'm good enough at it that I completed the spec to sufficient degree that the client added more work. A monkey could do this, and you wouldn't have to shave him.
I'd say our customers should demand that we don't use our existing software. At least my code works. (It has documentation, too.)