Oracle "new or old reference not allowed in table level trigger"
You need a row before level trigger for that. 

And you don't need an update, just assign the new value:

create or replace trigger updshe
  BEFORE update of Shift_Start on Pharmacists
  FOR EACH ROW
begin
  :new.shift_end := to_number(:new.Shift_Start, '99') + 8;
end;
/