> Computers today (especially server-based systems) are so massively complex that I don't see anyone possessing working knowledge of "literally" the entire stack.
I literally have enough breadth of knowledge to figure out a problem at any level of the stack from top to bottom with some help from google/books. And no, I don't mean finding it on stackoverflow/stackexchange and copying an answer :). This is what I define as working knowledge, that I know enough to be able to debug issues in the subject with help from resources which I also know how to access. Depending on my familiarity with the particular piece of technology and the difficulty of the problem this may take me anywhere from seconds to weeks. I don't just say this either, I have actively debugged issues at most "levels" of the linux application/OS stack throughout my relatively short career so far.
Basically, you give me a problem and I have the tools I need to figure out the solution or root cause without help from any other team members(though help can certainly speed things along). The only question is going to be time.
> And then there's the question of the depth of one's knowledge. I'd argue that the more you spread it out, the thinner it gets at each level of the stack, just by virtue of the fact that one has only so much time to spend on learning, practicing and keeping their skills up-to-date.
My depth of knowledge in each area shrinks and grows as I need to use it. As said above though, I have just enough depth in every area to "be dangerous" as they say. I certainly have more breadth than depth in most things but I match or beat my peers in depth on the technologies I deal with daily.
I literally have enough breadth of knowledge to figure out a problem at any level of the stack from top to bottom with some help from google/books. And no, I don't mean finding it on stackoverflow/stackexchange and copying an answer :). This is what I define as working knowledge, that I know enough to be able to debug issues in the subject with help from resources which I also know how to access. Depending on my familiarity with the particular piece of technology and the difficulty of the problem this may take me anywhere from seconds to weeks. I don't just say this either, I have actively debugged issues at most "levels" of the linux application/OS stack throughout my relatively short career so far.
Basically, you give me a problem and I have the tools I need to figure out the solution or root cause without help from any other team members(though help can certainly speed things along). The only question is going to be time.
> And then there's the question of the depth of one's knowledge. I'd argue that the more you spread it out, the thinner it gets at each level of the stack, just by virtue of the fact that one has only so much time to spend on learning, practicing and keeping their skills up-to-date.
My depth of knowledge in each area shrinks and grows as I need to use it. As said above though, I have just enough depth in every area to "be dangerous" as they say. I certainly have more breadth than depth in most things but I match or beat my peers in depth on the technologies I deal with daily.