Where I work an advanced CS degree is a strike against you. What we've found over the years is people with advanced CS degrees just aren't very productive when it comes to actually producing code.
They tend to want to rewrite things that work but aren't very elegant, or they become despondent over the language we're using and the reluctance of management to allow them to use Haskell for their piece of our Java project.
Yeah, you know what? Managers like you are the reason that when I screen Java candidates and ask them to clean up copy and paste reduplication in code with an anonymous inner class, I get blank stares. From every single one I interview.
I didn't explicitly say anonymous inner class to them. In fact, I didn't use the words at all. I simply gently pointed out the line of code in the code sample already and asked how it might be better leveraged.
Your comment seems to go against what other people have said is wrong with Ph.Ds. Other people are saying that researchers tend to write code that just works at a bare minimum, but you're stating that they tend to like to rewrite code so that it becomes better code. I think this whole thread might be giving ph.ds a bad rap. disclaimer, i'm not a ph.d.
> Other people are saying that researchers tend to write code that just works at a bare minimum...
That isn't specific to people with PhDs. Every programmer without job experience does that. Back when I worked on a Unix/C application for a company that hired new grads it was common to have code checked in without any error checking at all.
If the person is reasonably intelligent (and everyone who finishes a PhD is pretty intelligent) it takes all of about two weeks to break them of the homework coding style.
They tend to want to rewrite things that work but aren't very elegant, or they become despondent over the language we're using and the reluctance of management to allow them to use Haskell for their piece of our Java project.