I work for a very small startup software company. Just over a year ago, a close friend of mine joined our team. At the time I was very enthusiastic about working with them, but now after getting to know them in a professional capacity I have learned that the quality of their work is very poor.
I have reached a point where this coworker's poor performance is negatively affecting my day to day and makes me very unhappy. I often find myself having to fix their mistakes just to get my own work done, and once became so frustrated that I spoke with our manager about it. My manager assured me that if their work started to affect our bottom line that we would have to make adjustments. No adjustments have been made that I am aware of. Meanwhile, it has become an office joke that if something is broken, or there is a bug on production, it is automatically assumed to be this coworker's fault - and almost always is.
I accept that it is a managers job to assess if an employee is good enough for the team. I have begrudgingly accepted that perhaps my team does not desire the same level of quality that I do. I have decided that this is enough of an issue for me that I would like to find other work.
I know my manager is going to ask why I am leaving. We are a very small team and have all become good friends. Is it appropriate to say that I am leaving because of a co-workers poor work performance? Is there a tactful, professional, way of saying this? Or would I be better off coming up with a different reason? Could I be grossly mistaken, and am I just being childish about this?