If I was going to teach a backend web framework (like Django, Rails, etc) my (unequally sized) lessons would be:

1. The request-response process
2. HTML
3. Basic CSS
4. Basic client side JavaScript (optional)
5. The backend language (Python, Ruby, etc)
6. The framework itself

The number of people learning Django (or whatever) and having zero understanding of HTML is amazing.

@philgyford Ancient tradition dictates that server-side devs must turn their noses up at lowly HTML/CSS while doing it really badly themselves
@mattround It is both too simple to be concerned with and yet somehow too difficult to do correctly!

@philgyford @mattround Writing dynamic HTML in a templating language with layouts and helpers is very different from writing it yourself. That doesn't excuse not putting in the reps to learn it (and you can of course save yourself So. Much. Work. by learning to write HTML properly), but it's understandable that the prerequisite gets short shrift.

Reminds me a bit of conversations that used to happen around learning assembly (which I say as someone who can't do assembly 😅).