I've seen many definitions of what is a full-stack developer, for me it is basically a developer that dominates all aspects (or stacks) of an application, from databases, to APIs, page rendering by servers, front-end implementation and design. I think this is fearsome for anybody who is in the stage of panic because of the enormous amount of technologies there is out there.
Since my early days of college I was always a good programmer, I had more affinity with C and C++ than with HTML and CSS, now after graduating and starting my first job I'm now a back-end developer using principally Java. In our company we have web designers that makes all the shiny and colorful layouts and we, as back-end developers, give life to their great, but still static pages. It looks a harmonious relationship to me. I've heard that designers and programmers don't get well together, but it has been very good so far, luckily for me.
Other definitions of a full-stack developer allows more flexibility, you can be more about back end and understand well front end, but not completely. Therefore, can I considere myself a full-stack developer at this stage? For the many job descriptions I've seen so far, I'm definitely not a full-stack developer because of my poor knowledge in front-end. It seems that to be full-stack you need to dominate at least either Angular, or React, or Vue these days, besides CSS, SASS, Bootstrap, etc., to know all about design, implementation, database... Again, it is fearsome...
Isn't it to much burden in an only person? The theory in development that always proved good: divide and conquer, doesn't apply for development jobs? Is it valid at this day and age know one side more deeply, in my case back end, and know the other just enough to understand the designer's job? Or is it the future (or even the present) understand fully all aspects? What's your definition of full-stack? Do you agree with my definition?