I am a senior-level developer in a large corporation in the US. Two of my co-workers on the same project work with me and sit in the same office, right by me. We'll call them Bob and Jim. They are both "mid-level" developers. Not senior, but also not junior. The rest are in other offices scattered around the country, including our boss, lead developer, and several other team members.
The project we work on has been around for 5 years, so a lot of our time is spent learning the ins and outs of the existing system and finding our way around the code to complete stories and fix bugs. I came in a week earlier than these other two guys, but basically we are all starting from the same place.
For whatever reason, I pick up things a bit more quickly than the other two, and helped them a lot early-on when they got stuck on a piece of code or with unfamiliar technology.
Both Bob and Jim needed a lot of help early on, but after a few months Bob has pretty much stopped asking anyone for help and seems to be doing fine without much assistance from me or anyone else.
Jim, on the other hand, is constantly sending me IM's, emails, Slack messages, or coming into my cube asking for help. This goes on all day long, every day I am in the office. If I don't answer an IM or email in 2 minutes, he is in my cube. When I do help him, if I don't solve his problem or I don't have the answer right away, sometimes he'll just stop working on that task.
Moreover, he makes the same mistakes over and over again on subjects that we have covered before, multiple times. I just can't understand. If he does manage to solve a problem, then he comes into my cube first and Bob's cube next to tell us the story of how the problem is solved.
While I'm happy to help from time to time, I'm constantly being interrupted by Jim in one way or another, which hurts my productivity and keeps me from getting "into the zone". I feel like Jim should have been here long enough by now to try and figure out things on his own. Bob and I certainly have. I also feel like I'm being taken advantage of by being too nice and willing to help and not being firm by saying 'No' sometimes. I've had a history of being toxic to co-workers at previous jobs and I'm trying my best to not do that here. I also have not discussed this with our boss either, because I'm trying really hard to build positive relationships with my team as a new member.
How can I discuss with him that he needs to
- A. Respect my time
- B. Try to put in the effort on his own first, before coming to me.
- C. Not "giving up" if someone else doesn't have an answer for his questions.
UPDATE: So far today, the "Don't give them the fish; teach them how to fish" method is working really well.