What are the roles and responsibilities of front end developer