In the 12 years that I've largely wasted as a professional software engineer, what I've noticed is that the best developers never work a lot of overtime for extended periods of time. Sure, it happens that they end up staying late to get something done now and then, but it's very rare.
The bad ones make up for taking the "shut up and code" methodology and spending hours and hours trying to get their pointlessly complicated solutions to work, rather than trying to do it right in the first place. The results, assuming they work, are almost invariably a morass of undocumented spaghetti code. It makes you wonder; what were they doing with all that time? If they weren't documenting their code, then the options are:
a) they were faking it
b) hunting for code that solves their problem on the internet to hide the fact that they couldn't write it themselvse
c) wasting time debugging their own mess because they couldn't remember what the code they wrote last night at 11pm was supposed to do, but they were too tired and rushed to bother with little things like documentation
The let's work a 12+ hour day approach isn't how you get the job done, it's how you achieve job security when you work for a big company.