Develops and implements software solutions, defining requirements, ensuring project delivery, and managing software development activities, including testing