Responsibilities/tasks: Support existing and develop new functionality and components Understand existing product and domain elements and work with business analysts to refine and implement new requirements Refactor and improve the code to keep the product maintainable