At Curricular, we spend hours researching, reviewing, and recommending the best ways to learn development skills.

As part of our research, we decided to compile a list of the skill areas that are needed to work professionally as a Fullstack Developer, mostly independent of frameworks or tooling. This is the sequel to our previous post about the skills Frontend Developers need.

And now I'd like your feedback.

About the List of Essential Skills for Junior Fullstack Developers

My team interviewed a bunch of senior developers, sifted through a lot of the readily-available online advice, and debated with one another to produce this list.

Our goal is to help aspiring fullstack developers understand which technical skills are most important to prioritize, in order to excel as a Fullstack Developer and meet or exceed your teammates' expectations.

Of course, learning never stops, and some skills are important to acquire as you gain experience as a junior developer. So we've separated skills into a Foundational List and a Growth List with new and Junior Fullstack developers in mind.

The items in the Growth list are things that a Junior developer would not be expected to handle alone, right out of school, on a team.

Within each, the knowledge areas have been categorized into domains: UI Design & Interactivity, Frontend Servers, State Management, HTTP Request / Response, API Development, and Databases. These are somewhat loose domains meant to help you consider skills based on their main purpose.

Often the skills cross into multiple areas, so don't take this as a strict classification; placing a skill in one domain versus another doesn't mean that it precludes the others.

Of course, these are technical skills. There are additional nontechnical skills you'll need in order to excel, like teamwork, creativity, problem solving, pair programming, and estimation. Those are also left off at this point.

I'm excited to hear your feedback!

Foundational Skills

User Interface Design & Interactivity

HTML

CSS

JavaScript


Frontend Servers


Version Control


State Management

Global State

Local State


HTTP Request / Response


API Development

Backend Programming

API Servers

Database Interfaces

Routing


Databases

Database Schemas and Models

Data Manipulation

Queries and Mutations

Database Management Fundamentals


Additional Topics

Project Organization

Web architecture

Website hosting, delivery, and deployment

Software quality


Growth Skills

Generally, in most contexts, juniors will start working on support and some small contained features, with an increase in complexity as they acclimate and gain experience.

Some skills juniors will want to add in order to continue progressing include:


Getting the Skills

If you're an aspiring full stack developer interested in learning these skills, check out our guide to the best fullstack programs and learning resources.