I started as a full stack developer 14 years ago but these days its becoming more and more difficult to remain a one. Back in those days all you needed to know was html/css/Js/jsp/java/sql/ant/xml and some tools like tomcat, svn, eclipse and some shell scripting and you are a full stack developer. Being full stack developer means you can code from UI layer to server to database and peel any layer of onion to trace an issue. Now a days you may need to know 20 different technologies in each area before you can easily navigate between layers. Life becomes difficult if its a distributed system. In UI you may need to know React Angular Jquery SASS HTML5 Javascript Node.js Grunt and many more In server you need to know Java Spring Hibernate or any OR tool Guava Nginx Haproxy Memcached and many more. In Database you may need to know Mysql NOSQL databases like Cassandra or MongoDB Sharding AWS Aurora or RDS ElasticSearch Redis OpenTSDB Hadoop ...