Peter has been working as a developer for 4 years. Calvin has been working as a developer for 2 years.
Calvin earns the same money as Peter, why? It seems Peter didn't put in as much effort as Calvin did. Even more, Calvin learned what Peter knows, for half the amount Peter did.
You can see where I'm going with this. For me personally work experience does NOT matter.
What makes a junior developer? A junior developer knows enough to get things done. If there's a more complex task, there is a big chance he will require advice or help.
What makes a mid-level developer? A mid-level developer knows enough to get things done in a more sophisticated manner - compared to junior developers which use the same hammer for every nail, the mid-level developer utilizes different technologies for different purposes. He is not proficient, but he understands the need for different strategies.
I'm on the brink of becoming a mid-level developer. I used to tackle all of my problems with the tools I know, because I was unsure in my knowledge. Now I understand the difference. When given a more complex task, I will research what's the best way to do it, consult with senior developers and ultimately implement a solution. I'm not an expert so this is my opinion, but you sound like you are in the exact same shoes. A rising mid-level developer, but a mid-level developer non the less. Worked hard to get here as I'm sure you did. I heard this in a songs lyrics, but I use it as a motto in life - "I used to get what I'm given, now I only get what I'm worth".