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.
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.
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.
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.
The people in question do in fact use internet browsers on a daily basis.
That's good to hear.
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." ;)