Actually,it should be classified into present perfect continous tense.As it refers to an present action that has lasted for a period of time.Consequently,it is necessary for you to portray the present perfect continous (has been/have been) before mentioning "for a long time".
I hope that the above guildline can be helpful to eliminate your enquiry.
Mary has been doing the same secretarial job for a very long time(since 2000)==she has been working since 2000. she has been reading S.C.M.P.means she has been activly reading. ,positively not passively.
Progressive present perfect tense her fruitful final result is affecting up to now
her state of job condition continues up to the present tense
she is still working
she has done nothing today
she had lost her job meaning she had lost her job.
呢個唔係被動式黎,has been 係p.p. 加doing p.p.continuous
成句係話tom 由以前到而家一直keep住做同樣既工作... 因為你job唔會起一瞬間做完,係要a period of time先得,咁所以就用has been doing ...
其實呢句同''i have done the .........'' 差唔多,只係起pp用左個continuous tense咁解
希望幫到你