I have interviewed two "senior web developers" with "10+ years" of experience that were unable to tell me the difference between a 404 and 500 http response code. Of course, they had perfectly memorized answers about JavaScript closures.
who memorizes http response codes?
Who can't tell the difference between a 404 and a 500?
Somebody who rarely instructs a user agent to make requests to a server.
The people in question do in fact use internet browsers on a daily basis.
That's good to hear.
So, basically, somebody who never uses a web browser? 404 and 500 should be familiar just from browsing the web for more than a few weeks.
Modern browsers seem to do quite a bit to insulate users from error status codes in their default configurations.
This isn't entirely accurate. I told my RN Fiance this story and she said "oh 404, that's like... page not found or something isn't it?" She has zero programming experience.
Programmers who want their REST API to return correct http response codes. I have a good many of them memorized by now. :(
...someday I'll find an excuse to return a 418.
Bah! Just always return 200 and if there's an error, make your users look for an error property in the json return value that contains a thoroughly unhelpful error message, like "I'm a teapot." ;)
Presumably, programmers who are working with the web should have a passing familiarity with the most common categories; this isn't memorizing all of them, but being able to recognize the significance of 2xx vs 3xx vs 4xx vs 5xx codes isn't an unreasonable expectation.
Web developers spend most of their time in javascript - coding fronted where closures and functional programming matters a lot. Maintennable modern fronted is done that way.
They spend very little time staring at http error codes. Like, none.
Web development includes server-side, and that API the fancy JS code is interfacing with.
Node.js is javascript too :). Even there, error codes are something you maybe handle once when the project is setup and the rest of the time you deal with everything else.