So, I just started an internship, and I'm worried that I'm asking too many questions.  My mentor assigns me projects and helps me learn all the company's technologies and methodologies.  However, there's so much new material for me to learn while doing this project that I have a lot of questions.  I generally ask questions over instant messages or E-mail (those are the primary modes of communication for my company).

I'm trying to be careful not to ask too many questions: I don't want to come off as annoying or dumb.  How many questions are appropriate to ask?  Once an hour?  More?  Less?  Keep in mind, my mentor is also a fellow programmer who has his own responsibilities.

Be respectful of your mentor's time by keeping a list of questions and asking them in batches, to the extent possible. Don't actually interrupt your mentor until you literally cannot make any forward progress without help.

A lot of times you'll learn a lot by struggling to find the answer yourself, even in cases where your mentor can teach you something in 10 seconds. For example, if you want to know where something is in the code, you can ask them (10 seconds), or you can spend four hours studying the code and trying to figure it out yourself. The advantage of the "four hour" option is that you will actually be learning 200 new things about the code, all of which will help you later on. Struggling to find your own answers can be a waste of time, but it can also be a way to learn a big complicated code base.

Needless to say if it's a programming question that doesn't concern your company's own proprietary code, you should try to figure it out yourself using the internet.
