Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

There is a coworker who has stolen credit for my work. I created a system that will show live statuses of printing machines throughout the plant. There was one glitch in it so the coworker made an improvement and then re-wrote the entire system (copying 90% of my code, yet he added a new piece of hardware then took over the project).

Now he asks me programming questions from time to time. I don't mind teaching coworkers how to program, but since he has stolen my ideas and credit in the past I am reluctant to teach him all I know. Today he asks me for a particularly challenging algorithm for this system. His code now looks exactly like the way I would program!

How would you handle the situation? How can I decline helping him without appearing to not being a team player?

share|improve this question

closed as off-topic by MichaelT, user16764, thorsten müller, gnat, Kilian Foth Oct 17 '13 at 11:04

  • This question does not appear to be about software development within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

I solve this by focusing on working the problem and not being too concerned about status or credit. My other mitigations include not working with jerks whenever possible, and trying not to work too often at places that cultivate rock star culture or other forms of obsession with individual achievements. – JasonTrue Oct 17 '13 at 0:13
This question appears to be off-topic because it is about handling relationships with co-workers. – user16764 Oct 17 '13 at 0:29
@user16764: I didn't vote to close because this is specific to software development. While someone can certainly claim work as their own in other professions, it's difficult to "copy" work unless you're writing papers or something. – Robert Harvey Oct 17 '13 at 0:32
Not saying there isn't an issue, but if a developer came to me for help and then wrote the code directly as I described it. I would be happy because that means my description/explanation was clear enough that he didn't need to adjust or change anything. I would never expect him to put my name or some kind of attribution in any of the code he writes. We are all on the same team and you sharing knowledge makes the whole team benefit. Are you sure you are not being a bit too protective? Or does he actually go around explicitly announcing how he came up with those ideas? – DXM Oct 17 '13 at 2:25
This might be better suited for Workplace.SE – Lego Stormtroopr Oct 17 '13 at 2:35

I would speak to your immediate supervisor about it. Explain that it is your program, and your coworker copied 90% of your code, and then took credit for it. Tell him that you don't mind helping him out, but that his behavior makes you look bad. I think you will find that your supervisor is sympathetic; he probably already knows, and might even give you some advice about what to do. If his direction is to continue helping him out, that's what you do.

share|improve this answer

Imitation is the sincerest form of flattery. -- Charles Caleb Colton.

But then, what is Plagarism?

Plagarism is the sincerest form of flattery.

Software development, design and programming is a demanding creative enterprise, though often treated by unenlightened management as a tedious, repetitive labor, more akin to assembly line or factory work than art or engineering. Were you an author, and someone claimed your work, you would be protected by rules and laws against plagarism. But though the principle remains the same, society has yet to catch up with technology, and neither the offender nor the manager may even fully understand the offense.

But you need to understand your reaction, and whether you can, or should, do anything about the offense. Ask yourself, why do you develop software, why are you a programmer? Do you understand why you choose to work long hours, sit under flourescent lights at a (too small) desk (in a tiny cubicle) in front of a monitor, cloistered from human company? Is your answer, like mine, that you love to build software, that you enjoy the work, and you want to build amazing things that make people's lives better? Or is it that you want to advance in a career, earn money and accolades, and promotions? I think the answer to what action you should take is different, depending upon who you are.

You will often encounter people lacking in morals willing to claim your work as their own. They will take your ideas, claim them as yours, and even demean you as they take them from you. But you had those ideas, you are smart, and creative, you will have many more great ideas, and you will build more cool software.

You could choose to seek relief in management. Does your company have a version control system which logs your work, and the work of others. That would give you means to demonstrate to the offender and to management their dishonesty. Companies do not like it when employees demonstrate poor ethics, or toxic behavior such as dishonesty and claiming credit for the work of their colleagues. Actions like that damage the team culture most companies work hard to foster.

