As a junior engineer, I ask questions and ask for help a lot in general. However, I want to make sure I'm not annoying my teammates and being too big a burden. How can I do that? Is there something I can do to return the favor for those who helped me?
Ask them what their preferred engagement style is and do that. Otherwise you are not bothering them, you are doing your job, learning.
If they want to meet daily and pair with you on whatever you need, great. Email a digest of issues 3x per day and they’ll respond within Z minutes, otherwise DM? Neato. Post to the team chat with no one tagged, and if no response in X minutes, self-reply tagging your mentor, in Y more minutes tagging everyone? Sweet. Direct DM immediately and round robin team if mentor doesn’t respond? Perfect. If they say to contact them a particular way, you do, and they are bothered? That’s on them. If you don’t respect their preferences and walk to their desk (especially if it’s at their house) and nag them for 40 minutes without asking if it’s a good time in a non-disruptive medium first? That’s a bad time, and you should address it with them and your manager.
Be working on asking progressively better questions. I will edit this once I find the “hand holding” question, where Alex and I also addressed what good questions look like. It won’t be all at once, you won’t be a pro, but take a few weeks of bad questions and then really start timeboxed attempts at finding your own answers.
Remember that everyone has been in your place. Your job right now is to learn, your peers on the team’s job is to teach/help. You won’t be praised for taking much longer but not “bothering” anyone.