I want to ask a twist to the popular question that was posted yesterday about the junior developer who refuses help.
Just some background...I recently graduated and have been working with my company for 6 months now as a junior. I am the lowest on the totem pole on my team, with the rest of the team consisting of two mid level developers, two seniors, and one technical director (who I report to and I guess is the best programmer on the team). I have been getting mostly low-risk maintenance assignments and tasks, which is expected and I have no problem with.
Soon, I will be tasked with developing an internal tool that will improve productivity with deployments and operations that is sorely needed here. In my Master's program I took classes on requirements elicitation and coming up with designs and use cases and all that, and feel that I would be okay there. The difficult thing I am facing is how to actually think about programming all of it in terms of how to abstract databases, creating data models, coming up with effective APIs, GUI design, and so forth. It is meant to have front-end and back-end components which I like, since I will develop great skills that way.
However I find myself nervous, because I don't want to screw this up. I am by no means a great programmer simply by natural talent, but I know it can be learned to some degree. I aspire to become a great engineer followed by management in my future, and I know I need guidance from senior people to get there.
Everyone on my team is swamped, and it's very hard to ask for advice without feeling like I am bothering them, and I feel useless sometimes. What is the best way to go about asking for advice without seeming like a complete noob, and doing it with enough tact as to not take away from the productivity of the team?