problem solving skills in software development biography research paper