You cannot prevent social engineering entirely, so you need to work on damage limitation. Social engineering only works on people who have the privilege to do something, or know something important. If you remove the sensitive information and risky privileges, you massively reduce your security footprint.
What you're looking for is separation of duties, combined with proper authentication. That is, you give each user the absolute minimum privileges they need to do their job, but allow them to escalate a task or procedure to a superior that has the required privileges, or pass the operation onto an alternate department that has the required privilege. You also provide proper authentication mechanisms to enforce identity.
For example, in a bank you might give the call centre staff the ability to change your credit limit, but not the ability to flag a transaction as fraudulent. The fraud department would be able to flag a transaction, but not change your credit limit. Furthermore, the call centre staff could not approve a loan directly, but would be able to send the loan application to their manager, who can approve or reject the application. All access to the system should be enforced by a password and hardware token (e.g. swipe card, RSA Securekey, etc.) at minimum, so that identity is enforced and a chain of custody can be proven.
In order to access privileged locations (e.g. server room, or a login via SSH) you should require multi-factor authentication. Social engineering is effective at getting things you know, but nowhere near as effective at getting things you have or are. Use proper physical security and digital authentication that requires two-factor or three-factor authentication in order to gain access. In cases where a highly sensitive asset is being accessed, require multi-factor authentication from more than one employee.
On top of all of this, use audit logging everywhere. Every single change that a person makes should be logged, with appropriate measures taken to ensure that logs cannot be destroyed or falsified. This provides a way to identify problems, and leaves you with legal recourse should an employee do something malevolent.