Learning how to think like a developer and implement a CRM