At Curricular, my team and I spend hours researching, reviewing, and recommending the best ways to learn development skills. You can check out our learning guides at curricular.dev
As part of our research, we decided to compile a list of the skill areas that are needed to work professionally as a Frontend Developer, independent of frameworks or tooling.
And now I'd like your feedback.
About the List of Essential Skills for Junior Frontend 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 front end developers understand which technical skills are most important to prioritize, in order to excel as a Frontend 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 Frontend 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: Data, Rendering, and Organization. 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. For example, hydration involves both data and rendering thereof.
Again, the list is framework and tool agnostic, so you won't see things like CSS, JavaScript, React on it. Instead, we're trying to get at the techniques and responsibilities within the stack that will be necessary regardless of the languages, frameworks and tools.
And 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!
Essential Skills for Junior Front End Developers
Foundational Skills
Data
- HTTP Requests
- Data Manipulation
- State Management
- Events
- User Input
- Metadata
- Error Handling
Rendering
- Routing
- Hydration
- DOM Manipulation
- Images
- Page Styling
- Responsive Layout
Organization
- Code organization
- File structure
- Code readability
- DRY Code
- 3rd-party libraries
- Testing
- Documentation
- Version Control
- Code debugging
Growth Skills
Data
- Authentication and Authorization
- Security
- Transport Protocols
- Search Engine Optimization
- Times and Dates
- Local Storage
Rendering
- Multimedia
- Web Accessibility (A11y)
- Performance
- Animations
Organization
- Project Infrastructure
- Project management
- Deployment
What Do You Think?
Have we missed anything critical that you'd expect from a junior frontend developer? Are there any skills on this list that you're surprised about? Or confused about? Let me know in the comments.
Top comments (4)
Be prepared to accept wisdom from your seniors, but question everything :)
On the data side, REALLY understand 3rd Normal Form for RDBMS databases and always apply best practice with data types, naming conventions, primary keys, defaults, foreign key constraints. It is tempting to skip these in a Proof of Concept but retro-fitting database schemas is one of the hardest things you can do so getting it right in the first place is a massive payoff.
I'd say patience and discipline to not get burned out. Also getting enjoyment from learning, make it fun, it's easier to learn.
Very true. I would say patience and a passion for learning fit in Foundational skills. and discipline to avoid burnout would fit in Growth skills, as I wouldn't expect someone just starting out in development to be fully able to self-manage to avoid burnout (even Senior devs struggle with this).
Great to see Accessibility and Performance on the list, two underrated but very important skills for Junior Developers