software product manager job description