The main functions involve proposing technical and functional improvements for the product, designing and implementing necessary components for new features, and ensuring code quality and cleanliness during development. Responsibilities also include participating in a SCRUM environment with structured refinements and planning, and collaborating with multidisciplinary teams.