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.