web application developer roles and responsibilities