It is really hard for me to distinguish the differences between the two. A lot of job postings for junior level developer roles often given descriptions and requirements that are quite elaborate, and I have seen mid level developer roles with descriptions less dense than junior level roles. How does one ascertain key differences between the two levels?
I have no friggin’ clue and I’ve been one of those for years (although I get recruiters reaching out to me about senior dev positions, so it gets even wonkier). It seems to be arbitrary and largely meaningless. I really wouldn’t give yourself any grey hairs worrying about it.
A mid-level developer is more experienced and/or skilled than junior-level, but it’s always a relative scale: how much more experienced or skilled they mean is entirely up to the organization giving those titles. Typically they correspond to pay scales. A non-junior developer may also be expected to take lead or supervisory roles in a project, such as signing off on code reviews.
Generally I see it as this: Junior - means your gonna need hand holding, mid-means less hand holding, maybe given one or two projects to work on right away, senior = THROW THIS CRAZY PROJECT AT THEM AND SEE WHAT HAPPENS.
If you have to ask, you’re a junior.