Update August 2017: I recently published a new video about Full Stack Development. Watch it here https://youtu.be/B0Vo2XFZZ-4 Of-course, that’s impractical and not going to happen to you, unless you are reading this in a future where matrix style downloading of knowledge is a reality, but this article will at-least give you a brief idea about what you need to know, in order to become one. Lately, I’ve been getting too many answer requests on Quora (A question/answer community) about ever since I posted an answer to how to become a full stack developer How far have you gone to show someone you’re attracted to them? So, I’ve written a detailed post about my journey to become a full-stack developer, on Quora. Following is the copy-paste version of my answer which you can read here , for my Medium friends. I have been building web enabled applications for 5+ years now so I think I can answer your question. So you want to be a full-stack developer? Great! To become one you need to take care of these two things first: This answer contains opinionated views and industry trends, so make clever choices before following any advice. : This is the core layer of the any software stack where all the business logic resides. This is . So in-order to build this hub, you would require a , to persist the data, a to write logic with and a which entertains users requests. Let’s consider options for all of the three things. Back-end the hub database programming language/framework server : I personally use to persist data but there are many other ones like_MongoDB_ (a database) etc which you can use to persist the data. I have worked as an for 3 years but still I cannot use for my personal projects as it is nowhere cheap and using for simple apps is definitely an overkill. Database MySQL NoSQL Oracle DBA Oracle Database Oracle : You can use any programming language to write application logic but are in wide use across the industry. I use (which is a based framework to write all of my applications’ backends). . (UPDATE 2017: I’ve transitioned into a JS/Node stack based developer). I’ve used ( a based framework) in the past for two major projects. If you want to get a job in a corporate sector, I would recommend Java or Python for building backends. I use _Laravel_because you can literally find on almost every server out there and I don’t have to look for cloud hosting options to host simple sites, in-case a need arises. Programming Language/Framework Java / PHP / Node / Python Laravel PHP It is my personal favorite Django Python PHP : This area is practically dominated by web server. Though is catching up quickly. You can use either ones, to host your app/site, so basic administration commands are desirable from a full stack developer like how to start/stop/restart servers etc. In-case you are using Java, you would require an_application server_ like Apache Tomcat etc. I don’t use J2EE so I am not the right person to comment about it. Server Apache2 Nginx : This is the UI part which users of your applications can see and interact with. Basically there are three basic building blocks to this i.e , and . So, as a full-stack developer you are required to know how to design/fix/troubleshoot simple webpages and make them interactive using . To build web enabled front-ends, it would be really helpful if you know some front-end frameworks like , , or to quickly spin up new web apps. I personally use React, Foundation or to quickly build UIs for my applications. When I started, I learnt and from individual books, each dedicated to the specific subjects to get the strong hold of these three founding fathers of web development. I don’t have to scratch my head to fix minor issues with the UIs. There are many full stack developers who know at-least one major mobile platform like or . If you want to be one of those, you additionally need to learn for building mobile clients or / for clients. I am one of them, an developer to be specific. Front-end HTML CSS JAVASCRIPT JS jQuery Polymer Twitter Bootstrap, Foundation, React Angular Polymer HTML, CSS/CSS3 JavaScript today NOTE: Android iOS Swift iOS XML Java Android Android This is an absolute minimum for building a full fledged web/mobile app on your own and with this knowledge, you can call yourself a full-stack developer. Though there a few things you need to learn additionally, in-order to be a proper, industry-level full-stack developer. Some of those things, according to me, are as follows: beginner : You must be aware of what or are and how these can be used to solve latency problems. I don’t care if you’ve used any of these in the past or not. You just have to be aware that these kind of things exist. Caches Redis Memcached : Things like Docker have become industry standard for deploying code on the servers. So make sure to familiarise yourself with Docker and Kubernetes. Containers : You should know the concepts of REST or SOAP and how to design REST/SOAP compatible APIs for your web or mobile clients. RESTful APIs : You must be aware of how authentication works in real world and what methods are prevalent in the industry, to protect data. You should also have a hands-on experience of building a service where users have to log in. I am not saying that you should code/build an authentication system on your own (it’s best not to code you own, in-fact) but you should have a knowledge of setting it up in your tech stack, be it Java/J2EE or Django or Laravel or Javascript. Cookies/Sessions/Authentication : As the world is moving towards increased security, it would be very helpful for your web services to be fully secure and for that you would require the knowledge of SSL. You at-least need to know, what it is and how it works. If you know how to set it up, it is an additional advantage. Secure HTTP/SSL : As a full-stack developer you sometimes have to write maintenance scripts for database backup or server cleanup. I write mine in BASH but there other ones like KSH, CSH etc. Cronjobs/Shell scripting : It is equally important to protect the code you write. So you need to know how to keep the code in control using version control systems and how to make use of it in-case of any mishap. Git/Version control : You must know how to make AJAX calls to the back-end using or vanilla_JS_ or using the in-built libraries of the framework of your choice. Ajax jQuery : There are these new things called _pre-configured development environments_which you can download and start using without installing anything extra plus these environments can be discarded at will. Personally, I don’t use it but many full-stack developers are actively using these systems. Vagrant etc If you know every single thing on this list. Congratulations, you are a full-stack developer. Source If you liked this post, kindly recommend it to your network and follow me for more posts like this. You should also subscribe to my YouTube channel, if you like developing digital things. | | Facebook Twitter YouTube Till next time…