1. WHAT DOES A FULL STACK DEVELOPER DO?
Before you jump into learning Full Stack development skills from a coding bootcamp or a series of tutorials, let’s be clear on what a Full Stack developer actually does.
Hence the term “Full Stack” — they’ve got all of the web development skills to build web pages, websites, and web apps from start to finish.
2. DECIDE WHETHER FULL STACK WEB DEVELOPMENT IS RIGHT FOR YOU
You may have heard whisperings that Full Stack developers aren’t necessarily beloved. There’s a pretty large divide between people who think of Full Stack developers as the famed unicorns of the tech world and those who feel like they’re spreading themselves too thin.
Here’s a quick breakdown of the pros and cons of Full Stack development.
PROS OF GOING FULL STACK DEVELOPER
- Can work more easily on small teams or tech startups where there are fewer developer jobs to go around
- Full Stack developers know how to communicate with both Front End developers and Back End developers, helping cut down on lots of confusion
- They can solve all problems at once—not just surface-level development needs
CONS OF BECOMING A FULL STACK DEVELOPER
- The biggest argument against Full Stack (we think) is this: If you’re not specialized, is the quality of your code ever going to be as good as it could be?
- It’s hard to prioritize projects
- You may find that companies that hire you for both Front End and Back End development expect you to do more work than you can complete in a 40-hour workweek (i.e. the cutting corners approach to a web development budget)
3. LEARNING THE BASICS
It is the visible part of a website or web application which is responsible for user experience. The user directly interacts with the Front End portion of the web application or website.
Front End Languages: The Front End portion is built by using some languages which are discussed below:
HTML: HTML stands for Hyper Text Markup Language. It is used to design the front end portion of web pages using markup language.
HTML is the combination of Hypertext and Markup language. Hypertext defines the link between the web pages. The markup language is used to define the text documentation within the tag which defines the structure of web pages.
CSS: Cascading Style Sheets, fondly referred to as CSS, is a simply designed language intended to simplify the process of making web pages presentable.
CSS allows you to apply styles to web pages. More importantly, CSS enables you to do this independent of the HTML that makes up each web page.
Front End Frameworks and Libraries:
It is a continuously growing and expanding framework which provides better ways for developing web applications. It changes the static HTML to dynamic HTML.
It is an open source project which can be freely used and changed by anyone. It extends HTML attributes with Directives, and data is bound with HTML.
It is the most reliable, mature and robust CSS extension language. It is used to extend the functionality of an existing CSS of a site including everything from variables, inheritance, and nesting with ease.
Some other libraries and frameworks are: Semantic-UI, Foundation, Materialize, Backbone.js, Express.js, Ember.js etc.
Other Important Points:
- Work with text editors to use shortcuts and its facilities i.e. Visual studio, Atom, Sublime etc.
- Make the UI responsible using a grid system.
- Git and git commands like init, add, commit etc for version control and to work with a team.
- Other tools like npm & yarn package managers, sass css preprocessor, browser DevTools i.e. chrome devtools.
- Understand using HTTP, JSON, GraphQL APIs to fetch data using axios or other tools.
- It also requires some design skill to make layout and look better.
It refers to the server-side development of a web application or website with a primary focus on how the website works. It is responsible for managing the database through queries and APIs by client-side commands.
This type of website mainly consists of three parts: Front End, Back End, and Database. The Back End portion is built by using some libraries, frameworks, and languages which are discussed below:
PHP: PHP is a server-side scripting language designed specifically for web development. Since, PHP code is executed on server side it is called server side scripting language.
C++: It is a general purpose programming language and widely used nowadays for competitive programming. It is also used as a Back End language.
Java: Java is one of the most popular and widely used programming languages and platforms. It is highly scalable. Java components are easily available.
Python: Python is a programming language that lets you work quickly and integrate systems more efficiently.
Most of the people are confused and understand it’s a framework or a programming language. We often use Node.js for building Back End services like APIs like Web App or Mobile App.
It’s used in production by large companies such as Paypal, Uber, Netflix, Walmart and so on.
- Back End Frameworks: The list of Back End frameworks are: Express, Django, Rails, Laravel, Spring etc.
- The other Back End program/scripting languages are: C#, Ruby, REST, GO etc.
Other Important Points:
- Structuring the data in an efficient way.
- Handle request-response of APIs for storing and retrieving data.
- Security of data is important.
Database: Database is the collection of interrelated data which helps in efficient retrieval, insertion and deletion of data from database and organizes the data in the form of tables, views, schemas, reports etc.
- Oracle: Oracle database is the collection of data which is treated as a unit. The purpose of this database is to store and retrieve information related to the query. It is a database server and used to manage information.
MongoDB: MongoDB, the most popular NoSQL database, is an open source document-oriented database. The term ‘NoSQL’ means ‘non-relational’.
It means that MongoDB isn’t based on the table-like relational database structure but provides an altogether different mechanism for storage and retrieval of data.
Sql: Structured Query Language is a standard Database language which is used to create, maintain and retrieve the relational database.
4. CREATING PROJECTS & FIND YOUR SKILLS GAPS
Start with something small. If you are struggling on finding project ideas, you can Google “100 project ideas in X language” and it usually does the trick. Also, take a look at other GitHub repos and learn from their code.
When you are done, test it and put the source code on Github. This is crucial, as it is the only way companies can validate your skills without prior work experience. Put good quality code with documentation when you can.
Finding your first job/internship can be a long, frustrating and tedious process. However, the experience you gain from the actual workplace makes it totally worth it.
At the end of the day another argument adding to the advantages of becoming a Full Stack developer is the following quote “a jack of all trades is a master of none, but oftentimes better than a master of one”.
by MILISLAV STOJANOSKI, Software Developer at Codeit Solution