cover letter for software engineering internship with no experience 5 ways to develop critical thinking