Published Oct 31, 2022
Contribute to Docs

Full-stack development refers to having competency in both client and server-side software to build entire applications from the back-end, through APIs, to the front-end. Full-stack developers are able to handle both front-end and back-end tasks. Typically, full-stack developers are stronger in either front or back-end and throughout their careers, gain competence in the full-stack.

Larger companies have the resources to hire large development teams, which allows them to have teams where developers can specialize in either front-end or back-end.

Startups, on the other hand, may be limited in their ability to hire a large development team, so instead will seek full-stack developers. They tend to seek full-stack developers for several reasons, one of which is funding.

Common Tasks

Full-stack web development can involve a variety of front-end and back-end tasks, including:

  • Creating and updating webpages.
  • Making sure webpages are responsive and work well on phones or tablets.
  • Improving website performance.
  • Adding and improving accessibility features.
  • Using front-end frameworks to build client-side software.
  • Building and consuming APIs.
  • Creating, integrating, and managing databases.
  • Using back-end frameworks to build server-side software.
  • Validating data to make sure it’s formatted correctly before being sent to the database.
  • Integrating user-facing elements with server-side elements to make sure that information is being sent to the right place so the server can retrieve it.

Full-stack developers typically utilize a combination of software, called a tech stack, in order to build full-stack applications.

MEXN Stack

This well-known tech stack comes in a few forms but all of them use MongoDB (for the database), Express.js (for the back-end), and Node.js (for the server). One of the following front-end frameworks is commonly used in this stack:

LAMP Stack

Technologies in the LAMP stack include some popular open-source projects:

  • Linux: Open-source operating system
  • Apache: Popular open-source web server software
  • MySQL: Database management system
  • PHP: Web development programming language

Django Stack

Highlights for this stack include the use of Django, a popular Python framework that is structured around creating templates. This can be used with a front-end framework like Vue for building a web application.

All contributors

Looking to contribute?

Learn More on Codecademy