Reading the Frontend Developer role through the SFIA lens
Most frontend developer job descriptions these days look almost identical: "proficient in React", "team player", "comfortable under pressure". They list technologies, not competencies. After reading one, you still don't know what you're missing, and the employer has no fair way to compare two candidates side by side.
This post walks you through the Frontend Developer (Professional) job template on Verifolio — a competency profile built on SFIA 9 (Skills Framework for the Information Age), a widely used IT competency framework. The goal is to show you what's good about this approach, and to be honest about where it's still weak — so you can compare your own skills to the role with clear eyes, instead of trusting any framework blindly.
How SFIA differs from a normal JD
SFIA doesn't describe technologies ("knows React", "knows Docker"). It describes professional skills and the level of autonomy that goes with them — independent of any specific tool. Each skill has a 4-letter code (for example PROG, HCEV) and is split into 7 levels, from L1 to L7:
| Level | What it means |
|---|---|
| L1 — Follow | Follows specific instructions, under close supervision |
| L2 — Assist | Assists with work under supervision |
| L3 — Apply | Works autonomously within a defined scope, using known methods |
| L4 — Enable | Proactive, influences others, handles problems with no ready-made template |
| L5 — Ensure/Advise | Ensures quality, advises on strategy within the area |
| L6 — Initiate/Set | Sets direction and policy, accountable at organisational level |
| L7 — Set Strategy | Shapes strategy for the whole organisation or industry |
The key difference: two people can both "know software design (SWDN)" but at L3 and L4 they're telling two different stories — one can design a module from a given spec, the other can also review and steer the design of the whole team. A bullet-point JD can't capture that.
Inside the Frontend Developer (Professional) template
This template contains 12 SFIA skills, spread across 6 different categories — not just "writing code". That's the most interesting thing about it:
| Code | Skill | Category | Target level |
|---|---|---|---|
| PROG | Programming / software development | Development & implementation | L4 — Enable |
| HCEV | User experience design | Development & implementation | L4 — Enable |
| SWDN | Software design | Development & implementation | L3 — Apply |
| USEV | User experience evaluation | Development & implementation | L3 — Apply |
| INCA | Content design and authoring | Development & implementation | L3 — Apply |
| TEST | Functional testing | Development & implementation | L3 — Apply |
| SINT | Systems integration and build | Development & implementation | L3 — Apply |
| RELM | Release management | Delivery and operation | L3 — Apply |
| METL | Methods and tools | Strategy and architecture | L3 — Apply |
| REQM | Requirements definition and management | Change and transformation | L3 — Apply |
| RLMT | Stakeholder relationship management | Relationships and engagement | L3 — Apply |
| PDSV | Professional development | People and skills | L3 — Apply |
What's good: it describes a real "professional" frontend engineer, not just a component writer
Only 2 of the 12 skills sit at the Enable level (L4): PROG (programming) and HCEV (user experience design). That reflects the reality of the job — at the "Professional" tier (not junior, not yet staff/principal), a strong frontend developer is expected to be proactive about code and proactive about the user experience. The other skills (testing, release, system integration, requirements...) only need to be at the "can do it within a given scope" level (Apply).
Putting USEV (UX evaluation), INCA (content design), REQM (requirements management) and RLMT (stakeholder relationship management) into the same profile as PROG and TEST is a reasonable choice: it acknowledges that a professional frontend developer doesn't work in a technical vacuum — they need to understand users, coordinate with design and product, and talk to stakeholders to ship a feature from requirement to real users.
What traditional JDs can't do
A JD that says "3+ years of React, good communication skills" doesn't tell you: communication at what level (just reporting progress, or actively negotiating scope with stakeholders)? Testing to what extent (only manual testing, or designing a test strategy)? SFIA forces the answer to be specific, as an autonomy level that can actually be checked.
Looking honestly at the template's weak spots
No explicit security skill (SCTY)
Modern frontend faces real risks (XSS, CSRF, token handling, supply-chain issues from third-party libraries...). The current template has no dedicated SCTY line — which the DevOps and Backend Developer templates in the same set both have. This is a reasonable gap for an organisation to add themselves, rather than treating these 12 skills as a closed list.
12 skills is "enough to start", not "complete"
The system's own seed data notes these profiles are "intentionally concise (6-12 skills each) so users can extend them later" — i.e. this is a concise baseline to start from, not a complete competency description for every company. A team deep into performance, accessibility, or design systems should add the relevant skills themselves.
Target levels are a starting point for discussion, not absolute truth
Setting SWDN (Software design) at L3 rather than L4 can be debatable depending on company culture — some companies expect a professional frontend developer to already be reviewing others' designs (L4). The value of SFIA isn't that this number is "absolutely right", but that it gives a shared language to discuss and adjust expectations explicitly.
So where's the real value?
The value isn't in "these 12 numbers are 100% right for every company". The value is in:
- A shared language: "Enable" and "Apply" have fixed meanings, regardless of the mood of whoever wrote the JD that day.
- Comparable: You can put your own competency profile next to this template and compare line by line, instead of reading a vague paragraph and guessing.
- Extensible and customisable: Because each skill is an independent unit (SFIA code + level), an organisation can add, remove, or bump levels without rewriting the whole JD.
- Measurable progress over time: Going from L2 to L3 in
TESTis a concrete development goal, not vague like "improve your testing skills".
Run your own skills gap analysis
Reading an objective analysis is the first step. The next step is far more valuable: compare your actual skills against each line of this template yourself. On Verifolio, the process has 3 steps:
① Pick a template and read the details
See all 12 skills, the target levels, and the guidance for each level — exactly the table you just read above, which you can filter by the levels in use via the "Level legend".
② Self-assess
For each skill, you rate your current level based on work you've actually done — not a gut feeling of "I'm probably good at this".
③ Get your gap report and action plan
The system compares your current level with the target level for each skill, shows exactly what you're missing to be a real "Professional", and suggests a plan to close the gap.
When you run your own gap analysis, apply the same clear-eyed spirit this post used on the template: don't just accept the numbers the system gives you. Ask whether each level actually reflects the complexity of the work you do or will do, and add missing skills (like security) yourself if your target role demands them.
See the Frontend Developer (Professional) template and run your own gap analysis on Verifolio