This September, I will be going into the third year of my electrical & computer engineering degree. After first year, I applied for an internship at a local development company and was lucky enough to get the job. I did not misrepresent my skills on my resume, and I felt I gave my interviewers an accurate impression of what I was and was not capable of.
When I started working, I felt overwhelmed because there was so much I didn't know but needed to know to fulfill the responsibilities of my position. I felt like I was not qualified for the position, and had somehow "lucked out". But since I didn't want to just quit, I decided to learn the things I didn't know and get to that point where I felt like I was right for the position, as fast as I could. I was definitely a lot more qualified for the work at the end of my internship than at the start, but I still felt like I was unqualified on an absolute scale. I got a return offer though, and felt even guiltier, and decided not to take it.
Fast forward to this summer: new, bigger software company, same issues. My current manager and team are satisfied with my performance, but I am not. Even though I'm working hard to learn the things I don't know to get to a point where I don't feel guilty, results matter more than effort. Right now, I don't feel that the results I have produced are good enough.
I don't want to go through this sort of thing any more. What is the right thing to do in the future?