Learn English – “have been working” vs. “have worked”

present-perfectprogressive-aspect

What is the difference between the following two sentences?

  1. I have been working here for 20 years.
  2. I have worked here for 20 years.

The present perfect tense is used for repetitive or constant actions that began in the past and continue to the present. The perfect progressive tense is used for continuous actions that began in the past and continue to the present. But I really don't see the difference here.

Best Answer

During my English course I was told that the present perfect tense and the present perfect continuous tense can be used interchangeably in many situations, and it appears to be one of them. However, there is a subtle difference: #1 focuses more on the very activity of working, whereas #2 concentrates on the state (i.e. a job). Therefore, it would probably be more justified to use #1 when talking about a person who carries the same task on and on, endlessly (the Danaides? Sisyphus?); and #2 is somewhat closer to "I have been employed here for 20 years." Still, I am not a native speaker of English ang my arguments may prove wrong.