How to become a Full Stack Developer

Full stack developer is someone who is able to work on both font-end and back-end of application. Front-end refers to the pat of application where end user will see or interact, and back end is refer to applications authentication, security, business logic, data access logic, database interaction and server configuration.

According to Stack Overflow Developer Survey 2016,  full stack development is most popular occupation. Hence developers across the globe searching how to become a full stack developer?

In this article, I will explain what things you should know to become full stack developer.

Full Stack Development

Full Stack Development

In my personal opinion being a full stack developer doesn’t mean that you have to be master on everything required to work with front-end and back-end, but it means that you are able to work both front and back end. Below are couple of points (but not limited to) that I have compiled from various sources that could help you to become a full stack developer.

  • Use Interface

    • HTML, CSS, Bootstrap CSS, Color Picker
    • Experience on frameworks like JavaScripts, jQuery, AngularJS, KnockoutJS, AmbarJS, Node.JS etc
    • DOM structure and traversing, callback, publish-subscriber model in JavaScript and some knowledge on JavaScript testing framework like jasmine.
    • JSP, PHP, ASP.NET, MVC, MVC Core, 3rd Party Tools like Kendo, Infragistics and Open Source tools for grids and charts
    • Created layout designs
    • Experience of working closely with visual designers
    • Knows user experience like look and feel, number of clicks
  • Business Logic and API Layers

    • Experience on writing business logic using C#, JAVA, ColdFusion, Python, PHP etc
    • Implementation of service oriented applications using SOAP and REST based services
  • Middle-ware

    • Http request and response pipeline
    • Http sessions and cookies
    • Experience in Security implementation like Secured Websites, Cryptography, Authorization and Authentications
    • Designed and implemented logging and caching components
    • Content and document repositories or servers
    • Dependency Injection
    • SSL Certificates, Http1.0 and Http2.0
  • Database

    • Relational database like SQL Server, Oracle etc
    • NoSql databases like MongoDB, Redis, Amazon DynamoDB, DocumentDB, Cassandra etc
    • SQLite database for mobile and PDA’s
    • Understanding of which database is better in which scenarios
    • Knows how to use In-memory database like Redis
    • Scaling database, ACID properties and different ORM’s available in market
  • Testing frameworks

    • Test driven development for services, controllers and views
    • JavaScript testing framework like Jasmine, Karma and Mocha etc
  • Tools

    • Developer tools for browsers like Chrome and Firefox
    • Color picker, firebug
    • Compression techniques, Minification and Bundling of JavaScripts and style sheets 
  • Source Control Version and DevOps

    • Setting up source control repository like Git, TFS and SVN
    • Continuous Integration and Continuous Deployment using DevOps tools like Jenkins, TeamCity, VSTS etc
    • Docker container
  • Design and Architecture

    • OOPS Concepts, SOLID Principles and Design Patterns
    • Designed web application end to end with many loosely coupled components
    • Application performance, CPU and Memory Utilization
    • Best Practices for SOA, Coding Standards 
  • Cloud Concepts

    • Experience/knowledge on different cloud platforms like Windows Azure, Amazon Web Services , Google Cloud and IBM Bluemix
    • Good knowledge on IaaS, PaaS and FaaS models
    • Aware of cloud security

If you have anything to add this kindly add those points in comments section. I will update it.

Leave a Reply