What is a Full Stack Developer?
To me, a full-stack developer is simply someone who is familiar with all layers in computer software development, will have specialized knowledge in all stages of software development. they make building software much easier as they understand how everything works from top to bottom. To be more specific, it means that the developer can work with databases, Server, Client, System and everything in between them.
A full-stack developer doesn’t need to master all of the areas and technologies he needs to work it, because that just makes it nearly impossible, he just needs to be comfortable working with those technologies.
How do you become a Full Stack Developer?
As talk about it above, to become a Full Stack Developer, you need to have knowledges about all layers in software development. From server, database, system to client and understanding what the customer and the business need. A full-stack developer should know about these technologies as well.
1) Server environment and system layer:
- Server: Apache, Nginx, Tomcat …
- Linux environment and basic shell script.
- Search technologies: Solr, Elastic search, Sphinx.
- Monitoring: Nagios…
2) Data Modeling:
- Relational database: MySQL, SQLServer, PostgreSQL, Oracle.
- Non-Relational database: MongoDB, Redis, Memcache…
3) Back-end Tech:
- Programming languages server side: PHP, Java, Python, Ruby…
- Webservice, API
- Cache: Memcache…
- XML / JSON, Restful…
4) Front-end Tech:
- HTML/ HTML5
- CSS/ CSS3, bootstrap…
- JS, Jquery and frameworks of JS
- AJAX, JSON
- Understand how to create good layout.
- Understand how to create good user experience.
6) Mobile technologies:
- iOS, Android…
- Phonegap, Jquery Mobile…
7) Understanding what the customer and the business need.
Clearly, it takes years of work experience in different languages roles and environments to reach this level of qualification. Because of this, full stack developers are few and value, making those who exist very employable and “hot”. And now, we will try to improve myself and to become a Full-Stack Developer in the near future.