First of all, let me say that I have read How should I handle an incompetent coworker?, How to deal with an incompetent colleague? and How to deal with relatively technically incompetent coworker?, but my question is slightly different.
I am a software engineer working for a large size outsourcing company in Europe. Right now, in the project I´m working on, we are 2 software engineers: my incompetent coworker (let's call him Bob), and myself. What I mean by incompetent is that he barely reaches the deadlines, asks rookie questions during client meetings, and has almost no experience with programming. I do not exaggerate if I say that I am responsible for 80%+ of the whole work of the project.
When dealing with Bob I have always been there to help him with whatever he needs. I always solve his coding errors, show him which libraries are helpful in any specific case, and teach him all he needs to know to fulfill his tasks. I´m taking this approach for 2 reasons: 1) I don´t want to be an asshole. 2) If the overall project due date is compromised, somehow can also be seen as my fault.
Also since Bob´s tasks are very similar to mine, he is used to copying the roadmap I use in my day-to-day tasks (or even whole pieces of code), which doesn´t really matter to me. But what really drives me mad is that, in our daily meetings with our boss, he never gives any credit for my help when solving his issues.
I believe that our boss has noticed his underperformance since he usually tells Bob "to ask me for advice" and he gets assigned the easy tasks, while the challenging ones are always on my side.
We are about to hit our yearly payment raise, and all I care about is making sure that my boss notices that I am the one leading the project so I can get the best raise possible (since we work on the same project I assume that we are somehow "fighting" for it). Therefore my questions are:
- What is the best way to make sure that our boss gets the best impression of me so I can get the best possible raise? (not when having our yearly promotion meeting but on a day-to-day basis instead).
- If I don´t help Bob anymore my work on the project will shine brighter, but can this backfire on me? I´m afraid to be seen as a worker who doesn´t play as a team.
- Should I help him just a little to make sure that he doesn´t steal too much time and still be seen as a team player?
I have always avoided to point his mistakes and focus on all I have done to help him. Should I keep doing this or should I take a different approach? For example, stop helping Bob at all so the work I do is taken more into consideration.
Let me say that I like my job and the company where I work. I do not consider changing companies, I want to learn how to deal with Bob, and most importantly, get the best salary raise I can.