短期集中講座!TOEIC TEST 英文法問題集P47

【質問】
短期集中講座!TOEIC TEST 英文法問題集P47 128番
ここで for three years とあるように、期間を表す語句が使われているのに、なぜhave workedにならないのでしょうか?
 
【回答】
have workedだと今現在も働いていることになり、この場合は、大学を卒業してから3年間働いたということを伝えたい文章なので、過去になっています。
forは現在完了にしか使えないわけではありません。