I am also British, and I say there is no semantic difference between your answer for question 1 and your teacher's answer. Also, they both have valid grammar and as such they are both correct.

It's possible that in your teacher's variety of English his form is grammatically preferred over yours, but without a wider context to the phase it's hard to say.

The presence of the near demonstrative "this" gives the sense that the speaker is saying it while being in the workplace, perhaps while actually working. In that case, in British English, it sounds a little more awkward (though not incorrect) to use "have had this job". The most usual form in that situation would be "have been working here", but that's further from the original form of question 1, so maybe that's why you're teacher went with "have been in this job"

But really this is splitting hairs and your teacher shouldn't have marked you incorrect for "have had this job"


"=" as I use it here means very much the same, insignificant differences meaning-wise.

I have a job now = I am in a job now.

I have had this job since 2011 = I have been in this job since 2011.

"Have" is both a lexical verb (to possess, to hold) and a helper or auxiliary verb. In the present perfect example above, "had" is lexical. The verb "held" could be substituted for "had" there.

The verb "get" in your first example complicates matters, because we cannot use "get" with a temporal phrase expressing duration. You "get" things at a point in time. For the verb "get" to be used with duration, we must use the continuous "getting" or use a temporal phrase that means "after a certain point".

okI got hired.

not ok I got hired since January.
not ok I have gotten this job in January.

ok I have had an interview and am getting the job.

ok I have been getting job offers left and right ever since I read that self-help book called 1001 Ways to Improve Your Resume.

ok I have gotten job offers left and right after reading that self-help book called 1001 Ways to Improve Your Resume.