I saw the phrase "full stack engineer" cross my path recently. The first time I saw this, I wrote something on Google-internal Buzz. Read on.
"Much has faded now, but there was a time when I had at least a rudimentary working knowledge in gravitational physics, particle physics, nuclear physics, solid state physics, quantum electronics, electronics, quantum optics, LSI design, circuit design, chip layout, circuit board layout, system architecture, plus: machine code, assembler for various architectures, a wide variety of programming languages, device drivers, operating systems, 2-d graphics, ..." ...
"... 3-d graphics, libraries, regular expressions, parsing, compilers, application design, networking, and so on. Plus odds and ends like cosmology and physiology. It felt really good to know what the machine was actually doing, and surprisingly much of that came in handy from time to time, such as when I was working on Voyager.
Is that what they mean by full stack? If not, push back. Nowadays it seems some people graduating from university know Java and little else."
Yes, it's snarky, rude even. But I do wish more software engineers had a broader grasp of what makes technology work. It makes one a better software engineer.

@robpike I feel like that's a problem I see a lot with new engineers today. Most only know surface level info or are very specialized and have a hard time grasping outside the box they have created for themselves.

I grew up absorbing tons of info as a teenager. Windows, Linux, kernels, reverse engineering, web, php, 3d modeling, game dev, etc. I can bring information from.all these things to my benefit and many colleagues are amazed, when I consider it basic knowledge.

@yulian @robpike It's important though to realize the privilege of growing up alongside with the complexity.

When I played with my first home computer in 1984, the "full stack" likely had orders of magnitude fewer LoC as just the web browser now.

I don't think a "full stack developer" truly can exist anymore.

@larsmb @robpike true, but I think it's even less about "full stack" and more being a flexible and diverse engineer. I'm a DevOps engineer and used to be Backend. I know how to do frontend and Other stuff. I still pull from learnings in all the computer knowledge.

By being diverse in the knowledge and skills, you can piece further away concepts to help you in a task. Patterns you find in one area, might help in another. Especially for debugging, but also implementation or design

@yulian @robpike I do miss the days when my team had a PhD CS, PhD nuclear physics, MA philosophy/PhD linguistics, BA Anthro, and an MIT dropout. And that was the UX group.
@yulian @robpike Its a blessing and a curse. Sometimes I wish I could shutdown the part of my brain with all the deep knowledge, to just focus at the problem, instead of thinking about all the nitty gritty details which happen down the stack.