On what occasion would you need to instantiate the Base Class Employee, and not one of the Derived Class?
When you need it. Without knowing your architecture requirements, design goals it is impossible to tell for sure: you designed class hierarchy, so you should know when to use those classes.
For example what if you need to enter temporary employee which is not a developer, administrator or secretary? What would you do?