Victor Jeman Academy
Learning roadmap20 min

Strengthen your core technical understanding

Dedicate daily time to revisiting and truly understanding HTML, CSS, JavaScript, and front-end frameworks so you can explain them clearly in projects and interviews.

What You'll Learn

  • Adopt the mindset of choosing a few strong resources, not endless searching
  • Learn how to expand into specific areas when weak points appear
  • Use AI and interactive formats to test and reinforce your knowledge

Why core skills still matter

I've interviewed people with five or more years on their CV who can wire up a React feature in an afternoon. Then you ask how the browser decides what to focus next, or what the CSS box model actually does, and they freeze.

They ship. The features work. Then a junior asks "why does my button keep losing focus after the modal closes" and the senior reaches for a Stack Overflow tab instead of an answer.

Here's the thing: frameworks hide work for you. That's the whole point, and also the trap. The hidden work is still HTML, CSS, JavaScript, and a handful of browser APIs. The day something leaks (a hydration mismatch, a layout shift, a focus trap that doesn't trap) you have to know what's underneath.

This lesson is about that "underneath". Not memorising syntax, but building the mental model that lets you reason about what your framework is doing on your behalf.

Frameworks come and go, but core front-end skills are permanent. Mastering them sets you apart from developers who only know how to follow patterns.

Step 1: Pick your core resources

When I prepared for a new client project, I noticed I was opening fifteen tabs and finishing none of them. The internet has too much. Pick one resource per technology and stay with it long enough to actually finish.

Here's what I keep going back to:

These aren't the only options out there. They're the ones maintained by the people who built the platform, which means the explanations don't drift. They won't teach you every advanced trick. They'll confirm your foundation is sound, and that's the part that matters.

Don't shop for the perfect course. Pick one and finish it.

Step 2: Deepen when you find weak spots

You're reading about JavaScript promises and you notice you can't actually explain what Promise.all does when one of the inputs rejects. That's the moment. Stop scrolling. Go deeper on that one thing before moving on.

You don't need to cover every corner case in HTML or CSS. You do need to refuse to walk past the gaps you noticed. Walked-past gaps are the ones that show up in interviews.

AI is good for this if you stop using it as a search engine. Last week I caught myself hand-waving about React's useEffect cleanup in a code review. Here's the prompt I pasted into ChatGPT right after:

"I'm reviewing junior code. Show me three realistic useEffect mistakes a mid-level React dev makes around cleanup. For each one, write the broken hook, the bug it produces in the UI, and the corrected version. No theory, just the three diffs."

The answer surprised me on the second one (a subscription that re-subscribed on every render because the dependency was a freshly-created function). I'd seen that bug in PRs. I hadn't framed it that cleanly. That's the kind of prompt worth keeping in a notes file.

Step 3: Make it interactive

Reading the docs is the easy part. Reading and then assuming you've learned it is where most prep falls apart.

Last winter I sat down to refresh CSS Grid before a client interview. I'd used Grid for years. I "knew" Grid. Then I tried to rebuild the homepage of a news site I read every morning using nothing but grid-template-areas, and twenty minutes in I was Googling the difference between auto-fill and auto-fit like a junior. The mini-demo did in twenty minutes what a week of re-reading the spec hadn't done.

That's the move. Pick one concept you just read. Build the smallest possible thing that uses it. If you can't, that's your weak spot, named and located.

A few formats that work, depending on the day:

  • A short YouTube explainer from someone whose taste you trust (Kevin Powell for CSS, Theo or Lee Robinson for React, Wes Bos for plain JS).
  • A quick quiz: ask AI for "10 interview-style questions on the JavaScript event loop, with the answer hidden after each one so I can self-test".
  • The mini-demo above. Twenty minutes, one file, one concept.

Your preparation is not about memorizing everything. It's about being able to explain and apply the fundamentals in a clear, confident way.

If I had to do this again

I'd pick one resource per technology, finish it, and only let myself search for a second source when I hit a concept I couldn't explain to a junior in two sentences. That's the whole rule.

Here's the one I keep coming back to: the JavaScript event loop. I "understood" it for years in the textbook sense (call stack, microtasks, macrotasks, all the right words) and still couldn't explain why a Promise.resolve().then(...) ran before a setTimeout(..., 0) in a junior's PR. I had to sit down with one of Jake Archibald's talks, draw the queues on paper, and only then did the words match the picture in my head.

That's what fluency looks like. Not "I read about it." It's "I can draw it, and the drawing matches what the engine actually does." Aim for that on three or four core concepts before the next interview. You'll feel a different kind of calm walking in.

Additional Resources

There are countless free and paid resources out there. When I'm learning something completely new, I usually prefer a full course to guide me through. But when I want to refresh my memory on topics I already know, I turn to text-based resources. They're easier to scan, and I can also use them to interact with AI and create quick quizzes for practice. The resources in this lesson fall into that second category.

web.dev HTML

Documentation

Do you fully understand how metadata works, what semantic HTML really means, or how to ensure your app has proper element focus? HTML isn't rocket science, but it's the cornerstone of the web. Mastering the basics not only helps you build accessible, reliable applications but also gives you the foundation to appreciate and tackle the more complex parts of front-end development.

https://web.dev/learn/html

web.dev Accessibility

Documentation

The European Accessibility Act (EAA), effective from June 28, 2025, makes it mandatory for websites and digital products in the EU to be accessible to people with disabilities. That's all that needs to be said. Accessibility is no longer a "nice to have", honestly, it never was. But now it's crystal clear, front-end developers must have accessibility skills. It's not an afterthought, it's part of the job.

https://web.dev/learn/accessibility

web.dev CSS

Documentation

There are some critical CSS concepts that often come up in interviews, things like the box model, specificity, inheritance, grid, and a few others. I've been interviewing developers for years, and to my surprise, many can't properly explain or even understand how these fundamentals work. That's a shame, because if you don't have a solid grasp of CSS basics, it shows a big gap in your front-end foundation.

https://web.dev/learn/css

web.dev Responsive Design

Documentation

Responsive design is the natural next step once you've nailed the core CSS concepts. It is not just about throwing in a media query and calling it done. Often it means reorganizing the HTML, rethinking layout decisions, and sometimes pushing back to designers when the proposed design isn't technically feasible. The point is that the experience works well on different devices, not that things shrink to fit a smaller screen.

https://web.dev/learn/design

web.dev JavaScript

Documentation

JavaScript is easy and not so easy at the same time. For me, one of the hardest parts was using the right terms when explaining things. Even now, I sometimes struggle to clearly explain concepts I use daily because I don't always know the correct terms in English. And beyond syntax, there's a whole world to understand, the event loop, the V8 engine, the Web APIs. JavaScript can feel pretty intimidating at times, with its quirky and sometimes strange core functionalities.

https://web.dev/learn/javascript

web.dev Performance

Documentation

Performance is another hot topic, and surprisingly, not every developer can explain, at least in theory, what steps are needed to test and improve a front-end application. As a front-end developer, you're expected to know the basics, how to measure, what tools to use, and what strategies can help optimize both loading speed and runtime behavior. Even if you're not a performance specialist, being able to talk about these steps in an interview shows maturity and awareness of your craft.

https://web.dev/learn/performance

Patterns.dev

Documentation

From time to time, I like going back to vanilla JavaScript and building simple functionalities. It helps me refresh my memory of the core patterns that have shaped how we code in JS. When working with libraries like React, you mostly rely on other patterns, hooks, composition, and abstraction layers. But it's valuable for any developer to revisit the fundamentals. These classic patterns have stood the test of time, and relearning them sharpens your professional mindset and strengthens your foundation as a developer.

https://www.patterns.dev

React Official Docs

Documentation

The React official docs are a great resource for learning about React. They're written by the people who built React, so you know the explanations are solid.

https://react.dev/learn