How to become a Full Stack Developer





Who is a Full Stack Developer?

A developer who is comfortable in developing both the back end and the front end. That is someone who knows how to deal with databases, PHP, HTML, CSS, JavaScript and everything in between.

Breaking the technology stacks

As shown in the figure, there are many technology stacks. The things inside those technology stacks are as follows.

System Administration

1.       Linux and basic shell scripting
2.       Cloud computing: Amazon, Rackspace, etc.
3.       Background processing: Gearman, Redis
4.       Search: Elasticsearch, Sphinx, Solr
5.       Caching: Varnish, Memcached, APC / OpCache
6.       Monitoring: Nagios

Web development tools

1.       Version control: Git, Mercurial, SVN
2.       Virtualization: VirtualBox, Vagrant, Docker

Back end tech

1.       Web servers: Apache, Nginx
2.       Programming language: PHP, NodeJS, Ruby
3.       Database: MySQL, MongoDB, Cassandra, Redis, SQL / JSON in general

Front-end tech

1.      HTML / HTML5: Semantic web
2.       CSS / CSS3: LESS, SASS, Media Queries
3.       JavaScript: jQuery, AngularJS, Knockout, etc.
4.       Compatibility quirks across browsers
5.       Responsive design
6.       AJAX, JSON, XML, WebSocket

Design

1.      Converting website design into front-end code
2.       UI
3.       UX

Mobile

1.       iOS
2.       Android
3.       Windows mobile
4.       Hybrid: PhoneGap, Appcelerator

The unicorn



To be a full stack developer you should have empathy in you. That is you have to be able to see in some other person’s view. You need to have creativity and ability to plan. So that you have the design skills. Obviously you have to code. That includes building the software, version controlling, testing etc. apart from those systems knowledge should be there for storing, accessing and transferring data.
All these disciplines make you a successful full stack developer; a unicorn!

Be a full stack developer or not?

For a full stack developer, it is not needed to specialize one thing. That is not possible as he/she is an all-rounder. But should be comfortable with all the technologies to work with. To be comfortable in every technology is also kind of being an expert.

Kashumi Madampe
CIS 2010/2011
kashumi91@gmail.com
 


1 comment :