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 think it means they can get along in graphic design or human computer interaction. I don't think you'll find many "full stack" engineers writing databases or designing microprocessors.
The term is unfortunate, but I don't think there's a problem either.
@sayrer @robpike it's no less fortunate or largely meaningless as 'frontend engineer' (knows everything about anything that can be implemented in a web browser) and 'backend engineer' (know everything that can be implemented behind a http server)