Getting feedback is incredibly important but really difficult. In software development there are no hard and fast rules about what puts you in one level versus another AND it's different at every company. What skills do you have? Which ones do you need? How can you effectively gather the information and feedback you need to create a plan and keep moving forward?
Most folks generally get some feedback via code reviews which can be helpful but that's a whole different subject and post regarding how to get and give feedback on a code review. Regular reviews are also helpful if your company does them but because colleagues know that salary, raises, etc. are dependent on them, many are resistent to giving completely honest or blunt feedback (and for good reason). I find that a helpful way to get feedback is to check in monthly with the folks that you work with the most... both those with more and less experience than you have. You can ask these questions in a meeting or 1:1 OR email them in advance to teammates. I've done both styles before depending on the personalities of my teammates and what I think would work best.
For people with less experience:
- What do you like about working with me?
- Am I approachable when you have questions or are stuck?
- Am I a good pair? Do you feel our pairing sessions are productive and do you learn from them?
- What do you think is my best contribution to the team?
- Where do I hold the team back?
For people with more experience:
- What do you like about working with me?
- Where could I improve as a teammate?
- Where could I improve technically? and/or technically-speaking, what do you think I should know or be better at compared to other developers at my level of experience?
- What would you like to see me doing in 6 months? (ie- where should I be technically? contributing to the team more effectively, etc.)
- What do you think is my best contribution to the team?
- Where do I hold the team back?