There is a lot of hype around becoming a Full Stack development with increasing demand and salary. But before we start learning, we need to know what is the role of a Full Stack developer,
As the web evolved there is much more to just surfing the web in the browser. New technologies like the cloud and web apps have revolutionized web development and today developers are specialized in
- Front End – mostly contains the visible parts of the web
- Back End – deals with database and server-side software
- Full Stack – a mix of both client and server-side development
Deals with database and data-processing hence take place at the server-side and need a powerful execution language, operating system, DBMS [ Database Management System] like C++, Python, ASP, Java, PHP, NodeJS, ExpressJS, SQL, MongoDB, Firebase, Pass, GO and others.
The power of Full Stack
So, a Full Stack developer can alone complete a web-application from the root to top hence it’s powerful?. No, if it was like that it wouldn’t make much sense Full Stack can be extended to mobile stack and native stack i.e applications can be specifically designed for certain platforms and devices. And there are different stacks of technologies to work within Full Stack and each stack is specialized for a specific task/platform, some of the famous stacks are:
This can be really overwhelming but this is what brings more control for a full stack developer as he knows the front and back doors of his application.
So before you wanna start your Full Stack journey make sure to master the basic fundamentals like,
- How an Operating System Works [ preferred Linux ]
- Database Management System and how queries work?
- Powerful Server-side Language [ they say Go is the future ]
- Master a framework [ like Angular, React ]
- Version Control [ git, much needed ]
- UI and UX [ User Interface and User Experience ] for the Frontend
- Security Knowledge and best practices will be an added advantage.
What can we build with Full Stack ?
The following examples are overrated but it’s the truth,
- A Social media app like Facebook, Instagram
- A multi-platform mobile app like Whatsapp
- Cloud apps like Gmail and Sass [ Software as a Service ]
- Flexibility to work on the front end, back end or both
- Expertise in several technologies and frameworks
- Rapid prototyping may be the fastest
- Cost reduction with multi-platform development
- You know the projects you work inside and out
- Increasing demand, [ the web never dies ].
Disadvantages [ can be avoided ]
- You need to stay flexible with your stack, sticking to just some technologies and frameworks is not recommended
- Takes a lot of time, patience, practice, projects, and effort but you can definitely demand higher pay.
- Complex, overwhelming, and can be overloading don’t take too much stress.
References and Resources
- Learn complete Full Stack Development from scratch for FREE at freeCodeCamp they offer 3000 hours 6 track course that teaches you everything about Full-Stack web development with real-world projects, many have graduated and the content has very good review they use MERN stack,
- Complete Web Development Roadmaps, this is a famous repository [ 114 K stars] by Kamran Ahmed, you might wanna take a look at it because it’s crisp and clear.
I wanted to learn Full Stack Development and added a lot of research to this article. Any suggestions and feedback? comment below.