I've been a 'full-stack' developer for the better part of 6 years now, and it's been an amazing time. In comparison to when I was just that "programming" guy, it's much more rewarding and many times more stressful, for a variety of reasons, which I'll go over today. And it didn't happen organically I'm afraid. You can program every single day until the Moon leaves Earth eventually, but you will not get to the full stack phase without actively going for it.
What Is A Full Stack Developer?
What It Isn't
The stack is specialized for each type of platform. For example, you don't need to know Android to develop IOS. Android would have it's own separate list of technologies that it requires. I saw a recent article recently that stated that you needed to know about machine learning and cloud computing in order to be considered a full stack developer and I can say that in 10 years of programming, I've never needed to know about machine learning. Now if you work in the field of machine learning, again, I'm sure that comes with its own set of technologies to learn.
Working As One
Most people will not get the opportunity to learn full stack development at their jobs. I have worked at companies in which all database work was handled by one person, and all front-end work by another and I was just in charge of the code. It really wasn't until I started to develop my own websites that I started to learn how everything is pieced together. So build a website, any website. It could be 4 static pages really. Put that website on a server, and now you're one step closer to learning about servers. Now add a database to your project to track page views let's say. Just a few columns, and an insert statement on page load. By the time you figure that out that process, you'll have a good idea about databases and how they work in correlation with web pages. Then work on making your website user friendly, add analytics, make it SEO friendly and do anything else that you feel your website needs. That one simple 4 page website will take you through the entire stack and then some. Do this enough times, and it eventually becomes second nature.
Walter Guevara is a software engineer, startup founder and currently teaches programming for a coding bootcamp. He is currently building things that don't yet exist.