User A has been granted Developer Role to which select any table, update any table system privileges have been granted.

Now user A is trying to compile a package which access user B's emp table for which a public synonym was created.

Compilation was failing with following error
PLS-00201: identifier 'EMP' must be declared.

I am trying to find out the reason.

Does user A need explicit SELECT ANY TABLE, UPDATE ANY TABLE System privilege granted to him eventhough he was granted them via DEVELOPER role

Please advise.