I don't know what an expert designer is.
And I'm not sure I know what an expert tester is.
I've been at it for almost 20 years - am I an expert? (shrug)
I do know that I still learn something almost every day.
Perhaps I'm a slow learner, and some day in the future I'll say to myself "today I am an expert".
Perhaps I'll never become an expert, lacking tha talent or drive (or that key Certification exam).
Or perhaps I'm already an expert and just don't know it.
Some labels (like "expert"?) are best bestowed by others.
Couldn't agree more with that, just working in software testing for 10 years won't make you an expert. That desire to almost have it as a hobby that's seperate from who happens to be employing you at that time is key.
My assessment, for QA/Testing the skill balance is 50-25-25 where
50% is soft skills (QA methodology and practices),
25% is hard/soft skills (business/application specific knowledge),
25% is hard skills (technical skills).
So it might take 5-8 years (my estimate for an average after-college person) to become Sr. QA Analyst / Tester, where gaining soft skills would take 5-6 years within it, gaining business knowledge would require 2-3 years, and gaining technical skills would require 2-3 years also.
However, technical knowledge quickly becomes outdated. Whether it's migration from Windows Desktop to Web-based platform, or from one defect tracking tool to another, a new learning curve comes.
And, transfering to another business area brings business knowledge down.
* Expert knowledge is informal
Knowing how to do doesn't mean capable to explain it.
Probably here comes "guru" - an expert capable to mentor.
I second the suggestion to check out Malcolm Gladwell's "outliers." He agrees on the 10 years figure, but suggests 20 hours a week, 50 weeks a year, for a total of 10,000 hours.
It's interesting that in testing, we have a lot of people who do testing, and perhaps do it well, in one specific environment, for a year or two, then go on to become "experts" who recommend that "everone do it just like me."
Because, after all, we all know the testing strategies that work well for web-based software must obviously translate well into embedded avionics. (Sure. And monkeys might fly out my ... you get the point.)
My personal take on it is: Never, ever, /ever/ describe yourself as an expert. 'Expert' is a value judgement. Let other people make that judgement. If you have to, you can point to your experience, "EG I've been working in technology products with a focus on testing for my entire adult life." - but try to show, don't tell.
As for having a goal of being recognized as an expert by learning, applying, and doing cool stuff, sure, that's a nice goal. I'd say it takes two or three years to know what will work at company X. Being able to walk into a company, observe what people are actually doing, hear a suggestion for an "improvement" and accurately predict how it will turn out? Well, that's one /kind/ of expertise, and I'd say, yes, 10 year is probably right.
My humble taught and request, if you want to be a expert spend atleat 1:30 hrs in reading testing articles, blogs of experts, books. Then try to apply what you studied in real time if you are working. Then find out actual results if you failed then try for one more time.
Time+Knowledge+ talent+ Hardwork= EXPERT.
you will be a expert.