Current role on the employee, history in its own table
Deriving the current department from the latest history row is the normalised answer and makes every employee listing an ordered scan per person. Keeping both makes the common read one column and the historical question a join. The obligation is that a change must write both in one transaction, or the employee row and their history will disagree about where they work.