What is full stack development and how to become a full stack developer?

Did you know that in the recently concluded Stack Overflow Developer Survey, 48.2% of the respondents identified themselves as full stack developer? Full stack development is currently one of the most in-demand jobs. It has a wide scope of employability with tech giants, startups, internet companies, and IT majors, all looking to hire for the profile.

If you’re looking for a career as a full stack developer, the benefits are great as the pay itself is competitive. Provision for growth is huge considering the vast number of companies hiring for full stack developers. But while that’s all merry and good, let’s start with understanding what is full stack development and how you can become a full stack developer?

What is full stack development?

Full stack developer
Img Credit: Claire Britt for Bloc

So, whenever you’re surfing websites or using any web-based applications, you’re actually enjoying the benefits of a number of technologies. These applications have multiple layers, each of which is responsible for a particular job. These layers or tiers are together called a stack. Generally, there are three distinct layers – presentation layer, logic layer, and data layer.

The presentation layer helps you interact with the site, read information, watch videos and images, and make decisions. For example, whenever you surf a website, the page that you interact with, the fonts, images, videos, and content form part of the cosmetic layer of the website. This is accomplished with the help of HTML, CSS, and Javascript.

The logic layer or the back end helps programmers create a dynamic connection between the cosmetic layer and the database. So, every time you use a filter function or use the search bar on a website, it’s actually the logic layer that transmits your requirements to the database and brings back answers. Cool, right?!

Lastly, the data layer is where all the information is stored. You can probably think of it as a huge warehouse for information. The data layer comprises of the database which acts as a repository, storing and capturing information from the front-end, through the logic layer. As a Full Stack Developer, you should be capable of planning how data is stored, fetched or optimized at the backend.

Generally, you can easily focus on any one of these layers and be a front-end developer, back-end developer or a database administrator. However, it can be expensive for a company to employ three people, when they can hire one person for all tasks.

How to become a full stack developer?

So, now that you have a basic idea of full stack development, how do you become a full stack developer?

Firstly, you do not necessarily need to be a computer science graduate to be able to code. There are tonnes of resources available online from some of the best universities and lecturers worldwide. Studying them and practising on your own will be enough for you to get a job or start freelancing on your end.

Presentation layer (front-end)

Full stack developer

To get you started, we’ll first delve into the presentation layer – HTML, CSS, and Javascript. HTML and CSS are not programming languages per se and are actually syntax. In other words, they make the website look beautiful and help the users (like you) use the information better.

Both the languages are easy to pick up and does not take much time. Javascript (JS), on the other hand, is a programming language and it will come in handy when working on the front-end as well as the back-end, but more on that later.

Here’s a really useful video to help you understand front-end development in 2018.

John Hopkins University’s HTML, CSS, and Javascript for Web Developers course on Coursera is taught by Yaakov Chaikin and is highly rated. In addition to that, it is advisable to also learn Bootstrap since it eases your front development and provides you with a ready and robust framework.

Logic layer

Full stack developer

The logic layer is where we get into typical programming languages like PHP, Javascript, C, Python, and Ruby. This layer helps as a validation and transport medium between the front-end and the database layer.

PHP is an age-old favourite and powers majority of the websites around the world due to the wide number of resources and frameworks available. Alternatively, Javascript was recently voted the most popular language for the 6th straight time in the Stack Overflow Survey. One of the core reasons for Javascript’s popularity is its versatility and the popularity of Node.js and Angular.js.

If you’re looking to catch on to the trend, then you can try Hong Kong University of Science and Technology’s Server-side Development with NodeJS, Express, and MongoDB which will help you get ready for this particular framework.

Here’s a great explainer video on what back-end development means and how it works –

Database (data layer)

Full stack developer

The final layer of the stack is the database. The choice of the database will depend upon your back-end (MySQL for PHP, SQL for ASP.NET, MongoDB for Node.js etc.) programming language. The database stores all the information from your application. But that is not all that this layer does.

The entire application is actually hosted on a server and your website’s uptime, downtime, load balancing, content hosting, and other performance metrics depends on how you manage the server.

As a result, you will need to learn about how to decide which database to use (depending), the system architecture, and managing the performance of your server resources.

Since MySQL is one of the most widely used database technologies, you can start with that. University of Colorado System’s Database Management Essentials and University of Michigan’s Building Web Applications in PHP are both great resources in learning to use MySQL with PHP.

Conclusion

Learning these technologies will help you take the first step towards becoming a full stack developer. Node.js is currently very popular and could be a good starting point, while PHP is extremely versatile and has been there for ages, so you should not forget to cover that as well.

Additionally, GIT will be essential in learning to use version control and storing your files, while reading up on UX and UI design will help you in forming a comprehensive idea about design philosophies.

 

Full stack developer

 

Comments

comments