When a company has specific software requirements that off-the-shelf software cannot meet, it hires developers to create custom applications.