The following are the factors affecting job satisfaction: 1. Mentally Challenging Work 2. Personality-Job Fit 3. Equitable Rewards 4. Supportive Working Conditions 5. Supportive Colleagues 6. Whistle Blowing 7. Social Responsibility 8. Job Enrichment.