by ammi1378 on 5/24/24, 10:15 PM with 4 comments
In addition to mentoring, I will be documenting the entire process, including our progress, challenges, and successes. This documentation will be shared publicly in case others find it helpful or inspiring for their own learning journeys.
I appreciate your comments, ideas, and constructive criticism. Your feedback will be valuable in refining this roadmap and improving the mentoring experience for my students.
by codingdave on 5/25/24, 5:04 PM
by solardev on 5/25/24, 3:49 PM
That said, are you going to spend roughly the same amount of time on each chapter? How long is the course overall?
I worry that the curriculum might dwell too much on history instead of current practices. I know some of the old guard here might disagree with this, but in my experience, things like semantic HTML and JS DOM manipulations are no longer really used much in many frontend jobs (unless you're a framework developer). It's all React or at least something like Svelte, Vue, Astro, etc. (Personally I'd reach for MUI + React). It's all components plus styling now, not so much DOM.
To me this is a matter of hireability (if they want to be a frontend specialist, as opposed to a generalist programmer with some web awareness, or a full stack dev in a full stack web framework that still does server-side rendering). Someone who knows HTML and CSS in depth but not enough JS wouldn't really be hireable in a frontend role. It's hard enough right now for any junior, much less someone who learned the technologies of the 2000s but not the current era. I'd probably spend only maybe 15% to 20% of the curriculum time on the historical background stuff and the rest of it on modern practices.
Companies expect you to be able to take a modern codebase and jump right in to start adding features or fixing bugs, and what that needs is a lot of working experience in React and Next or similar, and lots of time working through custom hooks, props propagation, state management, client server sync and optimistic updates, error handling, etc.
That's a lot to learn and practice and not something to squeeze in at the end of a crammed curriculum. Instead I'd probably use a lot of examples and exercises that represent real-world situations and gloss over most of the ideology stuff. Like discuss the basics of accessibility, sure, but then jump right into "div soup with aria tags" and make them practice with real screen reader software. Or instead of documenting every CSS flexbox and grid oddity, have them try to make a gallery, but it doesn't have to be by hand (encourage real world libs), but add in things like sorting, filtering, and pagination. Real world problems, not purity of code.
The industry has overwhelmingly moved away from the old basic DOM model that HTML was designed around, and it's all about the JS components and their interactions these days. I'd emphasize that more than "properness" or code purity because that's where the business value is (and where the jobs are, or at least used to be before 2023-2024).
----------
Seperate from the JS component thoughts, I think it's also really essential for frontend devs to have some working UX knowledge. LinkedIn Learning has good courses for that if you want to steal some ideas, or just browse through recent NN UX articles.
Not only should they understand the basic thought process behind personas and flows, etc., they shoild have experience taking a Figma file and converting it into functional components, reusing values (like SVGs and colors and CSS) from the file wherever possible. A discussion about modern UI concerns (responsiveness, performance, loading states, error states, progress states, optimistic updates, lazy loading, etc.) from the user's point of view would be helpful too, and a good complement to component code in the framework (ie this is what they see and why, this is how it's coded, this is how the state is managed and shared).
---------
Lastly, I would be amiss to not point this out: Even learning all of this (which is a lot) wouldn't really guarantee easy job placement anymore. They'd just join the breadlines with the rest of us. It's a bit better now than last year but still pretty brutal.
Maybe some discussion with your student about business stuff like tech industry cycles, startups vs corporations, chasing fads, unionization, unemployment, interview practices, resume reviews, portfolio creation, etc. would be good too. Don't give them the impression that they'll easily find a job after the course. It's hard work, often harder than actually learning the code, I think.
Good luck! Thanks for putting together a good course.