1) After spending so many years working in hospitals, one would expect the doctor to have retired.
2) After spending so many years working in hospitals, one would expect the doctor to retire.
Q1) Do they both mean the same?
1) The speaker expects that the doctor retired at some point in the past. 2) The speaker expects that the doctor is going to retire now or at some point in the future. Clive
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.
2) The speaker expects that the doctor is going to retire now or at some point in the future.
Clive
To me, the sentence says that it is 'one' who has spent years working in hospitals, not the doctor.
I read it as a mismatched modifier. It can be fixed in either of two ways:
After spending ..., the doctor would be expected ...
OR
After the doctor spent ..., one would expect him/her ...
I prefer the second.
As for the difference in meaning, I
Just because you expect someone to have retired doesn't necessarily mean that he has really retired; he might have retired and he might not. It's just your expectations at the end.
Unless you said the first sentence when you found out that the doctor really retired.
For example, since you were a child, you used to go to a hospital for an old and expert doctor. Then after many years