Many engineers, especially testers, ask me how they can grow their careers and how I know when they should be promoted. I've learned over the years that there are really three key focus areas that show that an engineer is growing. These are in addition to the standard skill set that all engineers need around technical excellence, critical thinking, communications, attention to details, and drive for results.
The first is Anticipating Problems. A junior engineer/college hire will run into obstacles while accomplishing tasks. When they are blocked, they will usually go to their lead or more experienced coworkers and ask for help to get unblocked. As the engineer gains more experience, when they get blocked, they can come up with a few different solutions to get unblocked but are unsure which option to choose. When a tester goes to their lead with a multiple choice answer, that's a good sign that the engineer is growing in this area. Eventually, the engineer will approach the lead in a different way, not with multiple choices, but with one choice - the one they believe is the best option to getting unblocked. At this point, all the engineer needs is confirmation from the manager that this is a good solution. But growth in this area isn't complete yet. The next step is that the engineer will come to the lead stating what the blocking issue was, what solution they came up with, and that they have already implemented the solution and are no longer blocked. The engineer is confident enough to not need confirmation from the lead. Finally, the engineer has experienced getting blocked in a certain way so many times that they don't need to come up with solutions to be unblocked. Instead, before the problem even presents itself, the engineer is working through ways to prevent it and the blocking issue never occurs.
The second focus area is Long-term planning. A junior engineer or new hire will typically be focused on the tasks for the current day. Their preparation and planning is to make sure that work gets done within that day. With more experience, they can plan tasks for a longer horizon such as a week or month, and eventually multiple months. This focus area is very much related to the next one about scope because as the engineer works with a longer horizon in mind, they can impact whole project teams. Since projects get done within months or years, as the engineer's long-term planning is within that same period, they can plan out their work and potentially other engineers' work for that whole time. Managers need to be planning out not just for the next product cycle but the one after that. That is why many higher-level managers do 3-year plans. They have mastered this skill more than most.
The third focus area is Scope. A junior engineer typically works within the scope of their day-to-day tasks which for testing may involve finding bugs, writing test cases, and automating. Their scope is focused on one person, themselves, and the testing tasks they have to complete for their features.. As they grow, the size of the group that they impact grows as they do their work. Usually this grows to the feature team which may also include their devs. They review dev specs and do more code reviews, and potentially as they write automation, they think about how others could use it and make the code more modular and ready for reuse. As the engineer matures and the scope grows, they impact a whole project or product team. Their opinions are sought out. Finally, as they do their work or develop new opinions, they communicate these broadly beyond their project or product team to multiple product teams or a whole division. The true final step to have the widest possible scope in a role is to impact the company you work for. Each step along the way to broadening scope involves growing confidence, knowledge/experience, and communications skills.