Right, but that's the thing -- I've had a lot of jobs, been a contractor/freelancer for the last couple years and had three or four desk jobs before that, and I've worked with a lot of different people and a lot of different sets of style guidelines. The problem here was that there _weren't_ any style guidelines; it was all in his head. It wasn't just copying his obvious conventions, which we all did after the initial code review and realizing how unreasonable he was about it, it was also doing anything in a way that was different than what he would do, which is decidedly harder than just copying syntactical formatting. He didn't like my solution to a problem and made me redo the whole thing, and said, "When you get there next time, ask me what to do". I did this, and he came over and told me to do exactly what I did before, but because it wasn't formatted "correctly" (read: according to unwritten and shifting style guidelines existing exclusively in this man's head), he hadn't recognized it.

In one instance, my colleague noticed a potential security hole in a PHP application and notified the lead ... who ignored it because "the application is running fine and I don't change production code lightly". Which is laughable because this dude actually edited code directly, live on the servers; there were no test servers, and we weren't allowed to set them up, so we just had to test what we could locally and cross our fingers when it was sent up to the real environment.

And so on. I mean, I could go on with things like this for a long time. But, the point is, it wasn't that he disagreed, it was that he was entirely unreasonable and wouldn't ever even listen. If you have a group of people that do things fundamentally different than you and aren't interested in adjusting, then it makes sense to jettison them for those who are somewhat more compatible. The thing is that we were interested in adjusting and adhering to style guidelines, corporate conventions, and similar, and I personally haven't had any substantive problems following varied style guidelines in the past, but they had no conventions or guidelines here, and developers were just left to catch on as best as they could and hope that it wouldn't set off the existing members of the "company family" ... which wasn't easy here.

And it's more than just the style guidelines. The act of physically typing code is not that exciting for most developers. This guy was not open to any input at all, and would shoot us down swiftly whenever we brought something that wasn't praise. It wasn't a matter of just disagreeing and then not being able to accept the boss's decision. The problem was what I typed, that he expected robots that would deliver without questioning or working to find the best solution. The whole point of an IT team is to work together and contribute and everyone listens to everyone and comes up with the best combinations of concepts, methods, etc. That's how a team of engineers works, and that's what makes IT enjoyable. That's not how it worked there. There, it's "Defy guy and be ridiculed and fired".

This is enough for now. You get the drift, I hope. They've been through three different sets of qualified people now (all the while oblivious that this man is the reason why all his subordinates left, despite being notified of such), so I think that's the main reason they've settled on on-the-job development training for designers instead of real programmers.