FreeDuck wrote:I'd love to hear his take on it. I talked to the project lead today and he sees some of what I'm complaining about. I never complained to him and he's the one that brought it up. He is of the opinion that he's always going to be an "academic" but that with time he'll settle down.
I agree he will probably settle down. Judging by your description, I have seen a few people like him, fortunately not on projects I was personally working on. (Knock on wood.) Going by the experience of my hard-tested colleagues, here are a few things that might help him settle down: First, within your projects, try to have tasks assigned to him that require much common sense, and very little scholarship in the theology of things like object-oriented programming, design patterns, and the ideosyncrasies of your programming language. The surest way to moderate his overconfidence in such theology is to confront it with the harsh reality of hardware bugs to catch, clumsy legacy code to program around, user-hostile libraries, and other engineering obstacles unworthy of a computer scientist's attention. There's a good chance that he will either put up or shut up, both of which helps you.
Also, if your project's time budget permits and you disagree on something reasonably small, have him program it his way, you program it your way, and run both implementations through a profiler. He seems to be very competitive, so let him compete. If he's really right half the time, wrong half the time, then hard, objective test results may inspire some rethinking and some modesty on his part.
Finally, it seems to me that you and he are trying to resolve a lot of your disputes by talking. I'm not sure that's such a good idea in this case. If he is fresh out of college and proficient in the kind of knowledge that impresses computer science professors, he may well be better at
talking about programming than you are, even if you are better at actually programming. So maybe it would help if you placed less emphasis on debating and more emphasis on testing as a way to settle your disagreements.
In the meantime, good luck trying to stay sane while Mr.Genius is settling down.