I've had a very busy week this week, and on top of everything else I had the unfortunate experience of having one of my team resign.

This guy started the day after me (about 6 weeks ago now) and was still on his probation period so at least there wasn't a lot of knowledge walking out the door.

Anyway the whole resignation process was very strange - it went something like this...
Tuesday evening; I'm catching up with some of my staff after a long day of design meetings and I haven't yet got back to my desk. This guy is sitting at the desk opposite (open plan office) from where I'm having a chat and he stands up, picks up his bag and says goodnight before leaving - all pretty normal.
I then get back to my desk 10 minutes later and check my email. Sitting in amongst the many messages is a little 1 line gem that says "I'm resigning. I'll finish on the xxth". End of message - no hints that this is coming, no face-to-face notification, nothing. Just an email.

So I check with all the other people on the team and no-one had a clue that anything was coming. Apart from being completely suprised I'm totally perplexed as to why this would be happening - after all we've just started work on a .NET 2.0 project, the company is growing rapidly and I'm in the middle of hiring more staff, so everyone knows that things are moving ahead and morale is good.

Wednesday morning, I see him coming out of the lift in the foyer and I drag him immediately into a meeting room to figure out what the real reason is.
Is it hard work (after all, company growth can be difficult)? No
Is it me (maybe I'm a bad manager)? No
Is it anyone in the team (maybe there's a personality clash I hadn't seen)? No
Is it family reasons (something external to work)? No

So what's could the reason be? In his words "I don't like the code". I must say that this floored me - after all apart from the "hello world" style of programs I've never seen perfect code and everything can always be improved.
And if you know a new project is coming that will be based on .NET 2.0 why wouldn't you put up with the less than ideal current code, knowing you can influence the design of the new code? It really confused me.

If you've heard of a wierder reason for leaving let me know.