You could choose to interpret their emulation of your coding style, and their adoption of your work as flattery. Perhaps you could explain to the offender how you feel, and that might help them to realize what they have done. Maybe all you need is to be given credit for the contributions you have made, recognition for the work and the help you have been to your colleague?

You could choose option C, which is to look for an organization where people do not claim your work, nor feel the need to 'borrow' your work. Surround yourself with bright people and/or ethical people, who either have no need to take your work, or have the character to give you credit.

Elaborating, you can choose to take the high road, and be above the ignoble behavior, confront the behavior, or find another situation. And there are other reasonable approaches. But I would rather try to educate the offender, and help them to grow and be a better person. What you choose should fit your personality.

share|improve this answer

Do not decline to help others in same team.

Human behaviors are different and collisions are bound to happen, even as small as coffee mugs in the coffee room sink can create team-wide problem.

This question already has very comprehensive answers, so I just put here what I want to add;

  • A variety of details within that problem are very valuable to understand.

  • There is a way to solve this problem without turning into negativity. Remain positive, start from the neutral grounds.

So how would I do it?

Get everyone involved to talk together about it. Start with the thought that it is misunderstanding then direct the discussion to dig into the problem to find what in the workplace "politics"/"culture" is cultivating the possibility for such problem.

Thinking the immediate problem at hand as if it is a symptom, not the actual problem.


Its another topic to think which of these would be the job of a management and which "yours". (Edit: It is definitely management job to asses if your co-worker is intentionally doing this and handle the situation... But they can do their job only if the problem is becoming visible to them.)

share|improve this answer

Although it's probably going to be difficult I'd ignore the past transgressions and focus on the future. If you report your colleague it's likely to be your word against his, with little evidence.

Your main focus should be to stop things like that happening again. As ChuckCottrill said there should be a version control system in oplace which logs who submits what. If not, I'd push for management to put one in place. You don't even have to give copying work as a reason either since there are many other reasons why version control is important, even in a small team.

If this isn't a possibility you could try to encourage management/supervisors to take a more active role in what is being developed. From what you described no one knew which of you was working on what. Your supervisors should ideally know what everyone under them is doing on at least a daily basis. If nothing else, it stop two people from doing the same thing (which to some extent seems to have happened here). That way, if a similar thing happens management will know that you've been working on something while your colleague has been doing something else. Copying and claiming your work as their own will be a lot more difficult.

To answer your question:

How can I decline helping him without appearing to not being a team player?

I don't think you easily can. You could claim to be too busy but, judging by how underhanded he's been in the past, it's possible your colleague would use that against you.

Finally, it seems that your colleague is not a good person to work with. I would never advise anyone to quit a job but it's definitely something to consider. Even if there are mechanisms in place to stop him from stealing your work, you will still have to work alongside him.

share|improve this answer

Take them out to the parking lot and throw down...

Assuming violence is not an option then you can always just learn from this and see that more often than not your co-workers will be quite happy in bigger companies to take credit for anything which goes well regardless of if they were actively a part in it or not. So knowing that this is a frequent thing in a lot of places you have to ask yourself are you upset because YOU didn't get the credit for it, or because of the principle of him/her stealing credit.

If it is the former then you can just backstab them on the next project and get your time in the limelight, or just avoid letting other co-workers access your code (which I would deem a bad thing, see teamwork for more details).

If it is the latter then I agree other people should not take credit for something they themselves did not do, however this is not a clear cut scenario, you had a working system, from what you say he made it better using a large portion of your existing code base. Now if the management in your company are that forgetful that you wrote the original system, and cannot see that this other chap has just done some small improvements but was requiring your help for a lot of it then really you will be stuck in situations like this, and the issue is not really with the co-worker as such, it is with the culture of the company.

So without getting really off topic into workplace cultures or why you didn't make these improvements yourself in the first place, I would say that there is no good way for you to deal with this and you should forget about it and just look forward to the next big project.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.