1. It's a 30-year old publishing company, out of which the current 20-strong IT department has evolved. The IT department was born around 15 years ago when someone had the idea of "putting some of our stuff on that new Internet thing".
2. Historically everyone has worked on small 1-person projects, hence teamwork and sharing and re-use are foreign ideas.
3. The hierarchy is very flat reflecting the above: there are a dozen or so techie software engineers, for many of them it's their first job since college and they've been here several years. There are a few managers who are somewhat divorced from what's going on in terms of software development.
I am that more experienced developer that many of you are blaming in your posts. I joined a couple of years ago. In a rare moment of strategic thinking the managers acknowledged that they have a lot to learn and formed a Process Improvement Team and invited me to join it. Unsurprisingly the first two things we proposed were a source control system and automated build tools, and we recommended that all projects should be re-organised, imported into CVS and built and deployed using ANT.
The good news is that all new projects are put into CVS as a matter of course. The bad news is that the majority of existing projects are still floundering outside of source control. there is a perception that the department is too busy to take time out to learn about new stuff (and yes I can anticipate the obvious answer to that: we'll all be less busy if we're more organised), or there is a general inertia from engineers and their managers to make sure it happens.
I've made sure that the stuff I work on most of the time is under CVS/ANT control, but on the few occasions I'm required to maintain legacy code, my blood pressure rises appreciably. I've also created a Java utilities library, and I used to send emails about new classes there, but I don't think anyone else has voluntarily used it or added to it.
We also have an in-house content management system which doesn't lend itself to source control.
I don't actually have any more to add, as I'm fast becoming one of the people who are beyond caring, and actually I've got a really important deadline to meet so I haven't got time