developer perspective