What a great guy. I know immediately when I see with his name on a Stackoverflow answer that it's authoritative and can be trusted (which is a lot for Stackoverflow, especially when you've exhausted the manual and the source code).
I used to do .Net programming a few years back and I used to love Jon Skeet's answers for any .Net question on SO. Precise, informative and simple explanations.
It's been a few years since, but if I remember correctly, it was an interview of Jon Skeet on an episode of Scott Hanselman's podcast where he spoke about reading the C# spec, and as a young beginner in programming I loved that advice because when I did read the spec, I was pleasantly surprised, perhaps naive, that all the information I needed to learn the language was right there, available for free when I thought I had to purchase books etc. to learn more. :)
> when I did read the spec, I was pleasantly surprised, perhaps naive, that all the information I needed to learn the language was right there
This...I couldn't place enough emphasis on it.
If I could attribute a single factor which has had the most impact in differentiating my performance vs. peers who were hired around the same time, it'd be a philosophy of setting aside time to study specs in detail and keeping up with them.
Rainer Joswig is similarly legendary for Common Lisp.
I once thought a good way to really learn the language would be to answer some Stack Overflow questions. Not once have I managed to get to a question that he hasn't already answered - and in much more detail than I ever could.
I'm genuinely curious how that works. I know once you get up to a certain level you can thrive just by crafting high-quality answers to random peoples' questions. But still. For me, even if I don't work on some routine production stuff and simply try to learn things, it takes quite a bit of uninterrupted time to master a certain topic. And with our field being what it is, there are more and more topics getting rolled out every day no matter what stack you use. So how is it possible for one person to run essentially a one-man commercial-grade support operation for a complicated ever-changing technology?
It's quite simple. You just do it for some time. You quickly end up with enough knowledge to give advise and answer many questions.
As you write answers, you gotta check what you're saying and you spend time looking for references, so you dig even deeper and deeper and you master the topic even more.
Reply with a correct one sentence answer within 15 seconds, then continuously improve it until it's a 2 paragraph answer citing source code and documentation, with code examples to boot. Stackoverflow is incredibly easy to "game" if you have the time.